]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOFGeometryV4.h
for non-miscalibrated digits, set an ad-hoc conversion factor fAdC->fToT to have...
[u/mrichter/AliRoot.git] / TOF / AliTOFGeometryV4.h
index 778177f7dec0647b608eee7f742e26297e214760..6ce9802fdaa5840107f718172046860864214665 100644 (file)
@@ -1,16 +1,15 @@
 #ifndef ALITOFGEOMETRYV4_H
 #define ALITOFGEOMETRYV4_H
+
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
-
 ///////////////////////////////////////////////////////////////////////////////
 //                                                                           //
 //  TOF geometry class (PPR version)                                         //
 //                                                                           //
 ///////////////////////////////////////////////////////////////////////////////
 
-
 #include "AliTOFGeometry.h"
 
 class AliTOFGeometryV4: public AliTOFGeometry {
@@ -21,49 +20,52 @@ class AliTOFGeometryV4: public AliTOFGeometry {
   
   void    ImportGeometry();
   void    Init();
-  Bool_t  IsInsideThePad(Int_t *det, TGeoHMatrix mat, Float_t *pos);
-  Float_t DistanceToPad(Int_t *det, TGeoHMatrix mat, Float_t *pos, Float_t *dist3d=0);
-  Bool_t  IsInsideThePadPar(Int_t *det, Float_t *pos); 
-  Float_t DistanceToPadPar(Int_t *det, Float_t *pos, Float_t *dist3d=0);
+  Bool_t  IsInsideThePad(Int_t *det, TGeoHMatrix mat, Float_t *pos) const ;
+  Float_t DistanceToPad(Int_t *det, TGeoHMatrix mat, Float_t *pos, Float_t *dist3d=0) const ;
+  Bool_t  IsInsideThePadPar(Int_t *det, Float_t *pos) const 
+  Float_t DistanceToPadPar(Int_t *det, Float_t *pos, Float_t *dist3d=0) const ;
   void    GetVolumePath(Int_t *ind, Char_t *path );
-  Int_t   GetPlate(Float_t *pos);
-  Int_t   GetStrip(Float_t *pos);
-  Int_t   GetSector(Float_t *pos);
-  Int_t   GetPadX(Float_t *pos);
-  Int_t   GetPadZ(Float_t *pos);
+  void    GetVolumePath(Int_t sector, Char_t *path );
+  void    GetVolumePath(Int_t sector, Int_t plate, Int_t strip, Char_t *path );
+  Int_t   GetPlate(Float_t *pos) const ;
+  Int_t   GetStrip(Float_t *pos) const ;
+  Int_t   GetSector(Float_t *pos) const ;
+  Int_t   GetPadX(Float_t *pos) const ;
+  Int_t   GetPadZ(Float_t *pos) const ;
   void    GetPos(Int_t *det,Float_t *pos);
-  Float_t GetX(Int_t *det);
-  Float_t GetY(Int_t *det);
-  Float_t GetZ(Int_t *det);
-  Float_t GetMinPlateTheta(Int_t iPlate);
-  Float_t GetMaxPlateTheta(Int_t iPlate);
-  Float_t GetMinStripTheta(Int_t iPlate, Int_t iStrip);
-  Float_t GetMaxStripTheta(Int_t iPlate, Int_t iStrip);
-  Float_t GetStripTheta(Int_t iPlate, Int_t iStrip);
-
-  Float_t NStirpC()     { return kNStripC;};
-  Int_t   NPadXSector() { return (AliTOFGeometry::kNStripA + 2*AliTOFGeometry::kNStripB +
+  Float_t GetX(Int_t *det) const ;
+  Float_t GetY(Int_t *det) const ;
+  Float_t GetZ(Int_t *det) const ;
+  Float_t GetMinPlateTheta(Int_t iPlate) const;
+  Float_t GetMaxPlateTheta(Int_t iPlate) const;
+  Float_t GetMinStripTheta(Int_t iPlate, Int_t iStrip) const;
+  Float_t GetMaxStripTheta(Int_t iPlate, Int_t iStrip) const;
+  Float_t GetStripTheta(Int_t iPlate, Int_t iStrip) const;
+
+  Int_t NStripC() const    { return kNStripC;};
+  Int_t   NPadXSector() const { return (AliTOFGeometry::kNStripA + 2*AliTOFGeometry::kNStripB +
                                  2*kNStripC)*AliTOFGeometry::kNpadX*AliTOFGeometry::kNpadZ;};
 
-  Float_t RinTOF()      { return fgkxTOF;};
-  Float_t Rmin()        { return fgkRmin;};
-  Float_t Rmax()        { return fgkRmax;};
+  Float_t RinTOF() const     { return fgkxTOF;};
+  Float_t Rmin()  const      { return fgkRmin;};
+  Float_t Rmax()  const      { return fgkRmax;};
 
-  Float_t ZlenA()       { return fgkZlenA;};
-  Float_t ZlenB()       { return fgkZlenB;};
-  Float_t ZlenC()       { return fgkZlenC;};
-  Float_t MaxhZtof()    { return fgkMaxhZtof;};
+  Float_t ZlenA()  const     { return fgkZlenA;};
+  Float_t ZlenB()  const     { return fgkZlenB;};
+  Float_t ZlenC()  const     { return fgkZlenC;};
+  Float_t MaxhZtof() const   { return fgkMaxhZtof;};
 
   static  Float_t DeadBndX()    { return fgkDeadBndX;};
   static  Float_t DeadBndZ()    { return fgkDeadBndZ;};
   static  Float_t OverSpc()     { return fgkOverSpc;};
 
   protected:
+  enum {
+    kNStripC    = 20 // number of strips in C type module 
+  };
 
   //private:
 
-  static const Int_t kNStripC;         // number of strips in C type module 
-
   static const Float_t fgkZlenA;       // length (cm) of the A module
   static const Float_t fgkZlenB;       // length (cm) of the B module
   static const Float_t fgkZlenC;       // length (cm) of the C module