]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDgeometry.h
New vertex finders optimized for 3 prongs secondary vertices (AliITSVertexerTracks...
[u/mrichter/AliRoot.git] / TRD / AliTRDgeometry.h
index 5e29aa5171f96caae639f0fc93ef5f7fd1e60c28..06dadd61ab15d281582abd571b237114e1cd9743 100644 (file)
@@ -29,14 +29,16 @@ class AliTRDgeometry : public AliGeometry {
   virtual Int_t    IsVersion() const = 0;
   virtual void     Init();
   virtual Bool_t   Impact(const TParticle* ) const { return kTRUE; };
-  virtual Bool_t   Local2Global(Int_t d, Float_t *local, Float_t *global, AliTRDparameter *par) const;
-  virtual Bool_t   Local2Global(Int_t p, Int_t c, Int_t s, Float_t *local, Float_t *global, AliTRDparameter *par) const;
+  virtual Bool_t   Local2Global(Int_t d, Double_t *local, Double_t *global) const;
+  virtual Bool_t   Local2Global(Int_t p, Int_t c, Int_t s
+                                , Double_t *local, Double_t *global) const;
 
-  virtual Bool_t   Global2Local(Int_t mode, Float_t *local, Float_t *global, Int_t* index,  AliTRDparameter *par) const;
-  virtual Bool_t   Global2Detector(Float_t global[3], Int_t index[3],  AliTRDparameter *par);
+  virtual Bool_t   Global2Local(Int_t mode, Double_t *local, Double_t *global
+                               , Int_t* index,  AliTRDparameter *par) const;
+  virtual Bool_t   Global2Detector(Double_t global[3], Int_t index[3]);
 
-  virtual Bool_t   Rotate(Int_t d, Float_t *pos, Float_t *rot) const;
-  virtual Bool_t   RotateBack(Int_t d, Float_t *rot, Float_t *pos) const;
+  virtual Bool_t   Rotate(Int_t d, Double_t *pos, Double_t *rot) const;
+  virtual Bool_t   RotateBack(Int_t d, Double_t *rot, Double_t *pos) const;
 
   static  Int_t    Nsect()   { return fgkNsect; };
   static  Int_t    Nplan()   { return fgkNplan; };
@@ -56,6 +58,7 @@ class AliTRDgeometry : public AliGeometry {
   static  Float_t  CdrHght() { return fgkCdrH;    };
   static  Float_t  CamHght() { return fgkCamH;    };
   static  Float_t  CroHght() { return fgkCroH;    };
+  static  Float_t  CroWid()  { return fgkCroW;    };
   static  Float_t  MyThick() { return fgkMyThick; };
   static  Float_t  DrThick() { return fgkDrThick; };
   static  Float_t  AmThick() { return fgkAmThick; };
@@ -66,26 +69,26 @@ class AliTRDgeometry : public AliGeometry {
   virtual void     SetPHOShole() = 0;
   virtual void     SetRICHhole() = 0;
 
-  virtual void     SetOldGeometry();
-
   virtual Bool_t   GetPHOShole() const = 0;
   virtual Bool_t   GetRICHhole() const = 0;
   virtual Bool_t   IsHole(Int_t /*iplan*/, Int_t /*icham*/, Int_t /*isect*/) const {return kFALSE;}
-  virtual Int_t    GetDetectorSec(Int_t p, Int_t c) const;
-  virtual Int_t    GetDetector(Int_t p, Int_t c, Int_t s) const;
+  static Int_t    GetDetectorSec(Int_t p, Int_t c);
+  static Int_t    GetDetector(Int_t p, Int_t c, Int_t s);
   virtual Int_t    GetPlane(Int_t d)   const;
   virtual Int_t    GetChamber(Int_t d) const;
   virtual Int_t    GetSector(Int_t d)  const;
 
-          Float_t  GetChamberWidth(Int_t p) const { return fCwidth[p];     };
+          Float_t  GetChamberWidth(Int_t p) const           { return fCwidth[p];     };
           Float_t  GetChamberLength(Int_t p, Int_t c) const { return fClength[p][c]; }; 
 
-  virtual void     GetGlobal(const AliRecPoint* , TVector3& , TMatrix& ) const { }; 
+  virtual void     GetGlobal(const AliRecPoint* , TVector3& , TMatrixF& ) const { }; 
   virtual void     GetGlobal(const AliRecPoint* , TVector3& ) const { };
  
   static  Double_t GetAlpha()  { return 2 * 3.14159265358979323846 / fgkNsect; }; 
 
   static  AliTRDgeometry* GetGeometry(AliRunLoader* runLoader = NULL);
+  
+  static Float_t  GetTime0(Int_t p)                        { return fgkTime0[p];          };
 
  protected:
  
@@ -166,6 +169,9 @@ class AliTRDgeometry : public AliGeometry {
   Float_t              fRotB21[kNsect];                     // Matrix elements for the backward rotation
   Float_t              fRotB22[kNsect];                     // Matrix elements for the backward rotation
 
+  static const Double_t fgkTime0Base;                        // Base value for calculation of Time-position of pad 0
+  static const Float_t fgkTime0[kNplan];                      //  Time-position of pad 0
+  
   ClassDef(AliTRDgeometry,6)                                // TRD geometry base class
 
 };