]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliTriggerScalersRecord.h
Updates for pile-up vertex (F. Prino)
[u/mrichter/AliRoot.git] / STEER / AliTriggerScalersRecord.h
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 class TObjArray;
19 class  AliTimeStamp;
20
21 class AliTriggerScalersRecord : public TObject {
22
23 public:
24                             AliTriggerScalersRecord();
25                  virtual   ~AliTriggerScalersRecord() { fScalers.SetOwner(); fScalers.Delete(); }
26                  
27                  
28                     void    SetTimeStamp( UInt_t orbit, UInt_t period, UInt_t seconds, UInt_t microsecs );
29                     void    AddTriggerScalers( AliTriggerScalers* scaler );
30                     void    AddTriggerScalers( UChar_t classIndex, UInt_t LOCB, UInt_t LOCA,        
31                                               UInt_t L1CB, UInt_t L1CA, UInt_t L2CB, UInt_t L2CA );
32                             
33       const AliTimeStamp*   GetTimeStamp() const { return &fTimestamp; }
34          const TObjArray*   GetTriggerScalers()  const { return  &fScalers; }
35  const AliTriggerScalers*   GetTriggerScalersForClass( const Int_t classindex ) const;       
36        AliTriggerScalers*   GetTriggerScalersForClassBinary( const Int_t classindex ) ;       
37           virtual Bool_t    IsSortable() const { return kTRUE; }
38                                 
39            virtual Int_t    Compare( const TObject* obj ) const;
40             virtual void    Print( const Option_t* opt ="" ) const;
41
42        
43              
44      
45 private:  
46
47             AliTimeStamp    fTimestamp;    // record timestamp
48                TObjArray    fScalers;      // Array of scalers (AliTriggerScalers) 
49
50
51                             AliTriggerScalersRecord( const AliTriggerScalersRecord &rec );
52  AliTriggerScalersRecord&   operator=(const AliTriggerScalersRecord& rec);
53
54    ClassDef( AliTriggerScalersRecord, 1 )  // Define a Record of Trigger Scalers 
55 };
56
57 #endif