]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONData.h
Adding MUON HLT code to the repository.
[u/mrichter/AliRoot.git] / MUON / AliMUONData.h
index 41365556f8e22178f94f43f6af4308a68f1266bf..352372556d1db9a561f869c474977ecbcbc640a8 100644 (file)
@@ -5,12 +5,16 @@
  * See cxx source for full Copyright notice                               */
 
 /* $Id$ */
+// Revision of includes 07/05/2004
 
 // AliMUONData
 // Class containing MUON data: hits, digits, rawclusters, globaltrigger, localtrigger, etc ...
 // Gines Martinez, Subatech,  September 2003
 //
 
+#include <TNamed.h>
+#include <TArrayI.h>
+
 #include "AliLoader.h"
 
 class TClonesArray;
@@ -18,7 +22,6 @@ class TNamed;
 class TObjArray;
 class TTree;
 
-
 class AliMUONConstants;
 class AliMUONRawCluster;
 class AliMUONTrack;
@@ -35,35 +38,36 @@ class AliMUONGlobalTrigger;
 //                                                                 //
 /////////////////////////////////////////////////////////////////////
 
-class AliMUONData : public TNamed {
- public:
+class AliMUONData : public TNamed 
+{
+  public:
     AliMUONData();
     AliMUONData(AliLoader * loader, const char* name, const char* title);
-    AliMUONData(const AliMUONData& rMUONData);
     virtual ~AliMUONData();  
     virtual void   AddDigit(Int_t id, Int_t* tracks, Int_t* charges,
                             Int_t* digits); 
     virtual void   AddSDigit(Int_t id, Int_t* tracks, Int_t* charges,
                             Int_t* digits); 
-    virtual void   AddDigit(Int_t, const AliMUONDigit& ); // use copy constructor
-    virtual void   AddSDigit(Int_t, const AliMUONDigit& ); // use copy constructor
+    virtual void   AddDigit(Int_t id, const AliMUONDigit& digit); // use copy constructor
+    virtual void   AddSDigit(Int_t id, const AliMUONDigit& digit); // use copy constructor
     virtual void   AddHit(Int_t fIshunt, Int_t track, Int_t iChamber, 
                          Int_t idpart, Float_t X, Float_t Y, Float_t Z, 
                          Float_t tof, Float_t momentum, Float_t theta, 
-                         Float_t phi, Float_t length, Float_t destep);
-    virtual void   AddHit(Int_t fIshunt, Int_t track, Int_t iChamber, 
+                         Float_t phi, Float_t length, Float_t destep, 
+                         Float_t Xref,Float_t Yref,Float_t Zref);
+                         // TBR
+    virtual void   AddHit2(Int_t fIshunt, Int_t track, Int_t detElemId, 
                          Int_t idpart, Float_t X, Float_t Y, Float_t Z, 
                          Float_t tof, Float_t momentum, Float_t theta, 
                          Float_t phi, Float_t length, Float_t destep, 
                          Float_t Xref,Float_t Yref,Float_t Zref);
-    virtual void   AddHit(const AliMUONHit& ); // use copy constructor
     
     virtual void   AddGlobalTrigger(Int_t *singlePlus, Int_t *singleMinus,
                                    Int_t *singleUndef, Int_t *pairUnlike, 
                                    Int_t *pairLike);
     virtual void   AddGlobalTrigger(const AliMUONGlobalTrigger& trigger); // use copy constructor
 
-    virtual void   AddLocalTrigger(Int_t* ltrigger);
+    virtual void   AddLocalTrigger(const Int_t* ltrigger, const TArrayI& digits);
     virtual void   AddLocalTrigger(const AliMUONLocalTrigger& trigger); // use copy constructor
 
     virtual void   AddRawCluster(Int_t id, const AliMUONRawCluster& clust);
@@ -81,18 +85,21 @@ class AliMUONData : public TNamed {
     TClonesArray*  RecTracks() {return fRecTracks;}
     TClonesArray*  RecTriggerTracks() {return fRecTriggerTracks;}
 
-    void           GetTrack(Int_t it) {fLoader->TreeH()->GetEvent(it);}
-    Int_t          GetNtracks()       {return (Int_t) fLoader->TreeH()->GetEntries();}
-    void           GetCathode(Int_t ic) {fLoader->TreeD()->GetEvent(ic);}
-    void           GetCathodeS(Int_t ic) {fLoader->TreeS()->GetEvent(ic);}
-    void           GetRawClusters() {fLoader->TreeR()->GetEvent(0);}
-    void           GetTrigger() {fLoader->TreeR()->GetEvent(0);}
-    Int_t          GetSplitLevel() {return fSplitLevel;}
-    void           GetRecTracks() {fLoader->TreeT()->GetEvent(0);}
-    void           GetRecTriggerTracks() {fLoader->TreeT()->GetEvent(0);}
+    void           GetTrack(Int_t it) const  {fLoader->TreeH()->GetEvent(it);}
+    Int_t          GetNtracks() const      {return (Int_t) fLoader->TreeH()->GetEntries();}
+    void           GetCathode(Int_t ic) const {fLoader->TreeD()->GetEvent(ic);}
+    void           GetCathodeS(Int_t ic) const {fLoader->TreeS()->GetEvent(ic);}
+    void           GetRawClusters() const {fLoader->TreeR()->GetEvent(0);}
+    void           GetTrigger() const {fLoader->TreeR()->GetEvent(0);}
+    void           GetTriggerD() const {fLoader->TreeD()->GetEvent(0);}
+    Int_t          GetSplitLevel() const {return fSplitLevel;}
+    void           GetRecTracks() const {fLoader->TreeT()->GetEvent(0);}
+    void           GetRecTriggerTracks() const {fLoader->TreeT()->GetEvent(0);}
 
     Bool_t        IsRawClusterBranchesInTree();
+    Bool_t        IsDigitsBranchesInTree();
     Bool_t        IsTriggerBranchesInTree();
+    Bool_t        IsTriggerBranchesInTreeD();
     Bool_t        IsTrackBranchesInTree();
     Bool_t        IsTriggerTrackBranchesInTree();
 
@@ -121,12 +128,10 @@ class AliMUONData : public TNamed {
     TTree*         TreeT() {return fLoader->TreeT(); }
     TTree*         TreeP() {return fLoader->TreeP(); }
 
- private:  
-    //descendant classes should
-    //use protected interface methods to access these folders
+  protected: 
+    AliMUONData(const AliMUONData& rhs);
+    AliMUONData& operator=(const AliMUONData& rhs);
 
-  
- protected: 
     AliLoader*  fLoader; //! Detector Loader pointer
     TClonesArray*   fHits;  // One event in treeH per primary track
     TObjArray*      fDigits; // One event in treeD and one branch per detection plane
@@ -147,7 +152,12 @@ 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)
 
-    ClassDef(AliMUONData,1)
- };
+  private:  
+    //descendant classes should
+    //use protected interface methods to access these folders
+
+  
+  ClassDef(AliMUONData,2)
+};
 #endif