/* $Id$ */
+/* History of cvs commits:
+ *
+ * $Log$
+ * Revision 1.12 2006/08/25 16:00:53 kharlov
+ * Compliance with Effective C++AliPHOSHit.cxx
+ *
+ * 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
// another set of RecPoints.
//
// The objects are retrived from folders.
-//*-- Author: Yves Schutz (SUBATECH) & Dmitri Peressounko (RRC KI & SUBATECH)
+//-- Author: Yves Schutz (SUBATECH) & Dmitri Peressounko (RRC KI & SUBATECH)
//
// --- Standard library ---
// --- AliRoot header files ---
-
#include "AliRun.h"
#include "AliLoader.h"
#include "AliRunLoader.h"
#include "AliPHOSTrackSegmentMaker.h"
#include "AliPHOSPID.h"
class AliPHOS ;
-class AliPHOSGeometry ;
class AliPHOSHit ;
class AliPHOSDigit ;
class AliPHOSEmcRecPoint ;
class AliPHOSCpvRecPoint ;
class AliPHOSTrackSegment ;
class AliPHOSRecParticle ;
-class AliPHOSCalibrationDB ;
class AliPHOSSDigitizer ;
class AliPHOSDigitizer ;
-
-
-//
-
class AliPHOSLoader : public AliLoader {
public:
AliPHOSLoader();
- AliPHOSLoader(const AliPHOSLoader & obj) : AliLoader(obj) {}
AliPHOSLoader(const Char_t *detname,const Char_t *eventfoldername);
+ AliPHOSLoader(const Char_t *detname,TFolder *topfolder);
virtual ~AliPHOSLoader() ;
- // assignement operator requested by coding convention, but not needed
- AliPHOSLoader & operator = (const AliPHOSLoader & ) {return *this;}
-
Int_t GetEvent();//extends the method on PHOS RecPart posting
Int_t SetEvent();//extends the method on PHOS RecPart posting
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
TObject** AlarmsRef(){return GetDetectorDataRef(Alarms());}
void Track(Int_t itrack) ;
- static AliPHOSGeometry* GetPHOSGeometry();
static AliPHOSLoader* GetPHOSLoader(const char* eventfoldername);
//Method to be used when digitizing under AliRunDigitizer, who opens all files etc.
Int_t EventNumber() { return (Int_t) GetRunLoader()->GetEventNumber();}
Int_t MaxEvent() { return (Int_t) GetRunLoader()->TreeE()->GetEntries();}
- const AliPHOS * PHOS();
- const AliPHOSGeometry *PHOSGeometry() ;
+/* const AliPHOS * PHOS(); */
// Alarms
// TFolder * Alarms() const { return (TFolder*)(ReturnO("Alarms", 0)); }
TObjArray * Alarms() {return 0x0;}
// AliPHOSSDigitizer* PHOSSDigitizer(TString name = AliConfig::GetDefaultEventFolderName());
//AliPHOSDigitizer* PHOSDigitizer() { return dynamic_cast<AliPHOSDigitizer*>(Digitizer()) ;}
- 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 () 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 () 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);
+
+ Int_t GetDebug() const {return fDebug; }
+ TString GetBranchTitle() const {return fBranchTitle;}
protected:
TString fBranchTitle; //Title of the branch
- AliPHOSCalibrationDB * fcdb ; //!
private:
+ // assignement operator requested by coding convention, but not needed
+ AliPHOSLoader(const AliPHOSLoader &); //Not implemented
+ AliPHOSLoader & operator = (const AliPHOSLoader & ); //Not implemented
+
Int_t ReadHits();
Int_t ReadDigits();
Int_t ReadSDigits();
Int_t ReadRecParticles();
Int_t fDebug ; // Debug level
+ TClonesArray *fTmpHits; //! Temporary array of hits per track
static const TString fgkHitsName;//Name for TClonesArray with hits from one event
static const TString fgkSDigitsName;//Name for TClonesArray
static const TString fgkRecParticlesBranchName;//Name for branch
- ClassDef(AliPHOSLoader,3) // Algorithm class that provides methods to retrieve objects from a list knowing the index
+ ClassDef(AliPHOSLoader,4) // Algorithm class that provides methods to retrieve objects from a list knowing the index
};