]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONData.h
Additional protection in case of negative indexes. More investigation is needed
[u/mrichter/AliRoot.git] / MUON / AliMUONData.h
index d7af64582b2c3439c5fbf17c969f20a22d582169..73c284dcc160d521c2e973614a538428fc09f9d9 100644 (file)
@@ -17,7 +17,8 @@
 /// Author: Gines Martinez, Subatech,  September 2003
 
 #include <TNamed.h>
-#include <TArrayI.h>
+
+class TArrayI;
 
 #include "AliLoader.h"
 
@@ -25,6 +26,7 @@ class TClonesArray;
 class TNamed;
 class TObjArray;
 class TTree;
+class TIterator;
 
 class AliMUONConstants;
 class AliMUONRawCluster;
@@ -45,6 +47,9 @@ class AliMUONGlobalTrigger;
 class AliMUONData : public TNamed 
 {
   public:
+  
+  //  enum EChamberIteration { kAllChambers, kTrackingChambers, kTriggerChambers };
+  
     AliMUONData();
     AliMUONData(AliLoader * loader, const char* name, const char* title);
     virtual ~AliMUONData();  
@@ -79,19 +84,17 @@ class AliMUONData : public TNamed
     virtual void   AddRecTriggerTrack(const AliMUONTriggerTrack& triggertrack);
 
     TClonesArray*  Hits() {return fHits;}
-    TClonesArray*  Digits(Int_t DetectionPlane);
-    TClonesArray*  SDigits(Int_t DetectionPlane);
-//    TClonesArray*  LocalTrigger() {return fLocalTrigger;}
-//    TClonesArray*  GlobalTrigger() {return fGlobalTrigger;}
-    TClonesArray*  LocalTrigger();
-    TClonesArray*  GlobalTrigger();    
+    TClonesArray*  Digits(Int_t DetectionPlane) const;
+    TClonesArray*  SDigits(Int_t DetectionPlane) const;
+    TClonesArray*  LocalTrigger() const;
+    TClonesArray*  GlobalTrigger() const;    
     TClonesArray*  RawClusters(Int_t DetectionPlane);
     TClonesArray*  RecTracks() {return fRecTracks;}
     TClonesArray*  RecTriggerTracks() {return fRecTriggerTracks;}
 
     void           GetTrack(Int_t it) const  {fLoader->TreeH()->GetEvent(it);}
     Int_t          GetNtracks() const      {return (Int_t) fLoader->TreeH()->GetEntries();}
-    void           GetDigits() const {fLoader->TreeD()->GetEvent(0);}
+    void           GetDigits() const;
     void           GetSDigits() const {fLoader->TreeS()->GetEvent(0);}
     void           GetRawClusters() const {fLoader->TreeR()->GetEvent(0);}
     void           GetTrigger() const {fLoader->TreeR()->GetEvent(0);}
@@ -107,7 +110,7 @@ class AliMUONData : public TNamed
     Bool_t        IsTrackBranchesInTree();
     Bool_t        IsTriggerTrackBranchesInTree();
 
-    virtual AliLoader* GetLoader() {return fLoader;}
+    virtual AliLoader* GetLoader() const { return fLoader; }
     virtual void       SetLoader(AliLoader * loader) {fLoader=loader;}    
     
     virtual void   Fill(Option_t* opt=" ");
@@ -116,7 +119,8 @@ class AliMUONData : public TNamed
     
     void           SetSplitLevel(Int_t SplitLevel) {fSplitLevel=SplitLevel;}
     
-
+    virtual void Print(Option_t* opt="") const;
+    
     virtual void   ResetHits();
     virtual void   ResetDigits();
     virtual void   ResetSDigits();
@@ -132,6 +136,8 @@ class AliMUONData : public TNamed
     TTree*         TreeT() {return fLoader->TreeT(); }
     TTree*         TreeP() {return fLoader->TreeP(); }
 
+    //    TIterator* CreateDigitIterator(AliMUONData::EChamberIteration type);
+    
   protected: 
     AliMUONData(const AliMUONData& rhs);
     AliMUONData& operator=(const AliMUONData& rhs);
@@ -156,12 +162,14 @@ class AliMUONData : public TNamed
     Int_t           fNrectriggertracks; //! Number of reconstructed tracks
     Int_t           fSplitLevel; // Splitting of branches 0 no spitting (root files are smaller) 1 splitting (larger output files)
 
-  private:  
-    //descendant classes should
-    //use protected interface methods to access these folders
+    mutable Int_t fCurrentEvent; // Current event we're dealing with\13
+    
+private:  
 
-  
-  ClassDef(AliMUONData,2)
+  ClassDef(AliMUONData,3) // Data accessor for MUON module
+      
 };
+
+
 #endif