/* $Id$ */
-////////////////////////////////////////////////
-// Algorithme class for the identification of//
-// particles detected in PHOS //
-// base class //
-// Version SUBATECH //
-// Author Yves Schutz SUBATECH //
-// //
-// pABC //
-////////////////////////////////////////////////
+//_________________________________________________________________________
+// Algorithm class for the identification of particles detected in PHOS
+// base class
+// of identified particles
+//*-- Author: Yves Schutz (SUBATECH)
// --- ROOT system ---
-#include "TObject.h"
-#include "TClonesArray.h"
-
+#include "TTask.h"
+class TFormula ;
+class TClonesArray ;
+class TFile ;
// --- Standard library ---
// --- AliRoot header files ---
-#include "AliPHOSTrackSegmentMaker.h"
-
-
-typedef TClonesArray RecParticlesList ;
+class AliPHOSGeometry ;
+class AliPHOSClusterizer ;
+class AliPHOSTrackSegmentMaker ;
-class AliPHOSPID : public TObject {
+class AliPHOSPID : public TTask {
-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 GetParticleType(TrackSegmentsList * trsl, RecParticlesList * rpl) {} ;
- virtual void SetShowerProfileCuts(Float_t, Float_t, Float_t, Float_t) {} ;
- virtual void SetDispersionCutOff(Float_t ) {}
+ 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:
- ClassDef(AliPHOSPID,1) // Particle Identifier interface, version 1
+ 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)
} ;