62 fNPads[1] =
new UInt_t[fNRows[1]];
72 for (UInt_t irow=0; irow<fNRows[0];irow++){
73 UInt_t npads = (irow==0) ? 68 : 2 *Int_t(Double_t(irow)/3. +33.67);
81 Double_t k1 = 10.*TMath::Tan(10*TMath::DegToRad())/6.;
82 Double_t k2 = 15.*TMath::Tan(10*TMath::DegToRad())/6.;
83 for (UInt_t irow=0; irow<fNRows[1];irow++){
84 UInt_t npads = (irow<64) ?
85 2*Int_t(k1*Double_t(irow)+37.75):
86 2*Int_t(k2*Double_t(irow-64)+56.66);
102 const Float_t kInnerRadiusLow = 83.65;
103 const Float_t kInnerRadiusUp = 133.3;
104 const Float_t kOuterRadiusLow = 133.5;
105 const Float_t kOuterRadiusUp = 247.7;
106 const Float_t kInnerFrameSpace = 1.5;
107 const Float_t kOuterFrameSpace = 1.5;
108 const Float_t kInnerWireMount = 1.2;
109 const Float_t kOuterWireMount = 1.4;
110 const Float_t kZLength =250.;
111 const UInt_t kNRowLow = 63;
112 const UInt_t kNRowUp1 = 64;
113 const UInt_t kNRowUp2 = 32;
114 const UInt_t kNRowUp = 96;
115 const Float_t kInnerAngle = 20;
116 const Float_t kOuterAngle = 20;
120 const Float_t kInnerPadPitchLength = 0.75;
121 const Float_t kInnerPadPitchWidth = 0.40;
122 const Float_t kInnerPadLength = 0.75;
123 const Float_t kInnerPadWidth = 0.40;
124 const Float_t kOuter1PadPitchLength = 1.0;
125 const Float_t kOuterPadPitchWidth = 0.6;
126 const Float_t kOuter1PadLength = 1.0;
127 const Float_t kOuterPadWidth = 0.6;
128 const Float_t kOuter2PadPitchLength = 1.5;
129 const Float_t kOuter2PadLength = 1.5;
246 fInnerFrameSpace(0.),
247 fOuterFrameSpace(0.),
253 fNInnerWiresPerPad(0),
257 fRInnerFirstWire(0.),
260 fNOuter1WiresPerPad(0),
261 fNOuter2WiresPerPad(0),
265 fROuterFirstWire(0.),
267 fInnerPadPitchLength(0.),
268 fInnerPadPitchWidth(0.),
271 fOuter1PadPitchLength(0.),
272 fOuter2PadPitchLength(0),
273 fOuterPadPitchWidth(0),
274 fOuter1PadLength(0.),
285 for (UInt_t i=0;i<2;i++){
293 for (UInt_t i=0;i<100;++i){
312 fInnerFrameSpace(0.),
313 fOuterFrameSpace(0.),
319 fNInnerWiresPerPad(0),
323 fRInnerFirstWire(0.),
326 fNOuter1WiresPerPad(0),
327 fNOuter2WiresPerPad(0),
331 fROuterFirstWire(0.),
333 fInnerPadPitchLength(0.),
334 fInnerPadPitchWidth(0.),
337 fOuter1PadPitchLength(0.),
338 fOuter2PadPitchLength(0),
339 fOuterPadPitchWidth(0),
340 fOuter1PadLength(0.),
362 fNPads[1] =
new UInt_t[fNRows[1]];
369 for (UInt_t irow =0; irow<fNRows[0];irow++){
373 for (UInt_t irow =0; irow<fNRows[1];irow++){
378 for (UInt_t i=0;i<100;++i){
393 if (
this == &roc)
return (*
this);
425 if ((sector%36)>=18){
436 Double_t alpha = TMath::DegToRad()*(10.+20.*(sector%18));
437 Float_t gx = pos[0]*TMath::Cos(alpha)-pos[1]*TMath::Sin(alpha);
438 Float_t gy = pos[1]*TMath::Cos(alpha)+pos[0]*TMath::Sin(alpha);
Float_t fOuter2PadPitchLength
Outer pad pitch length.
UInt_t fNRowUp
number of pad rows per sector up -calculated
UInt_t GetNPads(UInt_t sector, UInt_t row) const
UInt_t fNRowUp1
number of short pad rows per sector up -set
Float_t fInnerAngle
angular coverage
UInt_t fNSectors[2]
number of sectors - inner outer
static AliTPCROC * fgInstance
Float_t fOuterPadPitchWidth
Outer pad pitch width.
Float_t fOuterAngle
angular coverage
Float_t fInnerWireMount
space for wire mount, inner sector
Float_t fOuter2PadLength
Outer pad length.
UInt_t fNSectorsAll
number of sectors
UInt_t fNChannels[2]
total number of pads - inner sector - outer sector
void GetPositionLocal(UInt_t sector, UInt_t row, UInt_t pad, Float_t *pos)
UInt_t * fRowPosIndex[2]
index array - inner - outer
UInt_t fNPadsLow[100]
Lower sector, number of pads per row -calculated.
Float_t fPadRowLow[100]
Lower sector, pad row radii -calculated.
Float_t fZLength
length of the drift region of the TPC
Float_t fInnerPadWidth
Inner pad width.
Float_t fYOuter[100]
Outer sector, wire-length.
Float_t fInnerRadiusUp
upper radius of inner sector-IP
Float_t fOuterWireMount
space for wire mount, outer sector
Float_t fOuterPadWidth
Outer pad width.
Float_t fOuterRadiusLow
lower radius of outer sector-IP
void GetPositionGlobal(UInt_t sector, UInt_t row, UInt_t pad, Float_t *pos)
Geometry class for a single ROC.
Float_t fInnerPadLength
Inner pad length.
Float_t fOuterFrameSpace
space for outer frame in the phi direction
Float_t fInnerRadiusLow
lower radius of inner sector-IP
Float_t fLastWireUp1
position of the last wire in outer1 sector
Float_t fPadRowUp[100]
Upper sector, pad row radii -calculated.
AliTPCROC & operator=(const AliTPCROC &roc)
Float_t fInnerFrameSpace
space for inner frame in the phi direction
Float_t fYInner[100]
Inner sector, wire-length.
UInt_t fNRows[2]
number of row - inner outer
UInt_t fNPadsUp[100]
Upper sector, number of pads per row -calculated.
UInt_t fNRowUp2
number of long pad rows per sector up -set
Float_t fOuterRadiusUp
upper radius of outer sector-IP
Float_t fInnerPadPitchWidth
Inner pad pitch width.
Float_t fOuter1PadPitchLength
Outer pad pitch length.
UInt_t * fNPads[2]
number of pads in row - inner - outer
UInt_t fNRowLow
number of pad rows per low sector -set
Float_t fInnerPadPitchLength
Inner pad pitch length.
Float_t fOuter1PadLength
Outer pad length.