]>
Commit | Line | Data |
---|---|---|
d7dd8a54 | 1 | #ifndef ALITRIGGERRUNSCALERS_H |
2 | #define ALITRIGGERRUNSCALERS_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: AliTriggerRunScalers.h 22322 2007-11-22 11:43:14Z cvetan $ */ | |
8 | ||
9 | /////////////////////////////////////////////////////////////////////////////// | |
10 | // | |
11 | // Class to define a collection scalers per Run | |
12 | // | |
13 | // | |
14 | // | |
15 | ////////////////////////////////////////////////////////////////////////////// | |
16 | class TObject; | |
d7dd8a54 | 17 | class AliTimeStamp; |
6441c2a8 | 18 | class AliTriggerScalersESD; |
d7dd8a54 | 19 | class AliTriggerScalersRecord; |
6441c2a8 | 20 | class AliTriggerScalersRecordESD; |
d7dd8a54 | 21 | |
22 | #include "TArrayC.h" | |
23 | ||
24 | class AliTriggerRunScalers : public TObject { | |
25 | ||
26 | public: | |
27 | AliTriggerRunScalers(); | |
7eaf72df | 28 | virtual ~AliTriggerRunScalers(); |
d7dd8a54 | 29 | // Getters |
30 | Short_t GetVersion() const { return fVersion; } | |
31 | ULong_t GetRunNumber() const { return fRunNumber; } | |
32 | UChar_t GetNumClasses() const { return fnClasses; } | |
33 | Char_t GetClass( Int_t i ) const { return fClassIndex[i]; } | |
033d0f8e | 34 | const TObjArray* GetScalersRecords() const { return &fScalersRecord; } |
6441c2a8 | 35 | const TObjArray* GetScalersRecordsESD() const { return &fScalersRecordESD; } |
033d0f8e | 36 | AliTriggerScalersRecord* GetScalersRecord( Int_t index ) const { return (AliTriggerScalersRecord*)fScalersRecord.At(index); } |
37 | Int_t FindNearestScalersRecord( const AliTimeStamp *stamp ) const; | |
6441c2a8 | 38 | AliTriggerScalersESD* GetScalersForEventClass(const AliTimeStamp* stamp,const Int_t classIndex) const; |
39 | // Analysis | |
40 | Int_t ConsistencyCheck(Int_t position,Bool_t correctOverflow); | |
41 | Int_t CorrectScalersOverflow(); | |
a93ccff3 | 42 | Int_t CheckRunScalers(){return (fScalersRecord.GetEntriesFast()==fScalersRecordESD.GetEntriesFast());} |
d7dd8a54 | 43 | // Setters |
44 | void SetVersion( Short_t ver ) { fVersion = ver; } | |
45 | void SetRunNumber( ULong_t run ) { fRunNumber = run; } | |
46 | void SetNumClasses( UChar_t nclass ) { fnClasses = nclass; fClassIndex.Set(nclass); } | |
47 | void SetClass( UChar_t i, UChar_t index ) { fClassIndex[i]=index; } | |
48 | void AddTriggerScalers( AliTriggerScalersRecord* scal ); | |
49 | virtual void Print( const Option_t* opt ="" ) const; | |
bf7443cc | 50 | AliTriggerRunScalers( const AliTriggerRunScalers &run ); |
51 | AliTriggerRunScalers& operator=(const AliTriggerRunScalers& run); | |
d7dd8a54 | 52 | |
e39e51f6 | 53 | static AliTriggerRunScalers* ReadScalers( TString & filename ); |
d7dd8a54 | 54 | |
d7dd8a54 | 55 | private: |
56 | Short_t fVersion; // Version | |
57 | ULong_t fRunNumber; // Run number | |
58 | UChar_t fnClasses; // Number of trigger classes | |
59 | TArrayC fClassIndex; // list of classes used in this partition | |
60 | TObjArray fScalersRecord; // Array of records (AliTriggerScalersRecord) | |
bf7443cc | 61 | TObjArray fScalersRecordESD; // Array of records with 64bit scalers (AliTriggerScalersRecordESD) |
62 | ||
d7dd8a54 | 63 | |
d7dd8a54 | 64 | |
bf7443cc | 65 | ClassDef( AliTriggerRunScalers, 2 ) // Define a Run Trigger Scalers (Scalers) |
d7dd8a54 | 66 | }; |
67 | ||
68 | #endif |