1 #ifndef ALITRIGGERSCALERSRECORDESD_H
2 #define ALITRIGGERSCALERSRECORDESD_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
8 ///////////////////////////////////////////////////////////////////////////////
10 // Class to define the ALICE Trigger Scalers Record
12 // Each record consists of 1 time stamp (4 words) (AliTimeStamp)
13 // and an array with the scalers (AliTriggerScalers) for each trigger class
16 //////////////////////////////////////////////////////////////////////////////
17 #include <TObjArray.h>
18 #include "AliTimeStamp.h"
21 class AliTriggerScalersESD;
23 class AliTriggerScalersRecordESD : public TObject {
26 AliTriggerScalersRecordESD();
27 virtual ~AliTriggerScalersRecordESD() { fScalers.SetOwner(); fScalers.Delete(); }
29 void AddTriggerScalers( AliTriggerScalersESD* scaler );
30 void AddTriggerScalers( UChar_t classIndex, ULong64_t LOCB, ULong64_t LOCA,
31 ULong64_t L1CB, ULong64_t L1CA, ULong64_t L2CB, ULong64_t L2CA );
32 const TObjArray* GetTriggerScalers() const { return &fScalers; }
33 const AliTriggerScalersESD* GetTriggerScalersForClass( const Int_t classindex ) const;
34 const AliTimeStamp* GetTimeStamp() const {return &fTimestamp;};
35 UInt_t GetTimeGroup() const {return fTimeGroup; };
36 void SetTimeStamp(const AliTimeStamp *stamp){fTimestamp = *stamp;};
37 void SetTimeGroup(const UInt_t group){fTimeGroup = group;};
38 virtual void Print( const Option_t* opt ="" ) const;
40 AliTriggerScalersRecordESD( const AliTriggerScalersRecordESD &rec );
41 AliTriggerScalersRecordESD& operator=(const AliTriggerScalersRecordESD& rec);
45 AliTimeStamp fTimestamp; // record timestamp
46 TObjArray fScalers; // Array of scalers (AliTriggerScalersESD)
47 UInt_t fTimeGroup; // Active time group
48 ClassDef( AliTriggerScalersRecordESD, 3 ) // Define a Record of Trigger Scalers