EEmcGeomSimple Class Reference

EEMC simple geometry. More...

Inheritance diagram for EEmcGeomSimple:

EEmcTTDisplay

List of all members.

Public Types

enum  Chiral_t { CounterClockwise = -1, Clockwise = 1, Undefined = 0 }
 chirality defined

Public Member Functions

 EEmcGeomSimple ()
 default constructor
virtual ~EEmcGeomSimple ()
 the destructor
TVector3 getTowerCenter (const UInt_t sec, const UInt_t sub, const UInt_t etabin) const
TVector3 getDirection (const Float_t detaBin, const Float_t dphiBin) const
bool getTower (const TVector3 &r, int &sec, int &sub, int &etabin, Float_t &dphi, Float_t &deta) const
bool getTower (const TVector3 &r, int &sec, int &sub, int &etabin) const
const Float_t * getEtaBinRangeArray () const
Float_t getZ1 () const
 gets lower Z edge of EEMC (preshower)
Float_t getZ2 () const
 gets upper Z edge of EEMC (postshower)
Float_t getZSMD () const
 gets z-depth of the SMD layer in EEMC
Float_t getEtaMin () const
 gets lower eta limit
Float_t getEtaMax () const
 gets upper eta bound
Float_t getEtaMean (UInt_t eta) const
Float_t getEtaHalfWidth (UInt_t eta) const
Float_t getPhiMean (UInt_t sec) const
Float_t getPhiMean (UInt_t sec, UInt_t ssec) const
Float_t getPhiHalfWidth (UInt_t sec=0, UInt_t ssec=0) const
Float_t getZMean () const
 returns the center of EEMC in z direction
Float_t getZHalfWidth () const
 returns the half-width of EEMC (in z-direction)
Int_t getNumberOfEtas () const
 gets number of tiles (eta bins)
Int_t getNumberOfSectors () const
 gets number of sectors
Int_t getNumberOfSubSectors () const
 gets number of subsectors
Float_t getPhi0 () const
Bool_t isClockwise () const
 is endcap labeling clockwise?
Bool_t isCounterClockwise () const
 is endcap labeling clockwise?

Static Public Member Functions

static EEmcGeomSimpleInstance ()
 returns a reference to a static instance of EEmcGeomSimple

Protected Member Functions

void useDefaultGeometry ()

Static Protected Member Functions

static double AdjustAngle (double alpha)

Protected Attributes

Float_t mZ1
Float_t mZ2
Float_t mZSMD
Float_t * mEtaBin
UInt_t mNumEta
UInt_t mNumSec
UInt_t mNumSSec
Double_t mPhi0
Chiral_t mClock


Detailed Description

EEMC simple geometry.

Author:
Piotr A. Zolnierczuk, Indiana University Cyclotron Facility
Date:
Jan 14, 2003 doxygen info here

Definition at line 22 of file EEmcGeomSimple.h.


Member Function Documentation

TVector3 EEmcGeomSimple::getDirection ( const Float_t  detaBin,
const Float_t  dphiBin 
) const

gets 'direction' vector from (0,0,0) toward a point on EEMC. detaBin is defined from [-0.5,11.5). [-0.5,0.5) returns a point within etabin 1, [0.5,1.5) within etabin 2, etc... dphiBin is defined similarly.

Parameters:
detaBin [-0.5,11.5)
dphiBin [-0.5,59.5)
Returns:
direction as TVector3

Definition at line 125 of file EEmcGeomSimple.cxx.

References getEtaHalfWidth(), getEtaMean(), getPhiHalfWidth(), getPhiMean(), and getZMean().

Float_t EEmcGeomSimple::getEtaHalfWidth ( UInt_t  eta  )  const [inline]

returns the "half-width" of a tile (eta bin)

Parameters:
eta tile index (eta bin) [0,mNumEta)

Definition at line 96 of file EEmcGeomSimple.h.

Referenced by StuDraw3DMuEvent::Endcaps(), getDirection(), getTower(), EEmcTTMMaker::Make(), and StMuEEDemoMaker::Make().

Float_t EEmcGeomSimple::getEtaMean ( UInt_t  eta  )  const [inline]

returns the "mean" value of a tile (eta bin)

Parameters:
eta tile index (eta bin) [0,mNumEta)

Definition at line 85 of file EEmcGeomSimple.h.

Referenced by StuDraw3DMuEvent::Endcaps(), getDirection(), getTower(), getTowerCenter(), EEmcTTMMaker::Make(), and StMuEEDemoMaker::Make().

Float_t EEmcGeomSimple::getPhi0 (  )  const [inline]

gets azimuthal angle of the edge of first sector (index 0) the edge is 'upper' for counter-clockwise, and 'lower' for clockwise indexing

Definition at line 171 of file EEmcGeomSimple.h.

Float_t EEmcGeomSimple::getPhiHalfWidth ( UInt_t  sec = 0,
UInt_t  ssec = 0 
) const [inline]

returns the half-width (in phi) of a subsector

Parameters:
sec sector index [0,mNumSec )
ssec subsector index [0,mNumSSec)

Definition at line 138 of file EEmcGeomSimple.h.

Referenced by StuDraw3DMuEvent::Endcaps(), getDirection(), getTower(), EEmcTTMMaker::Make(), and StMuEEDemoMaker::Make().

Float_t EEmcGeomSimple::getPhiMean ( UInt_t  sec,
UInt_t  ssec 
) const [inline]

returns the center value of phi for a subsector

Parameters:
sec sector index [0,mNumSec )
ssec subsector index [0,mNumSSec)

Definition at line 121 of file EEmcGeomSimple.h.

Float_t EEmcGeomSimple::getPhiMean ( UInt_t  sec  )  const [inline]

returns the center value of phi for a given sector

Parameters:
sec sector index [0,mNumSec)

Definition at line 107 of file EEmcGeomSimple.h.

Referenced by StuDraw3DMuEvent::Endcaps(), getDirection(), getTower(), getTowerCenter(), EEmcTTMMaker::Make(), and StMuEEDemoMaker::Make().

bool EEmcGeomSimple::getTower ( const TVector3 &  r,
int &  sec,
int &  sub,
int &  etabin 
) const [inline]

gets tower ID given 'direction' vector r (only eta and phi are relevant, z is ignored)

Parameters:
r - direction vecrot
sec sector index [0,mNumSec )
sub subsector index [0,mNumSSec)
etabin tile/eta index [0,mNumEta )
Returns:
true if r points toward a tower and false if does not

Definition at line 65 of file EEmcGeomSimple.h.

References getTower().

bool EEmcGeomSimple::getTower ( const TVector3 &  r,
int &  sec,
int &  sub,
int &  etabin,
Float_t &  dphi,
Float_t &  deta 
) const

gets tower ID given 'direction' vector r (only eta and phi are relevant, z is ignored)

Parameters:
r - direction vecrot
sec sector index [0,mNumSec )
sub subsector index [0,mNumSSec)
etabin tile/eta index [0,mNumEta )
dphi fractional distance from the tower center in units of phiHW=getPhiHalfWidth(sec,sub)
deta fractional distance from the tower center in units of etaHW=getEtaHalfWidth(etabin)
Returns:
true if r points toward a tower and false if does not

Definition at line 159 of file EEmcGeomSimple.cxx.

References getEtaHalfWidth(), getEtaMean(), getPhiHalfWidth(), getPhiMean(), and isClockwise().

Referenced by StEEmcPointMaker::buildSmdPoints(), StEEmcIUPointMaker::buildSmdPoints(), StEEmcMixMaker::fillPool(), StEEmcIUMixMaker::fillPool(), StEEmcPointMaker::fracp2t(), StEEmcIUPointMaker::fracp2t(), getTower(), and StEEmcA2EMaker::tower().

TVector3 EEmcGeomSimple::getTowerCenter ( const UInt_t  sec,
const UInt_t  sub,
const UInt_t  etabin 
) const

gets EEMC tower center given sector,subsector and eta indices (0-offset)

Parameters:
sec sector index [0,mNumSec )
sub subsector index [0,mNumSSec)
etabin tile/eta index [0,mNumEta )
Returns:
tower center as TVector3

Definition at line 104 of file EEmcGeomSimple.cxx.

References getEtaMean(), getPhiMean(), and getZMean().

Referenced by StEEmcCluster::add(), StEEmcIUClusterMaker::buildTowerClusters(), StEEmcClusterMaker::buildTowerClusters(), and StEEmcTower::direction().


The documentation for this class was generated from the following files:

Generated on Fri Feb 10 04:27:55 2012 for StRoot by  doxygen 1.5.9