]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/AliMUONData.h
Fixes to coding conventions violations
[u/mrichter/AliRoot.git] / MUON / AliMUONData.h
... / ...
CommitLineData
1#ifndef ALIMUONDATA_H
2#define ALIMUONDATA_H
3//
4// AliMUONData
5// Class containing MUON data: hits, digits, rawclusters, globaltrigger, localtrigger, etc ...
6// Gines Martinez, Subatech, September 2003
7//
8
9#include "TNamed.h"
10
11#include "AliLoader.h"
12#include "AliMUONConstants.h"
13
14class TClonesArray;
15class TObjArray;
16class TTree;
17
18class AliMUONRawCluster;
19
20//__________________________________________________________________
21/////////////////////////////////////////////////////////////////////
22// //
23// class AliMUONData //
24// //
25/////////////////////////////////////////////////////////////////////
26
27class AliMUONData : public TNamed {
28 public:
29 AliMUONData();
30 AliMUONData(AliLoader * loader, const char* name, const char* title);
31 AliMUONData(const AliMUONData& rMUONData);
32 virtual ~AliMUONData();
33 virtual void AddDigit(Int_t id, Int_t* tracks, Int_t* charges,
34 Int_t* digits);
35 virtual void AddHit(Int_t fIshunt, Int_t track, Int_t iChamber,
36 Int_t idpart, Float_t X, Float_t Y, Float_t Z,
37 Float_t tof, Float_t momentum, Float_t theta,
38 Float_t phi, Float_t length, Float_t destep);
39 virtual void AddGlobalTrigger(Int_t *singlePlus, Int_t *singleMinus,
40 Int_t *singleUndef, Int_t *pairUnlike,
41 Int_t *pairLike);
42 virtual void AddLocalTrigger(Int_t* ltrigger);
43 virtual void AddRawCluster(Int_t id, const AliMUONRawCluster& clust);
44 TClonesArray* Hits() {return fHits;}
45 TClonesArray* Digits(Int_t DetectionPlane, Int_t /*Cathode*/)
46 {return ( (TClonesArray*) fDigits->At(DetectionPlane) );}
47 TClonesArray* LocalTrigger() {return fLocalTrigger;}
48 TClonesArray* GlobalTrigger() {return fGlobalTrigger;}
49 TClonesArray* RawClusters(Int_t DetectionPlane)
50 {return ( (TClonesArray*) fRawClusters->At(DetectionPlane) );}
51
52 virtual void MakeBranch(Option_t *opt=" ");
53 virtual void SetTreeAddress();
54
55 virtual void ResetHits();
56 virtual void ResetDigits();
57 virtual void ResetTrigger();
58 virtual void ResetRawClusters();
59
60 TTree* TreeH() {return fLoader->TreeH(); }
61 TTree* TreeD() {return fLoader->TreeD(); }
62 TTree* TreeR() {return fLoader->TreeR(); }
63 TTree* TreeT() {return fLoader->TreeT(); }
64 TTree* TreeP() {return fLoader->TreeP(); }
65
66 private:
67 //descendant classes should
68 //use protected interface methods to access these folders
69
70
71 protected:
72 AliLoader* fLoader;
73
74 TClonesArray* fHits; // One event in treeH per primary track
75 TObjArray* fDigits; // One event in treeD and one branch per detection plane
76 TObjArray* fRawClusters; //One event in TreeR/Rawcluster and one branch per tracking detection plane
77 TClonesArray* fGlobalTrigger; //! List of Global Trigger One event in TreeR/GlobalTriggerBranch
78 TClonesArray* fLocalTrigger; //! List of Local Trigger, ONe event in TreeR/LocalTriggerBranch
79 Int_t fNhits;
80 Int_t* fNdigits;
81 Int_t* fNrawclusters;
82 Int_t fNglobaltrigger;
83 Int_t fNlocaltrigger;
84
85 ClassDef(AliMUONData,1)
86 };
87#endif