Consistent declarations needed on Alpha
[u/mrichter/AliRoot.git] / TRD / AliTRDgeometry.cxx
index 737a78c337d35277d629f29e9e86d582f0145948..0c3da12abe822b73d83f68e46da13c62c8285727 100644 (file)
 
 /*
 $Log$
+Revision 1.10  2001/05/07 08:08:05  cblume
+Update of TRD code
+
+Revision 1.9  2001/03/27 12:48:33  cblume
+Correct for volume overlaps
+
 Revision 1.8  2001/03/13 09:30:35  cblume
 Update of digitization. Moved digit branch definition to AliTRD
 
@@ -210,15 +216,20 @@ void AliTRDgeometry::Init()
   //     +----------------------------+      +------>
   //                                             z
   //                                             
-  // IMPORTANT: time bin 0 is now the one closest to the readout !!!
+  // IMPORTANT: time bin 0 is now the first one in the drift region 
+  // closest to the readout !!!
   //
 
   // The pad column (rphi-direction)  
   SetNColPad(96);
 
-  // The time bucket. Default is 100 ns timbin size
+  // The number of time bins. Default is 100 ns timbin size
   SetNTimeBin(15);
 
+  // Additional time bins before and after the drift region.
+  // Default is to only sample the drift region
+  SetExpandTimeBin(0,0);
+
   // The rotation matrix elements
   Float_t phi = 0;
   for (isect = 0; isect < fgkNsect; isect++) {
@@ -237,7 +248,7 @@ void AliTRDgeometry::Init()
 }
 
 //_____________________________________________________________________________
-void AliTRDgeometry::SetNColPad(Int_t npad)
+void AliTRDgeometry::SetNColPad(const Int_t npad)
 {
   //
   // Redefines the number of pads in column direction
@@ -252,10 +263,12 @@ void AliTRDgeometry::SetNColPad(Int_t npad)
 }
 
 //_____________________________________________________________________________
-void AliTRDgeometry::SetNTimeBin(Int_t nbin)
+void AliTRDgeometry::SetNTimeBin(const Int_t nbin)
 {
   //
-  // Redefines the number of time bins
+  // Redefines the number of time bins in the drift region.
+  // The time bin width is defined by the length of the
+  // drift region divided by <nbin>.
   //
 
   fTimeMax     = nbin;
@@ -476,9 +489,9 @@ Bool_t AliTRDgeometry::Local2Global(Int_t iplan, Int_t icham, Int_t isect
   Float_t  rot[3];
 
   // calculate (x,y,z) position in rotated chamber
-  rot[0] = time0 - timeSlice * fTimeBinSize;
-  rot[1] = col0  + padCol    * fColPadSize[iplan];
-  rot[2] = row0  + padRow    * fRowPadSize[iplan][icham][isect];
+  rot[0] = time0 - (timeSlice - fTimeBefore) * fTimeBinSize;
+  rot[1] = col0  + padCol                    * fColPadSize[iplan];
+  rot[2] = row0  + padRow                    * fRowPadSize[iplan][icham][isect];
 
   // Rotate back to original position
   return RotateBack(idet,rot,global);
@@ -524,7 +537,7 @@ Bool_t AliTRDgeometry::RotateBack(Int_t d, Float_t *rot, Float_t *pos) const
 }
 
 //_____________________________________________________________________________
-Int_t AliTRDgeometry::GetDetector(Int_t p, Int_t c, Int_t s) const
+Int_t AliTRDgeometry::GetDetector(const Int_t p, const Int_t c, const Int_t s) const
 {
   //
   // Convert plane / chamber / sector into detector number
@@ -535,7 +548,7 @@ Int_t AliTRDgeometry::GetDetector(Int_t p, Int_t c, Int_t s) const
 }
 
 //_____________________________________________________________________________
-Int_t AliTRDgeometry::GetPlane(Int_t d) const
+Int_t AliTRDgeometry::GetPlane(const Int_t d) const
 {
   //
   // Reconstruct the plane number from the detector number
@@ -546,7 +559,7 @@ Int_t AliTRDgeometry::GetPlane(Int_t d) const
 }
 
 //_____________________________________________________________________________
-Int_t AliTRDgeometry::GetChamber(Int_t d) const
+Int_t AliTRDgeometry::GetChamber(const Int_t d) const
 {
   //
   // Reconstruct the chamber number from the detector number
@@ -557,7 +570,7 @@ Int_t AliTRDgeometry::GetChamber(Int_t d) const
 }
 
 //_____________________________________________________________________________
-Int_t AliTRDgeometry::GetSector(Int_t d) const
+Int_t AliTRDgeometry::GetSector(const Int_t d) const
 {
   //
   // Reconstruct the sector number from the detector number