Partial redesign of identification bits and coding rule corrections
[u/mrichter/AliRoot.git] / PHOS / AliPHOSPID.h
index 5d0d82a..3b84697 100644 (file)
 
 // --- ROOT system ---
 
-#include "TObject.h" 
-#include "TClonesArray.h"
-
+#include "TTask.h" 
+class TFormula ;
+class TClonesArray ;
+class TFile ; 
 // --- Standard library ---
 
 // --- AliRoot header files ---
 
-#include "AliPHOSTrackSegment.h"
-#include "AliPHOSRecParticle.h"
-#include "AliPHOSGeometry.h"
-
+class AliPHOSGeometry ;
+class AliPHOSClusterizer ;
+class AliPHOSTrackSegmentMaker ;
 
+class AliPHOSPID : public TTask {
 
-class AliPHOSPID : public TObject {
-
-public:
+ public:
 
   AliPHOSPID() ;          // ctor            
+  AliPHOSPID(const char* headerFile,const char * name, const Bool_t toSplit) ;
+  AliPHOSPID(AliPHOSPID& pid) ;          // cpy ctor            
   virtual ~AliPHOSPID() ; // dtor
 
-  virtual void MakeParticles(AliPHOSTrackSegment::TrackSegmentsList * trsl, 
-                            AliPHOSRecParticle::RecParticlesList * rpl) {} ; 
-  virtual void Print(const char *){} ; 
-  virtual void SetShowerProfileCuts(Float_t, Float_t, Float_t, Float_t) {} ; 
-  virtual void SetDispersionCutOff(Float_t ) {} ;   
-  virtual void SetRelativeDistanceCut(Float_t ) {};
-
- protected:
-  
-  AliPHOSGeometry      * fGeom ;           // pointer to PHOS geometry  
-
-
-
+  virtual void Exec(Option_t * option) { Warning("Exec", "not defined" ) ; }
+  //  virtual char * GetRecParticlesBranch()const  { Warning("GetRecParticlesBranch", "not defined" ) ; return 0 ; }
+  //  virtual char * GetTrackSegmentsBranch()const { Warning("GetTrackSegmentsBranch", "not defined" ) ; return 0 ; } 
+  virtual const Int_t GetRecParticlesInRun()  const { Warning("GetRecParticlesInRun", "not defined" ) ; return 0 ;} 
+  virtual void Print(Option_t * option) const { Warning("Print", "not defined" ) ;}
+  //virtual void PlotDispersionCuts()const = 0;
+  //virtual void SetIdentificationMethod(char * option) = 0 ;
+  //virtual void SetShowerProfileCut(char *  formula) = 0  ; 
+  //virtual void SetDispersionCut(Float_t cut) = 0  ;   
+  virtual void SetCpvtoEmcDistanceCut(Float_t ClusterEn, TString EffPur,Float_t cut ) { Warning("SetCpvtoEmcDistanceCut", "not defined" ) ;}
+  virtual void SetTimeGate(Float_t ClusterEn, TString EffPur, Float_t gate) { Warning("SetTimeGate", "not defined" ) ; }
+  //  virtual void SetTrackSegmentsBranch(const char* title) { Warning("Exec", "not defined" ) ; }
+  //  virtual void SetRecParticlesBranch (const char* title) { Warning("SetTecParticlesBranch", "not defined" ) ; }
+  //  virtual void SetSplitFile(const TString splitFileName = "PHOS.RecData.root") const ; 
+  virtual const char * Version() const { Warning("Version", "not defined" ) ; return 0 ; }  
+  virtual void WriteRecParticles(Int_t event) { Warning("WriteRecParticles", "not defined" ) ; }
+  AliPHOSPID & operator = (const AliPHOSPID & pid) { return *this ; }
+
+protected: 
+  virtual void Init() { Warning("Init", "not defined" ) ; } 
+
+protected:
+
+  TFile * fSplitFile ;             //! file in which RecParticles will eventually be stored
+  Bool_t  fToSplit   ;             //! do we in the split mode  
   ClassDef(AliPHOSPID,1)  // Particle Identifier algorithm (base class)
 
 } ;