Fixes for cmake
[u/mrichter/AliRoot.git] / PHOS / AliPHOSReconstructor.h
index 5ba0d14..0122037 100644 (file)
@@ -8,6 +8,9 @@
 /* History of cvs commits:
  *
  * $Log$
+ * Revision 1.15  2007/10/01 20:24:08  kharlov
+ * Memory leaks fixed
+ *
  * Revision 1.14  2007/09/26 14:22:18  cvetan
  * Important changes to the reconstructor classes. Complete elimination of the run-loaders, which are now steered only from AliReconstruction. Removal of the corresponding Reconstruct() and FillESD() methods.
  *
 
 // --- ROOT system ---
 
+#include <Riostream.h>
 #include "AliReconstructor.h" 
+#include "AliPHOSRecoParam.h"
 class AliPHOSDigitizer ;
 class AliPHOSClusterizer ;
+class AliPHOSClusterizerv1 ;
 class AliPHOSTrackSegmentMaker ;
 class AliPHOSPID ;
 class AliPHOSSDigitizer ;
@@ -52,6 +58,7 @@ class AliESDEvent ;
 class AliRawReader; 
 class AliPHOSRecoParam;
 class AliPHOSGeometry;
+class AliPHOSCalibData ;
 
 // --- Standard library ---
 
@@ -64,7 +71,10 @@ public:
   AliPHOSReconstructor() ; //ctor            
   AliPHOSReconstructor(const AliPHOSReconstructor & rec) :
     AliReconstructor(rec),
-    fGeom(rec.fGeom)
+    fGeom(rec.fGeom),
+    fClusterizer(rec.fClusterizer),
+    fTSM(rec.fTSM),
+    fPID(rec.fPID)
     {
     // cpy ctor: 
     // requested by the Coding Convention
@@ -84,6 +94,9 @@ public:
 
   virtual Bool_t             HasDigitConversion() const {return kTRUE;};
   virtual void               ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
+  virtual Float_t            Calibrate(Float_t amp, Int_t absId) const ;
+
+  void FillMisalMatrixes(AliESDEvent* esd)const ;
 
   AliPHOSReconstructor & operator = (const AliPHOSReconstructor & /*rvalue*/)  {
     // assignement operator requested by coding convention but not needed
@@ -91,20 +104,21 @@ public:
     return *this ; 
   }
   
-  void SetRecoParamEmc(AliPHOSRecoParam * param){ fgkRecoParamEmc = param;}
-  void SetRecoParamCpv(AliPHOSRecoParam * param){ fgkRecoParamCpv = param;}
-
-  static const AliPHOSRecoParam* GetRecoParamEmc(){ return fgkRecoParamEmc;}
-  static const AliPHOSRecoParam* GetRecoParamCpv(){ return fgkRecoParamCpv;}
+  static const AliPHOSRecoParam* GetRecoParam() {
+    return dynamic_cast<const AliPHOSRecoParam*>(AliReconstructor::GetRecoParam(4)); }
 
 private:
   
   static Bool_t fgDebug ; //! verbosity controller
-  static AliPHOSRecoParam *fgkRecoParamEmc; // reconstruction parameters for EMC
-  static AliPHOSRecoParam *fgkRecoParamCpv; // reconstruction parameters for EMC
-  AliPHOSGeometry         *fGeom;           // pointer to the PHOS geometry
-
-  ClassDef(AliPHOSReconstructor,4)  // PHOS Reconstruction class
+  AliPHOSGeometry          *fGeom;           // pointer to the PHOS geometry
+  AliPHOSClusterizerv1     *fClusterizer;    //! PHOS clusterizer
+  AliPHOSTrackSegmentMaker *fTSM;            //! PHOS TrackSegmentMaker
+  AliPHOSPID               *fPID;            //! PHOS PID maker
+  static TClonesArray      *fgDigitsArray;   //! Array of PHOS digits
+  static TObjArray         *fgEMCRecPoints;  //! Array of EMC rec.points
+  static AliPHOSCalibData * fgCalibData ;    //! Calibration database if aval.
+
+  ClassDef(AliPHOSReconstructor,8)  // PHOS Reconstruction class
 
 };