]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSGeometry.h
Added reference from vertex to candidate (Andrea)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSGeometry.h
index d5e9951dd376367083e235162fbe8e6e2db9a500..2b3b06e77c2e69966593bcd770d60dc2e0d44273 100644 (file)
@@ -25,6 +25,8 @@
 #include "AliPHOSCPVGeometry.h"
 #include "AliPHOSSupportGeometry.h"
 
+class AliPHOSRecPoint;
+class TVector3;
 
 class AliPHOSGeometry : public AliGeometry {
 
@@ -39,6 +41,9 @@ public:
   virtual void   GetGlobal(const AliRecPoint* RecPoint, TVector3 & gpos, TMatrixF & /* gmat */) const 
                  {GetGlobal(RecPoint,gpos); }
   virtual void   GetGlobal(const AliRecPoint* RecPoint, TVector3 & gpos) const ;
+  virtual void   GetGlobalPHOS(const AliPHOSRecPoint* RecPoint, TVector3 & gpos) const ;
+  virtual void   GetGlobalPHOS(const AliPHOSRecPoint* RecPoint, TVector3 & gpos, TMatrixF & /* gmat */) const 
+                 {GetGlobalPHOS(RecPoint,gpos); }
   virtual Bool_t Impact(const TParticle * particle) const ;
 
   AliPHOSGeometry & operator = (const AliPHOSGeometry  & /*rvalue*/) {
@@ -93,7 +98,7 @@ public:
   Float_t  GetIPtoUpperCPVsurface(void)         const { return fIPtoUpperCPVsurface ; }
   Float_t  GetOuterBoxSize(Int_t index)         const { return 2.*fPHOSParams[index]; }
   Float_t  GetCrystalSize(Int_t index)          const { return fGeometryEMCA->GetCrystalSize(index) ;  }
-  Float_t  GetCellStep(void)                    const { return 2.*fGeometryEMCA->GetSteelCellHalfSize()[0];}
+  Float_t  GetCellStep(void)                    const { return 2.*fGeometryEMCA->GetAirCellHalfSize()[0];}
 
   Float_t GetModuleCenter(Int_t module, Int_t axis) const {
     return fModuleCenter[module][axis];}
@@ -163,6 +168,8 @@ private:
   Float_t                 *fPHOSAngle ;      //[fNModules] Position angles of modules
   Float_t                  fPHOSParams[4] ;  // Half-sizes of PHOS trapecoid
   Float_t                  fIPtoUpperCPVsurface; // Minimal distance from IP to PHOS
+  Float_t                  fCrystalShift ;   //Distance from crystal center to front surface
+  Float_t                  fCryCellShift ;   //Distance from crystal center to front surface
   TObjArray               *fRotMatrixArray ; // Liste of rotation matrices (one per phos module)
   AliPHOSEMCAGeometry     *fGeometryEMCA ;   // Geometry object for Electromagnetic calorimeter
   AliPHOSCPVGeometry      *fGeometryCPV ;    // Geometry object for CPV  (IHEP)