]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/ESD/AliTriggerScalersRecordESD.h
add new classes for PID truncated mean (Xianguo)
[u/mrichter/AliRoot.git] / STEER / ESD / AliTriggerScalersRecordESD.h
1 #ifndef ALITRIGGERSCALERSRECORDESD_H\r
2 #define ALITRIGGERSCALERSRECORDESD_H\r
3 \r
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
5 * See cxx source for full Copyright notice */\r
6 /* $Id$ */\r
7 \r
8 ///////////////////////////////////////////////////////////////////////////////\r
9 //\r
10 // Class to define the ALICE Trigger Scalers Record \r
11 //\r
12 // Each record consists of 1 time stamp (4 words)  (AliTimeStamp)\r
13 // and an array with the scalers (AliTriggerScalers) for each trigger class \r
14 // in partition  \r
15 //\r
16 //////////////////////////////////////////////////////////////////////////////\r
17 #include <TObjArray.h>\r
18 #include "AliTimeStamp.h"\r
19 class TObjArray;\r
20 class AliTimeStamp;\r
21 class AliTriggerScalersESD;\r
22 \r
23 class AliTriggerScalersRecordESD : public TObject {\r
24 \r
25 public:\r
26                               AliTriggerScalersRecordESD();\r
27                    virtual   ~AliTriggerScalersRecordESD() { fScalers.SetOwner(); fScalers.Delete(); }       \r
28                       void    Reset();\r
29                       void    AddTriggerScalers( AliTriggerScalersESD* scaler );\r
30                       void    AddTriggerScalers( UChar_t classIndex, ULong64_t LOCB, ULong64_t LOCA,        \r
31                                               ULong64_t L1CB, ULong64_t L1CA, ULong64_t L2CB, ULong64_t L2CA );                            \r
32            const TObjArray*   GetTriggerScalers()  const { return  &fScalers; }\r
33 const AliTriggerScalersESD*   GetTriggerScalersForClass( const Int_t classindex ) const;       \r
34         const AliTimeStamp*   GetTimeStamp() const {return &fTimestamp;};\r
35                      UInt_t   GetTimeGroup() const {return fTimeGroup; };\r
36                        void   SetTimeStamp(const AliTimeStamp *stamp){fTimestamp = *stamp;};\r
37                        void   SetTimeGroup(const UInt_t group){fTimeGroup = group;};\r
38                virtual void   Print( const Option_t* opt ="" ) const;\r
39                       \r
40                            AliTriggerScalersRecordESD( const AliTriggerScalersRecordESD &rec );\r
41                       AliTriggerScalersRecordESD&   operator=(const AliTriggerScalersRecordESD& rec);      \r
42                \r
43 \r
44 private:  \r
45                         AliTimeStamp fTimestamp;    // record timestamp\r
46                         TObjArray    fScalers;      // Array of scalers (AliTriggerScalersESD) \r
47                               UInt_t fTimeGroup;    // Active time group\r
48                         ClassDef( AliTriggerScalersRecordESD, 3 )  // Define a Record of Trigger Scalers \r
49 };\r
50 \r
51 #endif\r