]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - STEER/AliTriggerRunScalers.h
Bug corrected.
[u/mrichter/AliRoot.git] / STEER / AliTriggerRunScalers.h
... / ...
CommitLineData
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//////////////////////////////////////////////////////////////////////////////
16class TObject;
17class AliTimeStamp;
18class AliTriggerScalersESD;
19class AliTriggerScalersRecord;
20class AliTriggerScalersRecordESD;
21
22#include "TArrayC.h"
23
24class AliTriggerRunScalers : public TObject {
25
26public:
27 AliTriggerRunScalers();
28 virtual ~AliTriggerRunScalers();
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]; }
34 const TObjArray* GetScalersRecords() const { return &fScalersRecord; }
35 const TObjArray* GetScalersRecordsESD() const { return &fScalersRecordESD; }
36 AliTriggerScalersRecord* GetScalersRecord( Int_t index ) const { return (AliTriggerScalersRecord*)fScalersRecord.At(index); }
37 Int_t FindNearestScalersRecord( const AliTimeStamp *stamp ) const;
38 AliTriggerScalersESD* GetScalersForEventClass(const AliTimeStamp* stamp,const Int_t classIndex) const;
39 // Analysis
40 Int_t ConsistencyCheck(Int_t position,Bool_t correctOverflow, UInt_t** overflow);
41 Int_t CorrectScalersOverflow();
42 Int_t CheckRunScalers(){return (fScalersRecord.GetEntriesFast()==fScalersRecordESD.GetEntriesFast());}
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;
50 AliTriggerRunScalers( const AliTriggerRunScalers &run );
51 AliTriggerRunScalers& operator=(const AliTriggerRunScalers& run);
52
53static AliTriggerRunScalers* ReadScalers( TString & filename );
54
55private:
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)
61 TObjArray fScalersRecordESD; // Array of records with 64bit scalers (AliTriggerScalersRecordESD)
62
63
64
65 ClassDef( AliTriggerRunScalers, 3 ) // Define a Run Trigger Scalers (Scalers)
66};
67
68#endif