63 #include "StMemoryPool.hh"
70 unsigned int,
float,
unsigned char = 0);
75 void*
operator new(
size_t sz,
void *p) {
return p;}
76 void*
operator new(size_t) {
return mPool.alloc(); }
77 void operator delete(
void* p) { mPool.free(p); }
79 unsigned int ladder()
const;
80 unsigned int wafer()
const;
81 unsigned int centralStripNSide()
const;
82 unsigned int centralStripPSide()
const;
83 unsigned int clusterSizeNSide()
const;
84 unsigned int clusterSizePSide()
const;
85 float localPosition(
unsigned int)
const;
86 static unsigned int sector(
unsigned int);
87 unsigned int sector()
const;
88 void setLocalPosition(
float,
float);
89 virtual int volumeID()
const;
91 StDetectorId detector()
const;
92 void Print(
const Option_t *option=
"")
const;
98 Float_t mLocalPosition[2];
101 enum {mWaferPerLadder=16};
106 StSsdHit::sector(
unsigned int ladder) {
107 if (ladder <= 2 || ladder == 20)
return 1;
108 if (ladder >= 3 && ladder <= 9)
return 2;
109 if (ladder >= 10 && ladder <= 12)
return 3;
110 if (ladder >= 13 && ladder <= 19)
return 4;
114 inline unsigned int StSsdHit::sector()
const {
return sector(ladder()); }
115 inline StDetectorId StSsdHit::detector()
const {
return static_cast<StDetectorId
>(StHit::bits(0, 4));}
117 ostream& operator<<(ostream& os,
StSsdHit const & v);