1 #ifndef ALITRIGGERSCALERSRECORD_H
2 #define ALITRIGGERSCALERSRECORD_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 /* $Id: AliTriggerScalersRecord.h 22322 2007-11-22 11:43:14Z cvetan $ */
9 ///////////////////////////////////////////////////////////////////////////////
11 // Class to define the ALICE Trigger Scalers Record
13 // Each record consists of 1 time stamp (4 words) (AliTimeStamp)
14 // and an array with the scalers (AliTriggerScalers) for each trigger class
17 //////////////////////////////////////////////////////////////////////////////
21 class AliTriggerScalersRecord : public TObject {
24 AliTriggerScalersRecord();
25 virtual ~AliTriggerScalersRecord() { fScalers.SetOwner(); fScalers.Delete(); }
28 void SetTimeStamp( UInt_t orbit, UInt_t period, UInt_t seconds, UInt_t microsecs );
29 void SetTimeGroup(UInt_t tgr){fTimeGroup=tgr;};
30 void AddTriggerScalers( AliTriggerScalers* scaler );
31 void AddTriggerScalers( UChar_t classIndex, UInt_t LOCB, UInt_t LOCA,
32 UInt_t L1CB, UInt_t L1CA, UInt_t L2CB, UInt_t L2CA );
34 const AliTimeStamp* GetTimeStamp() const { return &fTimestamp; }
35 const TObjArray* GetTriggerScalers() const { return &fScalers; }
36 const AliTriggerScalers* GetTriggerScalersForClass( const Int_t classindex ) const;
37 AliTriggerScalers* GetTriggerScalersForClassBinary( const Int_t classindex ) ;
38 UInt_t GetTimeGroup(){return fTimeGroup;}
39 virtual Bool_t IsSortable() const { return kTRUE; }
41 virtual Int_t Compare( const TObject* obj ) const;
42 virtual void Print( const Option_t* opt ="" ) const;
49 AliTimeStamp fTimestamp; // record timestamp
50 TObjArray fScalers; // Array of scalers (AliTriggerScalers)
51 UInt_t fTimeGroup; // Time group of record
54 AliTriggerScalersRecord( const AliTriggerScalersRecord &rec );
55 AliTriggerScalersRecord& operator=(const AliTriggerScalersRecord& rec);
57 ClassDef( AliTriggerScalersRecord, 2 ) // Define a Record of Trigger Scalers