Introduction of a new TOF constant (i.e. TDC bin width)
[u/mrichter/AliRoot.git] / TOF / AliTOFGeometry.cxx
index 135f8434c3da814d8fe5806b1ae2bece3b5889ee..f86d1ea16c494151fd0da3d30fb2ee9f6f8db9cd 100644 (file)
 
 /*
 $Log$
+Revision 1.7  2004/11/05 07:20:08  decaro
+TOF library splitting and conversion of some printout messages in AliLog schema (T.Kuhr)
+
+Revision 1.6  2004/06/15 15:27:59  decaro
+TOF raw data: preliminary implementation and style changes
+
+Revision 1.5  2004/04/20 14:37:22  hristov
+Using TMath::Abs instead of fabs, arrays of variable size created/deleted correctly (HP,Sun)
+
+Revision 1.4  2004/04/13 09:42:51  decaro
+Track reconstruction code for TOF: updating
+
 Revision 1.3  2003/12/29 18:40:39  hristov
 Copy/paste error corrected
 
@@ -24,14 +36,17 @@ Using enum to initaialize static ints in the header file, the initialization of
 Revision 1.1  2003/12/29 15:18:03  decaro
 TOF geometry updating (addition of AliTOFGeometry)
 
-Revision 0.01  2003/12/04 S.Arcelli
-Revision 0.02  2003/12/10 S.Arcelli:
-        Implement Global methods GetPos & GetDetID 
-Revision 0.03  2003/12/14 S.Arcelli
-        Set Phi range [-180,180]->[0,360] 
-Revision 0.03  2004/4/05 S.Arcelli
+Revision 0.05  2004/6/11 A.De Caro
+        Implement Global method NpadXStrip
+        Insert four float constants (originally  in AliTOF class)
+Revision 0.04  2004/4/05 S.Arcelli
         Implement Global methods IsInsideThePad 
                                   DistanceToPad 
+Revision 0.03  2003/12/14 S.Arcelli
+        Set Phi range [-180,180]->[0,360] 
+Revision 0.02  2003/12/10 S.Arcelli:
+        Implement Global methods GetPos & GetDetID 
+Revision 0.01  2003/12/04 S.Arcelli
 */
 
 #include <stdlib.h>
@@ -42,22 +57,27 @@ Revision 0.03  2004/4/05 S.Arcelli
 //                                                                           //
 ///////////////////////////////////////////////////////////////////////////////
 
+#include "AliLog.h"
 #include "AliConst.h"
 #include "AliTOFGeometry.h"
 
 ClassImp(AliTOFGeometry)
 
-const Int_t AliTOFGeometry::fgkTimeDiff   = 25000;// Min signal separation (ps)
+const Int_t AliTOFGeometry::fgkTimeDiff   = 25000;  // Min signal separation (ps)
 
-const Float_t AliTOFGeometry::fgkxTOF     = 371.; // Inner radius of the TOF for Reconstruction (cm)
-const Float_t AliTOFGeometry::fgkRmin     = 370.; // Inner radius of the TOF (cm)
-const Float_t AliTOFGeometry::fgkRmax     = 399;  // Outer radius of the TOF (cm)
-const Float_t AliTOFGeometry::fgkZlenA    = 106.0;// length (cm) of the A module
-const Float_t AliTOFGeometry::fgkZlenB    = 141.0;// length (cm) of the B module
-const Float_t AliTOFGeometry::fgkZlenC    = 177.5;// length (cm) of the C module
-const Float_t AliTOFGeometry::fgkXPad     = 2.5;  // Pad size in the x direction (cm)
-const Float_t AliTOFGeometry::fgkZPad     = 3.5;  // Pad size in the z direction (cm)
-const Float_t AliTOFGeometry::fgkMaxhZtof = 371.5;// Max half z-size of TOF (cm)
+const Float_t AliTOFGeometry::fgkxTOF     = 371.;   // Inner radius of the TOF for Reconstruction (cm)
+const Float_t AliTOFGeometry::fgkRmin     = 370.;   // Inner radius of the TOF (cm)
+const Float_t AliTOFGeometry::fgkRmax     = 399;    // Outer radius of the TOF (cm)
+const Float_t AliTOFGeometry::fgkZlenA    = 106.0;  // length (cm) of the A module
+const Float_t AliTOFGeometry::fgkZlenB    = 141.0;  // length (cm) of the B module
+const Float_t AliTOFGeometry::fgkZlenC    = 177.5;  // length (cm) of the C module
+const Float_t AliTOFGeometry::fgkXPad     = 2.5;    // Pad size in the x direction (cm)
+const Float_t AliTOFGeometry::fgkZPad     = 3.5;    // Pad size in the z direction (cm)
+const Float_t AliTOFGeometry::fgkMaxhZtof = 371.5;  // Max half z-size of TOF (cm)
+const Float_t AliTOFGeometry::fgkStripLength = 122.;// Strip Length (rho X phi direction) (cm)
+const Float_t AliTOFGeometry::fgkDeadBndX = 1.0;    // Dead Boundaries of a Strip along X direction (length) (cm)
+const Float_t AliTOFGeometry::fgkDeadBndZ = 1.5;    // Dead Boundaries of a Strip along Z direction (width) (cm)
+const Float_t AliTOFGeometry::fgkOverSpc = 15.3;    // Space available for sensitive layers in radial direction (cm)
 
 
 const Float_t AliTOFGeometry::fgkSigmaForTail1= 2.;//Sig1 for simulation of TDC tails 
@@ -74,6 +94,8 @@ const Float_t AliTOFGeometry::fgkDprecMin = 0.0000075;//num.prec.tolerance on Th
 const Float_t AliTOFGeometry::fgkDprecMax = 0.0000100;//num.prec.tolerance on Thma 
 const Float_t AliTOFGeometry::fgkDprecCen = 0.0000005;//num.prec.tolerance on <Theta> 
 
+const Float_t AliTOFGeometry::fgkTdcBin = 24.4; // time-window for the TDC bins [ps]
+
 //_____________________________________________________________________________
 AliTOFGeometry::AliTOFGeometry()
 {
@@ -262,7 +284,7 @@ Bool_t AliTOFGeometry::IsInsideThePad(Int_t *det, Float_t *pos)
   Float_t yr = yt;
   Float_t zr = -xt*TMath::Sin(alpha/kRaddeg)+zt*TMath::Cos(alpha/kRaddeg);
 
-  if(fabs(xr)<=0.75 && fabs(yr)<= (fgkXPad*0.5) && fabs(zr)<= (fgkZPad*0.5))
+  if(TMath::Abs(xr)<=0.75 && TMath::Abs(yr)<= (fgkXPad*0.5) && TMath::Abs(zr)<= (fgkZPad*0.5))
     isInside=true; 
   return isInside;
 
@@ -411,15 +433,15 @@ Int_t AliTOFGeometry::GetPadX(Float_t *pos)
 
   Int_t isector = GetSector(pos);
   if(isector == -1){  
-    cout << "Detector Index could not be determined" << endl;
+    AliError("Detector Index could not be determined");
     return iPadX;}
   Int_t iplate =  GetPlate(pos);
   if(iplate == -1){  
-    cout << "Detector Index could not be determined" << endl;
+    AliError("Detector Index could not be determined");
     return iPadX;} 
   Int_t istrip =  GetStrip(pos);
   if(istrip == -1){  
-    cout << "Detector Index could not be determined" << endl;
+    AliError("Detector Index could not be determined");
     return iPadX;}
 
 
@@ -455,7 +477,7 @@ Int_t AliTOFGeometry::GetPlate(Float_t *pos)
 
   Int_t isector = GetSector(pos);
   if(isector == -1){  
-    cout << "Detector Index could not be determined" << endl;
+    AliError("Detector Index could not be determined");
     return iPlate;}
  
   Float_t x = pos[0];
@@ -491,11 +513,11 @@ Int_t AliTOFGeometry::GetStrip(Float_t *pos)
 
   Int_t isector = GetSector(pos);
   if(isector == -1){  
-    cout << "Detector Index could not be determined" << endl;
+    AliError("Detector Index could not be determined");
     return iStrip;}
   Int_t iplate =  GetPlate(pos);
   if(iplate == -1){  
-    cout << "Detector Index could not be determined" << endl;
+    AliError("Detector Index could not be determined");
     return iStrip;} 
 
 
@@ -538,15 +560,15 @@ Int_t AliTOFGeometry::GetPadZ(Float_t *pos)
 
   Int_t isector = GetSector(pos);
   if(isector == -1){  
-    cout << "Detector Index could not be determined" << endl;
+    AliError("Detector Index could not be determined");
     return iPadZ;}
   Int_t iplate =  GetPlate(pos);
   if(iplate == -1){  
-    cout << "Detector Index could not be determined" << endl;
+    AliError("Detector Index could not be determined");
     return iPadZ;} 
   Int_t istrip =  GetStrip(pos);
   if(istrip == -1){  
-    cout << "Detector Index could not be determined" << endl;
+    AliError("Detector Index could not be determined");
     return iPadZ;}