5 // Class containing MUON data: hits, digits, rawclusters, globaltrigger, localtrigger, etc ...
6 // Gines Martinez, Subatech, September 2003
11 #include "AliLoader.h"
12 #include "AliMUONConstants.h"
18 class AliMUONRawCluster;
21 //__________________________________________________________________
22 /////////////////////////////////////////////////////////////////////
24 // class AliMUONData //
26 /////////////////////////////////////////////////////////////////////
28 class AliMUONData : public TNamed {
31 AliMUONData(AliLoader * loader, const char* name, const char* title);
32 AliMUONData(const AliMUONData& rMUONData);
33 virtual ~AliMUONData();
34 virtual void AddDigit(Int_t id, Int_t* tracks, Int_t* charges,
36 virtual void AddHit(Int_t fIshunt, Int_t track, Int_t iChamber,
37 Int_t idpart, Float_t X, Float_t Y, Float_t Z,
38 Float_t tof, Float_t momentum, Float_t theta,
39 Float_t phi, Float_t length, Float_t destep);
40 virtual void AddGlobalTrigger(Int_t *singlePlus, Int_t *singleMinus,
41 Int_t *singleUndef, Int_t *pairUnlike,
43 virtual void AddLocalTrigger(Int_t* ltrigger);
44 virtual void AddRawCluster(Int_t id, const AliMUONRawCluster& clust);
45 virtual void AddRecTrack(const AliMUONTrack& track);
47 TClonesArray* Hits() {return fHits;}
48 TClonesArray* Digits(Int_t DetectionPlane, Int_t /*Cathode*/)
49 {return ( (TClonesArray*) fDigits->At(DetectionPlane) );}
50 TClonesArray* LocalTrigger() {return fLocalTrigger;}
51 TClonesArray* GlobalTrigger() {return fGlobalTrigger;}
52 TClonesArray* RawClusters(Int_t DetectionPlane)
53 {return ( (TClonesArray*) fRawClusters->At(DetectionPlane) );}
54 TClonesArray* RecTracks() {return fRecTracks;}
56 virtual AliLoader* GetLoader() {return fLoader;}
57 virtual void SetLoader(AliLoader * loader) {fLoader=loader;}
59 virtual void MakeBranch(Option_t *opt=" ");
60 virtual void SetTreeAddress(Option_t *opt=" ");
62 virtual void ResetHits();
63 virtual void ResetDigits();
64 virtual void ResetTrigger();
65 virtual void ResetRawClusters();
66 virtual void ResetRecTracks();
68 TTree* TreeH() {return fLoader->TreeH(); }
69 TTree* TreeD() {return fLoader->TreeD(); }
70 TTree* TreeR() {return fLoader->TreeR(); }
71 TTree* TreeT() {return fLoader->TreeT(); }
72 TTree* TreeP() {return fLoader->TreeP(); }
75 //descendant classes should
76 //use protected interface methods to access these folders
82 // One event in treeH per primary track
84 // One event in treeD and one branch per detection plane
86 //One event in TreeR/Rawcluster and one branch per tracking detection plane
87 TObjArray* fRawClusters;
88 //! List of Global Trigger One event in TreeR/GlobalTriggerBranch
89 TClonesArray* fGlobalTrigger;
90 //! List of Local Trigger, One event in TreeR/LocalTriggerBranch
91 TClonesArray* fLocalTrigger;
92 // pointer to array of reconstructed tracks
93 TClonesArray* fRecTracks;
98 Int_t fNglobaltrigger;
102 ClassDef(AliMUONData,1)