]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONRecData.h
Removing not needed Reset function
[u/mrichter/AliRoot.git] / MUON / AliMUONRecData.h
CommitLineData
990f8c6b 1#ifndef ALIMUONRECDATA_H
2#define ALIMUONRECDATA_H
3//
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id$ */
8// Revision of includes 07/05/2004
9//
10/// \ingroup rec
11/// \class AliMUONRecData
12/// \brief Class containing MUON data: hits, digits, rawclusters, globaltrigger,
13/// localtrigger, etc ...
14///
15// Author: Gines Martinez, Subatech, September 2003
16
17#include "AliLoader.h"
18
19#include "AliMUONData.h"
20
21class AliMUONRawCluster;
22class AliMUONTrack;
23class AliMUONTriggerTrack;
24
25class AliRunLoader;
26
27class TClonesArray;
28class TObjArray;
29class TTree;
30
31
32//__________________________________________________________________
33/////////////////////////////////////////////////////////////////////
34// //
35// class AliMUONData //
36// //
37/////////////////////////////////////////////////////////////////////
38
39class AliMUONRecData : public AliMUONData
40{
41 public:
42
43 // enum EChamberIteration { kAllChambers, kTrackingChambers, kTriggerChambers };
44
45 AliMUONRecData();
46 AliMUONRecData(AliLoader * loader, const char* name, const char* title);
47 AliMUONRecData(const char* galiceFile);
48 virtual ~AliMUONRecData();
49
50 virtual void AddRawCluster(Int_t id, const AliMUONRawCluster& clust);
51 virtual void AddRecTrack(const AliMUONTrack& track);
52 virtual void AddRecTriggerTrack(const AliMUONTriggerTrack& triggertrack);
53
54 TClonesArray* RawClusters(Int_t DetectionPlane);
55
56 /// Return reconstructed tracks
57 TClonesArray* RecTracks() {return fRecTracks;}
58 /// Return reconstructed trigger tracks
59 TClonesArray* RecTriggerTracks() {return fRecTriggerTracks;}
60
61 void GetRawClusters() const;
62 void GetTrigger() const;
63 void GetRecTracks() const;
64 void GetRecTriggerTracks() const;
65
66 Bool_t IsRawClusterBranchesInTree();
67 Bool_t IsTrackBranchesInTree();
68 Bool_t IsTriggerBranchesInTree();
69 Bool_t IsTriggerTrackBranchesInTree();
70
71 virtual void Fill(Option_t* opt=" ");
72 virtual void MakeBranch(Option_t *opt=" ");
73 virtual void SetDataContainer(Option_t *opt=" ");
74 virtual void SetTreeAddress(Option_t *opt=" ");
75
76 virtual void ResetRawClusters();
77 virtual void ResetRecTracks();
78 virtual void ResetRecTriggerTracks();
79
80 /// Return tree with raw clusters
81 TTree* TreeR() {return fLoader->TreeR(); }
82 /// Return tree with tracks
83 TTree* TreeT() {return fLoader->TreeT(); }
84
85 // Methods to dump data
86 void DumpRecPoints(Int_t event2Check=0, Option_t* opt="full");
87 void DumpRecTrigger(Int_t event2Check=0, Int_t write = 0, Bool_t readFromRP = kTRUE);
88
89 protected:
90 /// Not implemented
91 AliMUONRecData(const AliMUONRecData& rhs);
92 /// Not implemented
93 AliMUONRecData& operator=(const AliMUONRecData& rhs);
94
95 TObjArray* fRawClusters; ///< One event in TreeR/Rawcluster and one branch per tracking detection plane
96 TClonesArray* fRecTracks; ///< pointer to array of reconstructed tracks
97 TClonesArray* fRecTriggerTracks; ///< pointer to array of reconstructed trigger tracks
98
99 Int_t* fNrawclusters; //!< Number of Raw Clusters
100 Int_t fNrectracks; //!< Number of reconstructed tracks
101 Int_t fNrectriggertracks; //!< Number of reconstructed tracks
102 Int_t fSplitLevel; ///< Splitting of branches 0 no spitting (root files are smaller) 1 splitting (larger output files)
103
104 mutable Int_t fCurrentEvent; ///< Current event we're dealing with
105
106private:
107 void FillOwn(Option_t* opt=" ");
108 void MakeOwnBranch(Option_t *opt=" ");
109 void SetOwnDataContainer(Option_t *opt=" ");
110 void SetOwnTreeAddress(Option_t *opt=" ");
111
112
113 ClassDef(AliMUONRecData,3) // Data accessor for MUON module
114
115};
116// inline functions
117
118
119/// Load raw clusters tree
120inline void AliMUONRecData::GetRawClusters() const {
121 if (fLoader && fLoader->TreeR())
122 fLoader->TreeR()->GetEvent(0);
123}
124
125/// Load trigger tree
126inline void AliMUONRecData::GetTrigger() const {
127 if (fLoader && fLoader->TreeR())
128 fLoader->TreeR()->GetEvent(0);
129}
130
131/// Load reconstructed tracks
132inline void AliMUONRecData::GetRecTracks() const {
133 if (fLoader && fLoader->TreeT())
134 fLoader->TreeT()->GetBranch("MUONTrack")->GetEvent(0);
135}
136
137/// Load reconstructed trigger tracks
138inline void AliMUONRecData::GetRecTriggerTracks() const {
139 if (fLoader && fLoader->TreeT())
140 fLoader->TreeT()->GetBranch("MUONTriggerTrack")->GetEvent(0);
141}
142
143
144
145#endif
146