41 #include "StEEmcUtil/EEmcGeom/EEmcGeomDefs.h"
44 #ifndef ST_NO_NAMESPACES
50 float zPlane[kEEmcNumSmdPlanes];
51 float rOffset[kEEmcNumSmdPlanes];
72 #ifndef ST_NO_TEMPLATE_DEF_ARGS
73 typedef vector<int> intVec;
74 typedef vector<StructEEmcStrip*> EEmcStripPtrVec;
76 typedef vector<int,allocator<int>> intVec;
77 typedef vector<StructEEmcStrip*,allocator<StructEEmcStrip*>> EEmcStripPtrVec;
79 typedef vector<StructEEmcStrip*>::iterator EEmcStripPtrVecIter;
89 EEmcStripPtrVec stripPtrVec;
144 Int_t
getEEmcISec(
const Int_t iPlane,
const TVector3& point)
const;
181 TVector3
getIntersection ( Int_t iSec, Int_t iUStrip, Int_t iVStrip )
const;
206 void printGeom(ostream& os = cout)
const;
bool IsSectorIn(const Int_t iSec) const
return sector status
StructEEmcSmdSector mEEmcSector[kEEmcNumSmdUVs][kEEmcNumSectors]
general geometry variables
StructEEmcSmdParam & getEEmcSmdParam()
return SMD geometry parameters
int kEEmcSmdMap_iPlane[kEEmcNumSmdUVs][kEEmcNumSectors]
sector status.
TVector3 getIntersection(Int_t iSec, Float_t iUStrip, Float_t iVStrip) const
Assumes nominal vertex (0,0,0)
Int_t getNStrips(Int_t iSec, Int_t iUV) const
Int_t getEEmcISec(const Int_t iPlane, const TVector3 &point) const
return index of a sector from a point in a plane
StructEEmcSmdSector & getEEmcSector(const Int_t iUV, const Int_t iSec)
return structure-sector from iUV and iSec
const StructEEmcStrip * getDcaStripPtr(const Int_t iPlane, const TVector3 &point, Float_t *dca) const
virtual ~EEmcSmdGeom()
default empty destructor
TVector3 getstripEnd(const StructEEmcStrip &strip, const Int_t endId) const
return strip-end of 3D-vector
bool mIsSectorIn[kEEmcNumSectors]
storage for all strip pointers
void printGeom(ostream &os=cout) const
printout global geometry parameters
void init()
Initialize geometry class.
StructEEmcStrip initStrip() const
instance and initialize a strip
void printSector(const StructEEmcSmdSector Sector, ostream &os=cout) const
printout sector-specific geometry parameters
EEmcStripPtrVec mStripPtrVector
storage for all strip pointers
EEmcSmdGeom()
defaulty constructor
bool matchStrips(const StructEEmcStripId &stripStructId1, const StructEEmcStripId &stripStructId2, Int_t nTolerance) const
match two strips
void buildStripPtrVector()
build mStripPtrVector
TVector3 getIntersection(Int_t iSec, Int_t iUStrip, Int_t iVStrip, const TVector3 &vertex) const
void setSectors(const intVec sectorIdVec)
set sectors for partial EEMC
void printStrip(const StructEEmcStrip Strip, ostream &os=cout) const
printout strip-specific geometry parameters
StructEEmcStrip * getStripPtr(const Int_t iStrip, const Int_t iUV, const Int_t iSec)
return a strip pointer from indices
const StructEEmcStrip * getDca2Strip(const Int_t iUV, const TVector3 &point, Float_t *dca) const
void printStripId(const StructEEmcStripId StripId, ostream &os=cout) const
printout stripStructId