ROOT logo
#ifndef ALIEVENTINFO_H
#define ALIEVENTINFO_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

//////////////////////////////////////////////////////////////////////////////
//                          Class AliEventInfo                              //
//   Container class for all the information related to                     //
//   event type, trigger mask and trigger clusters.                         //
//   It is used together with AliRunInfo in order to provide the detector's //
//   AliRecoParam object with                                               //
//   the necessary information so that it can decide which instance of      //
//   AliDetectorRecoParam objects to use in reconstruction one particular   //
//   event.                                                                 //
//                                                                          //
//   cvetan.cheshkov@cern.ch 12/06/2008                                     //
//////////////////////////////////////////////////////////////////////////////

#include <TObject.h>
#include <TObjString.h>

class AliEventInfo : public TObject {

 public:
  AliEventInfo();
  AliEventInfo(UInt_t evType,
	       const char *classes,
	       ULong64_t mask,
	       const char *cluster,
	       const char *decision);
  virtual ~AliEventInfo() {}

  void SetEventType(UInt_t evType) { fEventType = evType; }
  void SetTriggerClasses(const char *classes) { fTriggerClasses = classes; }
  void SetTriggerMask(ULong64_t mask) { fTriggerMask = mask; }
  void SetTriggerMaskNext50(ULong64_t mask) { fTriggerMaskNext50 = mask; }
  void SetTriggerCluster(const char *cluster) { fTriggerCluster = cluster; }
  void SetHLTDecision(const char *decision) { fHLTDecision = decision; }

  virtual void Print(Option_t */*option=""*/) const { Dump(); }

  UInt_t      GetEventType() const { return fEventType; }
  const char *GetTriggerClasses() const { return fTriggerClasses.Data(); }
  ULong64_t   GetTriggerMask() const { return fTriggerMask; }
  ULong64_t   GetTriggerMaskNext50() const { return fTriggerMaskNext50; }
  const char *GetTriggerCluster() const { return fTriggerCluster.Data(); }
  const char *GetHLTDecision() const { return fHLTDecision.Data(); }

  AliEventInfo(const AliEventInfo &evInfo);
  AliEventInfo& operator= (const AliEventInfo& evInfo);

  void Reset();

 private:

  UInt_t      fEventType;      // event type as defined by DAQ (start_of_*,calibration,physics etc) (per event)
  TString     fTriggerClasses; // list of fired trigger classes (per event)
  ULong64_t   fTriggerMask;    // trigger mask as received from DAQ or CTP raw-data payload (per event)
  ULong64_t   fTriggerMaskNext50;    // trigger mask as received from DAQ or CTP raw-data payload (per event)
  TString     fTriggerCluster; // list of detectors that have been read out (per event)
  TString     fHLTDecision;    // string describing the HLT decision (per event)

  ClassDef(AliEventInfo,4)     // Event info class
};

#endif
 AliEventInfo.h:1
 AliEventInfo.h:2
 AliEventInfo.h:3
 AliEventInfo.h:4
 AliEventInfo.h:5
 AliEventInfo.h:6
 AliEventInfo.h:7
 AliEventInfo.h:8
 AliEventInfo.h:9
 AliEventInfo.h:10
 AliEventInfo.h:11
 AliEventInfo.h:12
 AliEventInfo.h:13
 AliEventInfo.h:14
 AliEventInfo.h:15
 AliEventInfo.h:16
 AliEventInfo.h:17
 AliEventInfo.h:18
 AliEventInfo.h:19
 AliEventInfo.h:20
 AliEventInfo.h:21
 AliEventInfo.h:22
 AliEventInfo.h:23
 AliEventInfo.h:24
 AliEventInfo.h:25
 AliEventInfo.h:26
 AliEventInfo.h:27
 AliEventInfo.h:28
 AliEventInfo.h:29
 AliEventInfo.h:30
 AliEventInfo.h:31
 AliEventInfo.h:32
 AliEventInfo.h:33
 AliEventInfo.h:34
 AliEventInfo.h:35
 AliEventInfo.h:36
 AliEventInfo.h:37
 AliEventInfo.h:38
 AliEventInfo.h:39
 AliEventInfo.h:40
 AliEventInfo.h:41
 AliEventInfo.h:42
 AliEventInfo.h:43
 AliEventInfo.h:44
 AliEventInfo.h:45
 AliEventInfo.h:46
 AliEventInfo.h:47
 AliEventInfo.h:48
 AliEventInfo.h:49
 AliEventInfo.h:50
 AliEventInfo.h:51
 AliEventInfo.h:52
 AliEventInfo.h:53
 AliEventInfo.h:54
 AliEventInfo.h:55
 AliEventInfo.h:56
 AliEventInfo.h:57
 AliEventInfo.h:58
 AliEventInfo.h:59
 AliEventInfo.h:60
 AliEventInfo.h:61
 AliEventInfo.h:62
 AliEventInfo.h:63
 AliEventInfo.h:64
 AliEventInfo.h:65
 AliEventInfo.h:66