]>
Commit | Line | Data |
---|---|---|
c580e182 | 1 | //-*- Mode: C++ -*- |
81d62bb4 | 2 | // $Id$ |
e2bb8ddd | 3 | #ifndef ALIHLTTRIGGERMENUITEM_H |
4 | #define ALIHLTTRIGGERMENUITEM_H | |
5 | /* This file is property of and copyright by the ALICE HLT Project * | |
6 | * ALICE Experiment at CERN, All rights reserved. * | |
7 | * See cxx source for full Copyright notice */ | |
8 | ||
9 | /// @file AliHLTTriggerMenuItem.h | |
10 | /// @author Artur Szostak <artursz@iafrica.com> | |
11 | /// @date 19 Dec 2008 | |
12 | /// @brief Declaration of the AliHLTTriggerMenuItem class. | |
13 | ||
14 | #include "TObject.h" | |
15 | #include "TString.h" | |
16 | #include "TArrayL.h" | |
17 | ||
18 | /** | |
19 | * \class AliHLTTriggerMenuItem | |
81d62bb4 | 20 | * A trigger menu item is used to store the information for a single entry in the |
21 | * HLT global trigger menu AliHLTTriggerMenu. | |
22 | * It stores information about the trigger condition, trigger domain merging | |
23 | * expression, trigger priority and the prescalar to apply. | |
24 | * The trigger condition is an expression which indicates that must be true | |
25 | * for the trigger menu entry to be fired. A fired item will then use the trigger | |
26 | * domain merging expression for the computation of the final global trigger domain. | |
27 | * | |
28 | * \note The following symbol names are reserved and should not be used in either | |
29 | * the trigger condition or merging expressions: | |
30 | * _domain_ | |
31 | * _description_ | |
32 | * _item_result_ | |
33 | * _group_result_ | |
34 | * _previous_match_ | |
35 | * _trigger_matched_ | |
36 | * FillFromMenu | |
37 | * NewEvent | |
38 | * Add | |
39 | * CalculateTriggerDecision | |
40 | * GetCounters | |
41 | * SetCounters | |
42 | * CreateNew | |
e2bb8ddd | 43 | */ |
44 | class AliHLTTriggerMenuItem : public TObject | |
45 | { | |
46 | public: | |
47 | ||
48 | /** | |
49 | * Default constructor. | |
50 | */ | |
51 | AliHLTTriggerMenuItem(); | |
52 | ||
53 | /** | |
54 | * Default destructor. | |
55 | */ | |
56 | virtual ~AliHLTTriggerMenuItem(); | |
57 | ||
58 | /** | |
59 | * Inherited from TObject, this prints the contents of the menu item. | |
60 | * \param option Can be "compact", which will print in the compact format. | |
61 | */ | |
62 | virtual void Print(Option_t* option = "") const; | |
63 | ||
52f67e50 | 64 | /** |
65 | * Returns the optional comment string. | |
66 | */ | |
67 | const char* Description() const { return fDescription.Data(); } | |
68 | ||
69 | /** | |
70 | * Set the optional comment string. | |
71 | */ | |
72 | void Description(const char* value) { fDescription = value; } | |
73 | ||
e2bb8ddd | 74 | /** |
75 | * Returns the trigger condition expression. | |
76 | */ | |
81d62bb4 | 77 | const char* TriggerCondition() const { return fConditionExpr.Data(); } |
e2bb8ddd | 78 | |
79 | /** | |
80 | * Set the trigger condition expression. | |
81 | */ | |
81d62bb4 | 82 | void TriggerCondition(const char* value) { fConditionExpr = value; } |
e2bb8ddd | 83 | |
84 | /** | |
85 | * Returns the trigger domain merging expression. | |
86 | */ | |
87 | const char* MergeExpression() const { return fDomainExpr.Data(); } | |
88 | ||
89 | /** | |
90 | * Set the trigger domain merging expression. | |
91 | */ | |
92 | void MergeExpression(const char* value) { fDomainExpr = value; } | |
93 | ||
94 | /** | |
95 | * Returns the pre-scalar value. | |
96 | */ | |
97 | UInt_t PreScalar() const { return fPrescalar; } | |
98 | ||
99 | /** | |
100 | * Set the pre-scalar value. A value of zero turns off the prescalar. | |
101 | */ | |
102 | void PreScalar(UInt_t value) { fPrescalar = value; } | |
81d62bb4 | 103 | |
104 | /** | |
105 | * Returns the priority value. | |
106 | */ | |
107 | UInt_t Priority() const { return fPriority; } | |
108 | ||
109 | /** | |
110 | * Set the priority value. Higher values give a higher priority. | |
111 | */ | |
112 | void Priority(UInt_t value) { fPriority = value; } | |
e2bb8ddd | 113 | |
114 | private: | |
115 | ||
52f67e50 | 116 | TString fDescription; /// Optional description or comment string. |
e2bb8ddd | 117 | TString fConditionExpr; /// The trigger condition expression. |
118 | TString fDomainExpr; /// Trigger domain merging expression. | |
119 | 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. | |
81d62bb4 | 120 | UInt_t fPriority; /// Priority of the trigger menu item. Higher values have higher priority. |
e2bb8ddd | 121 | |
81d62bb4 | 122 | ClassDef(AliHLTTriggerMenuItem, 3) // Trigger menu item for global HLT trigger. |
e2bb8ddd | 123 | }; |
124 | ||
125 | #endif // ALIHLTTRIGGERMENUITEM_H | |
126 |