]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSLoader.h
EMCAL geometry can be created independently form anything now
[u/mrichter/AliRoot.git] / PHOS / AliPHOSLoader.h
index 67ec1949f448b80360123432e0d926e26314d710..46c342611b964f7ff6cf64474477e779a4b14fb4 100644 (file)
@@ -5,6 +5,17 @@
 
 /* $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
@@ -50,11 +61,12 @@ class AliPHOSDigitizer ;
 
 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() ; 
 
@@ -72,20 +84,20 @@ class AliPHOSLoader : public AliLoader {
   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
@@ -93,7 +105,6 @@ class AliPHOSLoader : public AliLoader {
 //   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
   
 /*******************************************************************/
 /*******************************************************************/
@@ -120,7 +131,7 @@ class AliPHOSLoader : public AliLoader {
   const AliPHOSGeometry  *PHOSGeometry() ; 
   // Alarms
   // TFolder * Alarms() const { return (TFolder*)(ReturnO("Alarms", 0)); }
-  TObjArray *  Alarms();  
+  TObjArray *  Alarms() {return 0x0;}  
 
   /*********************************************/
   /************    TClonesArrays     ***********/
@@ -156,46 +167,33 @@ class AliPHOSLoader : public AliLoader {
   /************    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
@@ -210,8 +208,21 @@ private:
   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 
 
@@ -324,8 +335,5 @@ inline const AliPHOSRecParticle* AliPHOSLoader::RecParticle(Int_t index)
     return (const AliPHOSRecParticle*) tcarr->At(index);
   return 0x0;  
 }
-/******************************************************************************/
-inline TObjArray *  AliPHOSLoader::Alarms()
-{ return (TObjArray*)(GetQAFolder()->FindObject(fDetectorName));}
 
 #endif // AliPHOSLOADER_H