]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCEventStatistics.h
adding pointer protection
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCEventStatistics.h
1 //-*- Mode: C++ -*-
2 // $Id$
3 #ifndef ALIHLTTPCEVENTSTATISTICS_H
4 #define ALIHLTTPCEVENTSTATISTICS_H
5
6 /* This file is property of and copyright by the ALICE HLT Project        * 
7  * ALICE Experiment at CERN, All rights reserved.                         *
8  * See cxx source for full Copyright notice                               */
9
10 /** @file   AliHLTTPCEventStatistics.h
11     @author Jochen Thaeder
12     @date   
13     @brief  TPC class for event statistics, derived from @see AliHLTEventStatistics
14 */
15
16 // see below for class documentation
17 // or
18 // refer to README to build package
19 // or
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt   
21
22 #include "TObject.h"
23 #include "TString.h"
24
25 #include "AliHLTEventStatistics.h"
26
27 /**
28  * @class  AliHLTTPCEventStatistics
29  * @brief  TPC class for event statistics, derived from @see AliHLTEventStatistics
30  *
31  * The event statistic classes hold information about certain characteristica 
32  * of the processed events. They are devided into 3 parts. A base class 
33  * @see AliHLTEventStatistics for general Information, detector specific
34  * classes like @see AliHLTTPCEventStatistics for the TPC and a summary class
35  * @see AliHLTEventStatisticsSummary which can hold several detector classes.
36  *
37  * This is the detector class for the TPC.
38  *
39  * See base class @see AliHLTEventStatistics for further information.
40  *
41  * 
42  * @ingroup alihlt_run_statistics alihlt_trigger
43  */
44
45 class AliHLTTPCEventStatistics : public AliHLTEventStatistics {
46   
47 public:
48   
49   /** constructor */
50   AliHLTTPCEventStatistics();
51   /** destructor */
52   virtual ~AliHLTTPCEventStatistics();
53
54   // -- Tracks --
55
56   /** Get Total number of tracks 
57    *  @return number of tracks
58    */
59   Int_t GetNTotalTracks()                              { return fNTotalTracks; }
60
61   /** Set Total number of tracks 
62    *  @param i  number of tracks
63    */
64   void SetNTotalTracks( Int_t i)                       { fNTotalTracks = i; }
65
66   // --
67
68   /** Get Total number of tracks with ( number of cluster >= fClusterThreshold )
69    *  @return number of tracks
70    */
71   Int_t GetNTracksAboveClusterThreshold()              { return fNTracksAboveClusterThreshold; }
72
73   /** Set Total number of tracks with ( number of cluster >= fClusterThreshold ) 
74    *  @param i  number of tracks
75    */
76   void SetNTotalTracksAboveClusterThreshold( Int_t i)  { fNTracksAboveClusterThreshold = i;}
77
78   /** Add tracks to total number of tracks with ( number of cluster >= fClusterThreshold ) 
79    *  @param i  number of tracks
80    */
81   void AddNTracksAboveClusterThreshold( Int_t i = 1 )  { fNTracksAboveClusterThreshold += i; }
82
83   // --
84
85   /** Max of ( tracks per sector ) 
86    *  @return number of tracks
87    */
88   Int_t GetNMaxTracksPerSector()                       { return fNMaxTracksPerSector; }
89
90   /** Max of ( tracks per sector ) 
91    *  @param i  number of tracks
92    */
93   void SetNMaxTracksPerSector( Int_t i)                { fNMaxTracksPerSector = i; }
94
95   // --
96
97   /** Min of ( tracks per sector ) 
98    *  @return number of tracks
99    */
100   Int_t GetNMinTracksPerSector()                       { return fNMinTracksPerSector; }
101
102   /** Max of ( tracks per sector ) 
103    *  @param i  number of tracks
104    */
105   void SetNMinTracksPerSector( Int_t i)                { fNMinTracksPerSector = i; }
106
107   // --
108
109   /** Average of ( tracks per sector ) 
110    *  @return number of tracks
111    */
112   Int_t GetNAvgTracksPerSector()                       { return fNAvgTracksPerSector; }
113
114   /** Average of ( tracks per sector ) 
115    *  @param i  number of tracks
116    */
117   void SetNAvgTracksPerSector( Int_t i)                { fNAvgTracksPerSector = i; }
118
119   // -- Cluster --
120
121   /** Get Threshold for number of clusters per track 
122    *  @return threshold
123    */
124   Int_t GetClusterThreshold()                          { return fClusterThreshold; }
125
126   /** Set Threshold for number of clusters per track 
127    *  @param i  threshold
128    */
129   void SetClusterThreshold( Int_t i)                   { fClusterThreshold = i; }
130
131   // --
132
133   /** Get Total number of cluster found
134    *  @return number of cluster
135    */
136   Int_t GetNTotalCluster()                             { return fNTotalCluster; }
137
138   /** Set Total number of cluster found
139    *  @param i  number of cluster
140    */
141   void SetNTotalCluster( Int_t i)                      { fNTotalCluster = i; }
142
143   /** Add cluster to total number of cluster found
144    *  @param i  number of cluster
145    */
146   void AddNTotalCluster( Int_t i )                     { fNTotalCluster += i; }
147
148   //--
149
150   /** Get Number of cluster which were used in tracks 
151    *  @return number of cluster
152    */
153   Int_t GetNUsedCluster()                              { return fNUsedCluster; }
154
155   /** Set Number of cluster which were used in tracks 
156    *  @param i  number of cluster
157    */
158   void SetNUsedCluster( Int_t i)                       { fNUsedCluster = i; }
159
160   /** Add cluster to total number of cluster which were used in tracks 
161    *  @param i  number of cluster
162    */
163   void AddNUsedCluster( Int_t i )                     { fNUsedCluster += i; }
164
165   // --
166
167   /** Get Average of ( number of clusters per track ), floored 
168    *  @return number of cluster
169    */
170   Int_t GetAvgClusterPerTrack()                        { return fAvgClusterPerTrack; }
171
172   /** Set Average of ( number of clusters per track ), floored 
173    *  @param i  number of cluster
174    */
175   void SetAvgClusterPerTrack( Int_t i)                 { fAvgClusterPerTrack = i; }
176
177 private:
178  
179   /** copy constructor prohibited */
180   AliHLTTPCEventStatistics (const AliHLTTPCEventStatistics&);
181
182   /** assignment operator prohibited */
183   AliHLTTPCEventStatistics& operator= (const AliHLTTPCEventStatistics&);
184
185   // -- Tracks --
186  
187   /** Total number of tracks found  */
188   Int_t fNTotalTracks;                                         // see above
189
190   /** Tracks with ( number of cluster >= fClusterThreshold ) 
191    * ( for long tracks ) 
192    */
193   Int_t fNTracksAboveClusterThreshold;                         // see above
194
195   /** Max of ( tracks per sector ) */
196   Int_t fNMaxTracksPerSector;                                  // see above
197
198   /** Min of ( tracks per sector ) */
199   Int_t fNMinTracksPerSector;                                  // see above
200
201   /** Average  of ( tracks per sector ) */
202   Int_t fNAvgTracksPerSector;                                  // see above
203
204   // -- Cluster --
205
206   /** Threshold for number of clusters per track 
207    * ( for long tracks ) 
208    */
209   Int_t fClusterThreshold;                                     // see above
210
211   /** Total number of cluster found  */
212   Int_t fNTotalCluster;                                        // see above
213
214   /** Number of cluster which were used in tracks */
215   Int_t fNUsedCluster;                                         // see above
216
217   /** Average of ( number of clusters per track ), floored */
218   Int_t fAvgClusterPerTrack;                                   // see above
219
220   ClassDef(AliHLTTPCEventStatistics, 1);
221
222 };
223 #endif
224