]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSPID.h
Loaders removed from the reconstruction code (C.Cheshkov)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSPID.h
index 2f99a522747cb36079c717a6ff7e0c006b658b7f..1db79aded0cbd3b242e5a434bea5febd08ed8a3e 100644 (file)
@@ -5,42 +5,88 @@
                             
 /* $Id$ */
 
-////////////////////////////////////////////////
-//  Algorithme class for the identification of//
-//          particles detected in PHOS        //
-//  base  class                               //
-//  Version SUBATECH                          //
-//  Author Yves Schutz     SUBATECH           //
-//                                            //  
-//   pABC                                     //
-////////////////////////////////////////////////
+/* History of cvs commits:
+ *
+ * $Log$
+ * Revision 1.40  2007/08/07 14:12:03  kharlov
+ * Quality assurance added (Yves Schutz)
+ *
+ * Revision 1.39  2007/07/11 13:43:30  hristov
+ * New class AliESDEvent, backward compatibility with the old AliESD (Christian)
+ *
+ * Revision 1.38  2007/04/01 15:40:15  kharlov
+ * Correction for actual vertex position implemented
+ *
+ * Revision 1.37  2006/08/29 11:41:19  kharlov
+ * Missing implementation of ctors and = operator are added
+ *
+ * Revision 1.36  2006/08/25 16:00:53  kharlov
+ * Compliance with Effective C++AliPHOSHit.cxx
+ *
+ * Revision 1.35  2005/05/28 14:19:04  schutz
+ * Compilation warnings fixed by T.P.
+ *
+ */
 
-// --- ROOT system ---
+//_________________________________________________________________________
+//  Algorithm class for the identification of particles detected in PHOS        
+//  base  class                             
+//  of identified particles                
+//*-- Author: Yves Schutz (SUBATECH)
 
-#include "TObject.h" 
-#include "TClonesArray.h"
+// --- ROOT system ---
+#include "TObject.h"
+class TTree;
 
 // --- Standard library ---
 
 // --- AliRoot header files ---
-
-#include "AliPHOSTrackSegmentMaker.h"
-
-
-typedef TClonesArray RecParticlesList ; 
+class AliESDEvent ;
+class AliPHOSGeometry ;
+class AliPHOSClusterizer ;
+class AliPHOSTrackSegmentMaker ;
+class AliPHOSQualAssDataMaker ; 
 
 class AliPHOSPID : public TObject {
 
-public:
+ public:
 
   AliPHOSPID() ;          // ctor            
+  AliPHOSPID (AliPHOSGeometry *geom);
+  AliPHOSPID(const AliPHOSPID & pid) ;
   virtual ~AliPHOSPID() ; // dtor
+  AliPHOSPID & operator = (const AliPHOSPID & /*rvalue*/)  {
+    Fatal("operator =", "not implemented") ; return *this ; }
+
+  virtual void TrackSegments2RecParticles(Option_t * option) = 0;
+
+  void SetInput(TTree *clustersTree, TClonesArray *trackSegments);
+  TClonesArray* GetRecParticles() const { return fRecParticles; }
+
+  virtual void Print(const Option_t * = "") const = 0;
+
+  void SetESD(AliESDEvent *esd) { fESD = esd; }
+
+  virtual const char * Version() const = 0;
+
+  AliPHOSQualAssDataMaker * GetQualAssDataMaker() const { return fQADM ; } 
+
+protected:
+
+  AliPHOSGeometry * fGeom;    //! Pointer to PHOS Geometry
+  AliESDEvent * fESD;         //! ESD object
+
+  TObjArray *fEMCRecPoints;      //!Array with EMC clusters
+  TObjArray *fCPVRecPoints;      //!Array with CPV clusters
+
+  TClonesArray *fTrackSegments;     //!Array with found track segments
+  TClonesArray *fRecParticles;      //!Array with reconstructed particles (PID)
+
+private: 
 
-  virtual void GetParticleType(TrackSegmentsList * trsl, RecParticlesList * rpl) {} ; 
-  virtual void SetShowerProfileCuts(Float_t, Float_t, Float_t, Float_t) {} ; 
-  virtual void SetDispersionCutOff(Float_t ) {}    
+  AliPHOSQualAssDataMaker * fQADM ; //!Quality Assurance Data Maker
 
-  ClassDef(AliPHOSPID,1)  // Particle Identifier interface, version 1
+  ClassDef(AliPHOSPID,6)  // Particle Identifier algorithm (base class)
 
 } ;