StRoot
1
|
EEMC simple geometry. More...
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 EEmcGeomSimple & | Instance () |
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 |
EEMC simple geometry.
Definition at line 22 of file EEmcGeomSimple.h.
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.
detaBin | [-0.5,11.5) |
dphiBin | [-0.5,59.5) |
Definition at line 125 of file EEmcGeomSimple.cxx.
References getEtaHalfWidth(), getEtaMean(), getPhiHalfWidth(), getPhiMean(), and getZMean().
|
inline |
returns the "half-width" of a tile (eta bin)
eta | tile index (eta bin) [0,mNumEta) |
Definition at line 96 of file EEmcGeomSimple.h.
Referenced by StuDraw3DMuEvent::Endcaps(), getDirection(), getTower(), StMuEEDemoMaker::Make(), and EEmcTTMMaker::Make().
|
inline |
returns the "mean" value of a tile (eta bin)
eta | tile index (eta bin) [0,mNumEta) |
Definition at line 85 of file EEmcGeomSimple.h.
Referenced by StuDraw3DMuEvent::Endcaps(), getDirection(), getTower(), getTowerCenter(), StMuEEDemoMaker::Make(), and EEmcTTMMaker::Make().
|
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.
|
inline |
returns the half-width (in phi) of a subsector
sec | sector index [0,mNumSec ) |
ssec | subsector index [0,mNumSSec) |
Definition at line 138 of file EEmcGeomSimple.h.
Referenced by StuDraw3DMuEvent::Endcaps(), getDirection(), getTower(), StMuEEDemoMaker::Make(), and EEmcTTMMaker::Make().
|
inline |
returns the center value of phi for a given sector
sec | sector index [0,mNumSec) |
Definition at line 107 of file EEmcGeomSimple.h.
Referenced by StuDraw3DMuEvent::Endcaps(), getDirection(), getTower(), getTowerCenter(), StMuEEDemoMaker::Make(), and EEmcTTMMaker::Make().
|
inline |
returns the center value of phi for a subsector
sec | sector index [0,mNumSec ) |
ssec | subsector index [0,mNumSSec) |
Definition at line 121 of file EEmcGeomSimple.h.
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)
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) |
Definition at line 159 of file EEmcGeomSimple.cxx.
References getEtaHalfWidth(), getEtaMean(), getPhiHalfWidth(), getPhiMean(), and isClockwise().
Referenced by StEEmcPointMaker::buildSmdPoints(), StEEmcIUPointMaker::buildSmdPoints(), StEEmcDisplay::DrawPoints(), StEEmcIUMixMaker::fillPool(), StEEmcMixMaker::fillPool(), StEEmcPointFinderIU_t::findPoints(), StEEmcPointMaker::fracp2t(), StEEmcIUPointMaker::fracp2t(), getTower(), StEEmcFgtLHTrackQa::Make(), StEEmcEnergyApportionerIU_t::smdSumAndLeakageWeightFunc(), and StEEmcA2EMaker::tower().
|
inline |
gets tower ID given 'direction' vector r (only eta and phi are relevant, z is ignored)
r | - direction vecrot |
sec | sector index [0,mNumSec ) |
sub | subsector index [0,mNumSSec) |
etabin | tile/eta index [0,mNumEta ) |
Definition at line 65 of file EEmcGeomSimple.h.
References getTower().
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)
sec | sector index [0,mNumSec ) |
sub | subsector index [0,mNumSSec) |
etabin | tile/eta index [0,mNumEta ) |
Definition at line 104 of file EEmcGeomSimple.cxx.
References getEtaMean(), getPhiMean(), and getZMean().
Referenced by StEEmcCluster::add(), StEEmcClusterMaker::buildTowerClusters(), StEEmcIUClusterMaker::buildTowerClusters(), StEEmcTower::direction(), StGammaEEmcLeakage::draw(), and StGammaEEmcLeakage::expectation().