68 CbmStsSensor(Int_t detId, Int_t iType, Double_t x0, Double_t y0,
69 Double_t rotation, Double_t lx, Double_t ly,
70 Double_t dx, Double_t dy, Double_t stereoF, Double_t stereoB);
71 CbmStsSensor(TString tempName, Int_t detId, Int_t iType, Double_t x0, Double_t y0, Double_t
z0,
72 Double_t rotation, Double_t lx, Double_t ly,
73 Double_t
d, Double_t dx, Double_t dy, Double_t stereoF, Double_t stereoB);
84 return ( fDetectorId & (15<<24) ) >> 24; }
86 return ( fDetectorId & (255<<16) ) >> 16; }
88 return ( fDetectorId & (4095<<4) ) >> 4; }
92 return ( fDetectorId & (7<<1) ) >> 1; }
94 Double_t
GetX0()
const {
return fX0; }
95 Double_t
GetY0()
const {
return fY0; }
96 Double_t
GetZ0()
const {
return fZ0; }
98 Double_t
GetLx()
const {
return fLx; }
99 Double_t
GetLy()
const {
return fLy; }
100 Double_t
GetD()
const {
return fD; }
101 Double_t
GetDx()
const {
return fDx; }
102 Double_t
GetDy()
const {
return fDy; }
108 Int_t
GetNChannels()
const {
return fNChannelsFront + fNChannelsBack; }
121 Int_t
GetChannel(Double_t x, Double_t y, Int_t iSide);
127 Int_t
GetFrontChannel(Double_t x, Double_t y, Double_t z, Double_t &dPitch);
128 Int_t
GetBackChannel (Double_t x, Double_t y, Double_t z, Double_t &dPitch);
132 Bool_t
Inside(Double_t x, Double_t y);
152 Int_t
Intersect(Int_t iFStrip, Int_t iBStrip,
153 std::vector<Double_t>& xCross, std::vector<Double_t>& yCross);
155 Int_t
Intersect(Int_t iFStrip, Int_t iBStrip, Double_t& xCross, Double_t& yCross, Double_t& zCross);
157 Int_t
IntersectClusters(Double_t fChan, Double_t bChan, Double_t& xCross, Double_t& yCross, Double_t& zCross);
166 Int_t
PointIndex(Int_t iFStrip, Int_t IBStrip);
179 TString GeoMaskSi[3][8];
180 TString GeoMaskGem[6][4];
181 TGeoVolume* TopVolume;
182 Double_t PIR = 3.1415926536 / 180.;
189 Double_t fX0, fY0, fZ0;
196 Double_t fTanF,fTanB,fSinRot,fCosRot;
201 Int_t fNChannelsFront;
202 Int_t fNChannelsBack;
204 Double_t fBackStripShift;
205 Double_t fFrontStripShift;
216 Double_t fXSmearWidth;
217 Double_t fZSmearSlope;
219 Double_t fFrontLorentzShift;
220 Double_t fBackLorentzShift;
223 std::set<Int_t> fFrontActive;
224 std::set<Int_t> fBackActive;
229 std::map<std::pair<Int_t,Int_t>, Int_t > fTrueHits;
241 Int_t FrontStripNumber(Double_t x, Double_t y)
const;
250 Int_t BackStripNumber(Double_t x, Double_t y)
const;
260 Bool_t IntCoord(Double_t x, Double_t y,
261 Double_t& xint, Double_t& yint)
const;
262 Bool_t IntCoord(Double_t x, Double_t y, Double_t z,
263 Double_t& xint, Double_t& yint, Double_t& zint)
const;
271 Bool_t IsInside(Double_t xint, Double_t yint)
const;