]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/BASE/AliHLTTriggerMenuItem.h
update coordinate transformation from chamber coordinates to global
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTTriggerMenuItem.h
CommitLineData
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 */
44class 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