]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - STEER/STEER/AliEventInfo.h
Update master to aliroot
[u/mrichter/AliRoot.git] / STEER / STEER / AliEventInfo.h
... / ...
CommitLineData
1#ifndef ALIEVENTINFO_H
2#define ALIEVENTINFO_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6//////////////////////////////////////////////////////////////////////////////
7// Class AliEventInfo //
8// Container class for all the information related to //
9// event type, trigger mask and trigger clusters. //
10// It is used together with AliRunInfo in order to provide the detector's //
11// AliRecoParam object with //
12// the necessary information so that it can decide which instance of //
13// AliDetectorRecoParam objects to use in reconstruction one particular //
14// event. //
15// //
16// cvetan.cheshkov@cern.ch 12/06/2008 //
17//////////////////////////////////////////////////////////////////////////////
18
19#include <TObject.h>
20#include <TObjString.h>
21
22class AliEventInfo : public TObject {
23
24 public:
25 enum {kBeamTrigBit=BIT(14),kCosmicBit=BIT(15),kLaserBit=BIT(16)};
26 AliEventInfo();
27 AliEventInfo(UInt_t evType,
28 const char *classes,
29 ULong64_t mask,
30 const char *cluster,
31 const char *decision);
32 virtual ~AliEventInfo() {}
33
34 void SetEventType(UInt_t evType) { fEventType = evType; }
35 void SetTriggerClasses(const char *classes) { fTriggerClasses = classes; }
36 void SetTriggerMask(ULong64_t mask) { fTriggerMask = mask; }
37 void SetTriggerMaskNext50(ULong64_t mask) { fTriggerMaskNext50 = mask; }
38 void SetTriggerCluster(const char *cluster) { fTriggerCluster = cluster; }
39 void SetHLTDecision(const char *decision) { fHLTDecision = decision; }
40
41 // virtual void Print(Option_t */*option=""*/) const { Dump(); }
42
43 UInt_t GetEventType() const { return fEventType; }
44 const char *GetTriggerClasses() const { return fTriggerClasses.Data(); }
45 ULong64_t GetTriggerMask() const { return fTriggerMask; }
46 ULong64_t GetTriggerMaskNext50() const { return fTriggerMaskNext50; }
47 const char *GetTriggerCluster() const { return fTriggerCluster.Data(); }
48 const char *GetHLTDecision() const { return fHLTDecision.Data(); }
49
50 AliEventInfo(const AliEventInfo &evInfo);
51 AliEventInfo& operator= (const AliEventInfo& evInfo);
52
53 Bool_t HasBeamTrigger() const {return TestBit(kBeamTrigBit);}
54 Bool_t HasCosmicTrigger() const {return TestBit(kCosmicBit);}
55 Bool_t HasCalibLaserTrigger() const {return TestBit(kLaserBit);}
56 void SetBeamTrigger(Bool_t v=kTRUE) {SetBit(kBeamTrigBit,v);}
57 void SetCosmicTrigger(Bool_t v=kTRUE) {SetBit(kCosmicBit,v);}
58 void SetCalibLaserTrigger(Bool_t v=kTRUE) {SetBit(kLaserBit,v);}
59
60 void Reset();
61
62 void Print(Option_t* opt=0) const;
63
64 private:
65
66 UInt_t fEventType; // event type as defined by DAQ (start_of_*,calibration,physics etc) (per event)
67 TString fTriggerClasses; // list of fired trigger classes (per event)
68 ULong64_t fTriggerMask; // trigger mask as received from DAQ or CTP raw-data payload (per event)
69 ULong64_t fTriggerMaskNext50; // trigger mask as received from DAQ or CTP raw-data payload (per event)
70 TString fTriggerCluster; // list of detectors that have been read out (per event)
71 TString fHLTDecision; // string describing the HLT decision (per event)
72
73 ClassDef(AliEventInfo,4) // Event info class
74};
75
76#endif