AliRoot Core  ee782a0 (ee782a0)
AliCentralTrigger.h
Go to the documentation of this file.
1 #ifndef ALICENTRALTRIGGER_H
2 #define ALICENTRALTRIGGER_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$ */
8 
10 // //
11 // This class for running the Central Trigger Processor //
12 // //
13 // //
14 // Load Configuration //
15 // Make a list the trigger detectors involved ( from the configuration) //
16 // For the each event //
17 // Run the Trigger for the each detector //
18 // Get the inputs //
19 // Check the trigger classes //
20 // Create the class mask //
21 // Save result //
22 // //
24 
25 #include <TObject.h>
26 #include <TObjArray.h>
27 
28 class TTree;
29 class AliRunLoader;
31 
32 class AliCentralTrigger : public TObject {
33 
34 public:
36  AliCentralTrigger( TString & config );
37  virtual ~AliCentralTrigger();
38 
39  Bool_t LoadConfiguration( TString & config );
40  Bool_t RunTrigger( AliRunLoader * runloader , const char* detectors);
41  ULong64_t TriggerClasses();
42  void TriggerInputs();
43  void Reset();
44  void DeleteConfiguration();
45  void MakeBranch( TString name, TTree * tree );
46  // Getters
47  TString GetDetectors();
48  ULong64_t GetClassMask() const { return fClassMask; }
49  ULong64_t GetClassMaskNext50() const { return fClassMaskNext50; }
50  UInt_t GetClusterMask() const { return fClusterMask; }
51  UInt_t GetL0TriggerInputs() const { return fL0TriggerInputs; }
52  UInt_t GetL1TriggerInputs() const { return fL1TriggerInputs; }
53  UShort_t GetL2TriggerInputs() const { return fL2TriggerInputs; }
55  TObjArray* GetFiredClasses() const;
56  void Print( const Option_t* opt ="" ) const;
57  Bool_t CheckTriggeredDetectors() const;
58 
59  // Setters to be used in case raw data when the trigger information
60  // is read from the event header
61  void SetClassMask(ULong64_t mask) { fClassMask = mask; }
62  void SetClassMaskNext50(ULong64_t mask) { fClassMaskNext50 = mask; }
63  void SetClusterMask(UInt_t mask) { fClusterMask = mask; }
64  void SetL0TriggerInputs(UInt_t mask) { fL0TriggerInputs = mask; }
65  void SetL1TriggerInputs(UInt_t mask) { fL1TriggerInputs = mask; }
66  void SetL2TriggerInputs(UShort_t mask) { fL2TriggerInputs = mask; }
67 protected:
68  ULong64_t fClassMask; // UID ( bitwise OR of conditions mask )
69  ULong64_t fClassMaskNext50; // UID ( bitwise OR of conditions mask ) high 50 bits for run2
70  UInt_t fClusterMask; // UID ( bitwise OR of clusters mask - detector pattern)
71  UInt_t fL0TriggerInputs; // L0 trigger inputs (24 bits)
72  UInt_t fL1TriggerInputs; // L1 trigger inputs (24 bits)
73  UShort_t fL2TriggerInputs; // L2 trigger inputs (12 bits)
74 
75  AliTriggerConfiguration* fConfiguration; // Trigger Configuration used
76 
77 private:
78  void SetOwner(Bool_t x=kTRUE){SetBit(22,x);} // Bit 22 indicates that the object owns fConfiguration
79  Bool_t IsOwner() const {return TestBit(22);} // Test bit 22 to check that the object owns fConfiguration
80  Bool_t IsSelected( TString detName, TString& detectors ) const;
81  AliCentralTrigger( const AliCentralTrigger& ctp ); // Implemented
82  AliCentralTrigger& operator=( const AliCentralTrigger& ctp ); // Not implemented
83 
84  ClassDef( AliCentralTrigger, 6 ) // class for running the Central Trigger Processor
85 };
86 
87 
88 #endif
Bool_t IsOwner() const
AliTriggerConfiguration * fConfiguration
AliCentralTrigger & operator=(const AliCentralTrigger &ctp)
UInt_t GetClusterMask() const
void SetClusterMask(UInt_t mask)
#define TObjArray
AliTriggerConfiguration * GetConfiguration()
void SetL2TriggerInputs(UShort_t mask)
void SetL0TriggerInputs(UInt_t mask)
void SetClassMask(ULong64_t mask)
void SetL1TriggerInputs(UInt_t mask)
TTree * tree
UInt_t GetL0TriggerInputs() const
ULong64_t GetClassMask() const
ULong64_t GetClassMaskNext50() const
void SetOwner(Bool_t x=kTRUE)
TObjArray * GetFiredClasses() const
Bool_t CheckTriggeredDetectors() const
void SetClassMaskNext50(ULong64_t mask)
UInt_t GetL1TriggerInputs() const
Bool_t LoadConfiguration(TString &config)
ULong64_t fClassMaskNext50
UShort_t GetL2TriggerInputs() const
void MakeBranch(TString name, TTree *tree)
Bool_t RunTrigger(AliRunLoader *runloader, const char *detectors)
Bool_t IsSelected(TString detName, TString &detectors) const
void Print(const Option_t *opt="") const