]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/trigger/AliHLTTriggerMenuItem.h
Adding the trigger menu for the HLT global trigger.
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTTriggerMenuItem.h
1 #ifndef ALIHLTTRIGGERMENUITEM_H
2 #define ALIHLTTRIGGERMENUITEM_H
3 /* This file is property of and copyright by the ALICE HLT Project        *
4  * ALICE Experiment at CERN, All rights reserved.                         *
5  * See cxx source for full Copyright notice                               */
6
7 /// @file   AliHLTTriggerMenuItem.h
8 /// @author Artur Szostak <artursz@iafrica.com>
9 /// @date   19 Dec 2008
10 /// @brief  Declaration of the AliHLTTriggerMenuItem class.
11
12 #include "TObject.h"
13 #include "TString.h"
14 #include "TArrayL.h"
15
16 /**
17  * \class AliHLTTriggerMenuItem
18  * TODO
19  */
20 class AliHLTTriggerMenuItem : public TObject
21 {
22  public:
23   
24   /**
25    * Default constructor.
26    */
27   AliHLTTriggerMenuItem();
28   
29   /**
30    * Default destructor.
31    */
32   virtual ~AliHLTTriggerMenuItem();
33   
34   /**
35    * Inherited from TObject, this prints the contents of the menu item.
36    * \param option  Can be "compact", which will print in the compact format.
37    */
38   virtual void Print(Option_t* option = "") const;
39   
40   /**
41    * Returns the trigger condition expression.
42    */
43   const char* TriggerCondision() const { return fConditionExpr.Data(); }
44   
45   /**
46    * Set the trigger condition expression.
47    */
48   void TriggerCondision(const char* value) { fConditionExpr = value; }
49   
50   /**
51    * Returns the trigger domain merging expression.
52    */
53   const char* MergeExpression() const { return fDomainExpr.Data(); }
54   
55   /**
56    * Set the trigger domain merging expression.
57    */
58   void MergeExpression(const char* value) { fDomainExpr = value; }
59   
60   /**
61    * Returns the pre-scalar value.
62    */
63   UInt_t PreScalar() const { return fPrescalar; }
64   
65   /**
66    * Set the pre-scalar value. A value of zero turns off the prescalar.
67    */
68   void PreScalar(UInt_t value) { fPrescalar = value; }
69
70  private:
71   
72   TString fConditionExpr;  /// The trigger condition expression.
73   TString fDomainExpr;  /// Trigger domain merging expression.
74   UInt_t fPrescalar;  /// Pre-scalar value used to optionally reduce the trigger rate. Every modulus n'th event is triggered, where n equals the pre-scalar value.
75   
76   ClassDef(AliHLTTriggerMenuItem, 1) // Trigger menu item for global HLT trigger.
77 };
78
79 #endif // ALIHLTTRIGGERMENUITEM_H
80