Line data Source code
1 : #ifndef ALITRIGGERSCALERSRECORD_H
2 : #define ALITRIGGERSCALERSRECORD_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: AliTriggerScalersRecord.h 22322 2007-11-22 11:43:14Z cvetan $ */
8 :
9 : ///////////////////////////////////////////////////////////////////////////////
10 : //
11 : // Class to define the ALICE Trigger Scalers Record
12 : //
13 : // Each record consists of 1 time stamp (4 words) (AliTimeStamp)
14 : // and an array with the scalers (AliTriggerScalers) for each trigger class
15 : // in partition
16 : //
17 : //////////////////////////////////////////////////////////////////////////////
18 : #include "AliTimeStamp.h"
19 :
20 : class TObjArray;
21 : class AliTriggerScalers;
22 :
23 : class AliTriggerScalersRecord : public TObject {
24 :
25 : public:
26 : AliTriggerScalersRecord();
27 16 : virtual ~AliTriggerScalersRecord() { fScalers.SetOwner(); fScalers.Delete(); }
28 :
29 :
30 : void SetTimeStamp( UInt_t orbit, UInt_t period, UInt_t seconds, UInt_t microsecs );
31 0 : void SetTimeGroup(UInt_t tgr){fTimeGroup=tgr;};
32 : void AddTriggerScalers( AliTriggerScalers* scaler );
33 : void AddTriggerScalers( UChar_t classIndex, UInt_t LOCB, UInt_t LOCA,
34 : UInt_t L1CB, UInt_t L1CA, UInt_t L2CB, UInt_t L2CA );
35 : void AddTriggerScalers( UChar_t classIndex, UInt_t LOCB, UInt_t LOCA,
36 : UInt_t L1CB, UInt_t L1CA, UInt_t L2CB, UInt_t L2CA,
37 : UInt_t LMCB, UInt_t LMCA);
38 :
39 340 : const AliTimeStamp* GetTimeStamp() const { return &fTimestamp; }
40 4 : const TObjArray* GetTriggerScalers() const { return &fScalers; }
41 : const AliTriggerScalers* GetTriggerScalersForClass( const Int_t classindex ) const;
42 : AliTriggerScalers* GetTriggerScalersForClassBinary( const Int_t classindex ) ;
43 4 : UInt_t GetTimeGroup(){return fTimeGroup;}
44 4 : virtual Bool_t IsSortable() const { return kTRUE; }
45 :
46 : virtual Int_t Compare( const TObject* obj ) const;
47 : virtual void Print( const Option_t* opt ="" ) const;
48 :
49 :
50 :
51 :
52 : private:
53 :
54 : AliTimeStamp fTimestamp; // record timestamp
55 : TObjArray fScalers; // Array of scalers (AliTriggerScalers)
56 : UInt_t fTimeGroup; // Time group of record
57 :
58 :
59 : AliTriggerScalersRecord( const AliTriggerScalersRecord &rec );
60 : AliTriggerScalersRecord& operator=(const AliTriggerScalersRecord& rec);
61 :
62 184 : ClassDef( AliTriggerScalersRecord, 2 ) // Define a Record of Trigger Scalers
63 : };
64 :
65 : #endif
|