/* $Id$ */
+/* History of cvs commits:
+ *
+ * $Log$
+ * Revision 1.11 2006/08/01 12:15:03 cvetan
+ * Adding a constructor from TFolder. Needed by AliReconstruction plugin scheme
+ *
+ * Revision 1.10 2005/05/28 14:19:04 schutz
+ * Compilation warnings fixed by T.P.
+ *
+ */
+
//_________________________________________________________________________
// A singleton that returns various objects
// Should be used on the analysis stage to avoid confusing between different
class AliPHOSLoader : public AliLoader {
- public:
+public:
AliPHOSLoader();
- AliPHOSLoader(const AliPHOSLoader & obj) : AliLoader(obj) {}
+ AliPHOSLoader(const AliPHOSLoader & obj);
AliPHOSLoader(const Char_t *detname,const Char_t *eventfoldername);
+ AliPHOSLoader(const Char_t *detname,TFolder *topfolder);
virtual ~AliPHOSLoader() ;
Int_t LoadTracks(Option_t* opt=""); //reads Tracks from disk and sends them to folder; array as well as tree
Int_t LoadRecParticles(Option_t* opt="");
- Int_t PostHits(); //Posts the
- Int_t PostSDigits();
- Int_t PostDigits();
- Int_t PostRecPoints();
- Int_t PostTracks();
- Int_t PostRecParticles();
+ Int_t PostHits()const; //Posts the
+ Int_t PostSDigits()const;
+ Int_t PostDigits()const;
+ Int_t PostRecPoints()const;
+ Int_t PostTracks()const;
+ Int_t PostRecParticles()const;
void CleanFolders();//cleans all the stuff loaded by this detector + calls AliLoader::Clean
- void CleanHits();
- void CleanSDigits();
- void CleanDigits();
- void CleanRecPoints();
- void CleanTracks();
+ void CleanHits()const;
+ void CleanSDigits()const;
+ void CleanDigits()const;
+ void CleanRecPoints()const;
+ void CleanTracks()const;
void CleanRecParticles();
//up to now it is only here -> no definition about global/incremental tracking/PID
// Int_t WriteRecParticles(Option_t* opt="");//writes the reconstructed particles
// Int_t WritePID(Option_t* opt="");//writes the task for PID to file
// Bool_t PostPID (AliPHOSPID * pid) const {return kTRUE;}
-// Bool_t PostQA (void) const ; //it was empty anyway
/*******************************************************************/
/*******************************************************************/
const AliPHOSGeometry *PHOSGeometry() ;
// Alarms
// TFolder * Alarms() const { return (TFolder*)(ReturnO("Alarms", 0)); }
- TObjArray * Alarms();
+ TObjArray * Alarms() {return 0x0;}
/*********************************************/
/************ TClonesArrays ***********/
/************ T A S K S **************/
/*********************************************/
//
- // AliPHOSSDigitizer* PHOSSDigitizer(TString name = AliConfig::fgkDefaultEventFolderName);
+ // AliPHOSSDigitizer* PHOSSDigitizer(TString name = AliConfig::GetDefaultEventFolderName());
//AliPHOSDigitizer* PHOSDigitizer() { return dynamic_cast<AliPHOSDigitizer*>(Digitizer()) ;}
- AliPHOSClusterizer* Clusterizer () {return dynamic_cast<AliPHOSClusterizer*>(Reconstructioner()) ;}
- Int_t PostClusterizer(TTask* clust){return PostReconstructioner(clust);}
- Int_t LoadClusterizer(Option_t * opt="") {return LoadReconstructioner(opt);}
- Int_t WriteClusterizer(Option_t * opt="") {return WriteReconstructioner(opt);}
+ AliPHOSClusterizer* Clusterizer () const {return dynamic_cast<AliPHOSClusterizer*>(Reconstructioner()) ;}
+ Int_t PostClusterizer(TTask* clust) const {return PostReconstructioner(clust);}
+ Int_t LoadClusterizer(Option_t * opt="") const {return LoadReconstructioner(opt);}
+ Int_t WriteClusterizer(Option_t * opt="") const {return WriteReconstructioner(opt);}
- AliPHOSPID * PID (){return dynamic_cast<AliPHOSPID*>(PIDTask()) ;}
- Int_t PostPID(TTask* pid){return PostPIDTask(pid);}
- Int_t LoadPID(Option_t * opt="") {return LoadPIDTask(opt);}
- Int_t WritePID(Option_t * opt="") {return WritePIDTask(opt);}
+ AliPHOSPID * PID () const {return dynamic_cast<AliPHOSPID*>(PIDTask()) ;}
+ Int_t PostPID(TTask* pid) const {return PostPIDTask(pid);}
+ Int_t LoadPID(Option_t * opt="") const {return LoadPIDTask(opt);}
+ Int_t WritePID(Option_t * opt="") const {return WritePIDTask(opt);}
- AliPHOSTrackSegmentMaker * TrackSegmentMaker () { return dynamic_cast<AliPHOSTrackSegmentMaker *>(Tracker()) ;}
- Int_t PostTrackSegmentMaker(TTask* segmaker){return PostTracker(segmaker);}
- Int_t LoadTrackSegmentMaker(Option_t * opt="") {return LoadTracker(opt);}
- Int_t WriteTrackSegmentMaker(Option_t * opt="") {return WriteTracker(opt);}
+ AliPHOSTrackSegmentMaker * TrackSegmentMaker () const { return dynamic_cast<AliPHOSTrackSegmentMaker *>(Tracker()) ;}
+ Int_t PostTrackSegmentMaker(TTask* segmaker) const {return PostTracker(segmaker);}
+ Int_t LoadTrackSegmentMaker(Option_t * opt="") const {return LoadTracker(opt);}
+ Int_t WriteTrackSegmentMaker(Option_t * opt="") const {return WriteTracker(opt);}
void SetDebug(Int_t level) {fDebug = level;} // Set debug level
void SetBranchTitle(const TString& btitle);
-
- AliPHOSCalibrationDB * CalibrationDB(){return fcdb; }
- void ReadCalibrationDB(const char * name, const char * filename);
-
- public:
-
- static const TString fgkHitsName;//Name for TClonesArray with hits from one event
- static const TString fgkSDigitsName;//Name for TClonesArray
- static const TString fgkDigitsName;//Name for TClonesArray
- static const TString fgkEmcRecPointsName;//Name for TClonesArray
- static const TString fgkCpvRecPointsName;//Name for TClonesArray
- static const TString fgkTracksName;//Name for TClonesArray
- static const TString fgkRecParticlesName;//Name for TClonesArray
- static const TString fgkEmcRecPointsBranchName;//Name for branch
- static const TString fgkCpvRecPointsBranchName;//Name for branch
- static const TString fgkTrackSegmentsBranchName;//Name for branch
- static const TString fgkRecParticlesBranchName;//Name for branch
+ Int_t GetDebug() const {return fDebug; }
+ TString GetBranchTitle() const {return fBranchTitle;}
+ AliPHOSCalibrationDB * CalibrationDB() const {return fcdb; }
+ void ReadCalibrationDB(const char * name, const char * filename);
protected:
TString fBranchTitle; //Title of the branch
Int_t ReadTracks();
Int_t ReadRecParticles();
- void ReadTreeQA() ;
Int_t fDebug ; // Debug level
+
+ static const TString fgkHitsName;//Name for TClonesArray with hits from one event
+ static const TString fgkSDigitsName;//Name for TClonesArray
+ static const TString fgkDigitsName;//Name for TClonesArray
+ static const TString fgkEmcRecPointsName;//Name for TClonesArray
+ static const TString fgkCpvRecPointsName;//Name for TClonesArray
+ static const TString fgkTracksName;//Name for TClonesArray
+ static const TString fgkRecParticlesName;//Name for TClonesArray
+
+ static const TString fgkEmcRecPointsBranchName;//Name for branch
+ static const TString fgkCpvRecPointsBranchName;//Name for branch
+ static const TString fgkTrackSegmentsBranchName;//Name for branch
+ static const TString fgkRecParticlesBranchName;//Name for branch
+
ClassDef(AliPHOSLoader,3) // Algorithm class that provides methods to retrieve objects from a list knowing the index
return (const AliPHOSRecParticle*) tcarr->At(index);
return 0x0;
}
-/******************************************************************************/
-inline TObjArray * AliPHOSLoader::Alarms()
-{ return (TObjArray*)(GetQAFolder()->FindObject(fDetectorName));}
#endif // AliPHOSLOADER_H