1 #ifndef ALIHLTTRIGGERMENUSYMBOL_H
2 #define ALIHLTTRIGGERMENUSYMBOL_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 */
7 /// @file AliHLTTriggerMenuSymbol.h
8 /// @author Artur Szostak <artursz@iafrica.com>
10 /// @brief Declaration of the AliHLTTriggerMenuSymbol class.
14 #include "AliHLTDataTypes.h"
15 #include "AliHLTDomainEntry.h"
18 * \class AliHLTTriggerMenuSymbol
21 class AliHLTTriggerMenuSymbol : public TObject
26 * Default constructor.
28 AliHLTTriggerMenuSymbol();
33 virtual ~AliHLTTriggerMenuSymbol();
36 * Inherited from TObject, this prints the contents of the symbol.
37 * \param option Can be "compact", which will print in the compact format.
39 virtual void Print(Option_t* option = "") const;
42 * Returns the symbol name.
44 const char* Name() const { return fName.Data(); }
47 * Set the symbol name.
49 void Name(const char* value) { fName = value; }
52 * Returns the symbol data type.
54 const char* Type() const { return fType.Data(); }
57 * Set the symbol data type.
59 void Type(const char* value) { fType = value; }
62 * Returns the data block type and specification from which the symbol is fetched.
64 const AliHLTDomainEntry& BlockType() const { return fBlockType; }
67 * Set the data block type and specification from which the symbol is fetched.
68 * \param type The data block type and origin to use.
70 void BlockType(const AliHLTComponentDataType& type)
72 fBlockType = AliHLTDomainEntry(type);
76 * Set the data block type and specification from which the symbol is fetched.
77 * \param blocktype The data block type string of the data block. The value
78 * kAliHLTAnyDataTypeID can be used to specify the any type wild card value.
79 * \param origin The origin of the data block, such as the detector name.
80 * The value kAliHLTDataOriginAny can be used to specify the any origin
83 void BlockType(const char* blocktype, const char* origin)
85 fBlockType = AliHLTDomainEntry(blocktype, origin);
89 * Set the data block type and specification from which the symbol is fetched.
90 * \param type The data block type and origin to use.
91 * \param spec The data block specification to use.
93 void BlockType(const AliHLTComponentDataType& type, UInt_t spec)
95 fBlockType = AliHLTDomainEntry(type, spec);
99 * Set the data block type and specification from which the symbol is fetched.
100 * \param blocktype The data block type string of the data block. The value
101 * kAliHLTAnyDataTypeID can be used to specify the any type wild card value.
102 * \param origin The origin of the data block, such as the detector name.
103 * The value kAliHLTDataOriginAny can be used to specify the any origin
105 * \param spec The data block specification to use.
107 void BlockType(const char* blocktype, const char* origin, UInt_t spec)
109 fBlockType = AliHLTDomainEntry(blocktype, origin, spec);
113 * Returns the class name of the object in the data block.
115 const char* ObjectClass() const { return fClass.Data(); }
118 * Set the class name of the object in the data block.
120 void ObjectClass(const char* value) { fClass = value; }
123 * Returns the expression to assign the symbol value.
125 const char* AssignExpression() const { return fAssignExpr.Data(); }
128 * Set the expression to assign the symbol value.
129 * The keyword 'this' is used as the place holder of the object in the matched
132 void AssignExpression(const char* value) { fAssignExpr = value; }
135 * Returns the default value expression.
137 const char* DefaultValue() const { return fDefaultValue.Data(); }
140 * Set the default value expression.
142 void DefaultValue(const char* value) { fDefaultValue = value; }
146 TString fName; /// The name of the symbol (Must be a valid C++ variable name).
147 TString fType; /// The data type of the symbol (Must be a valid C++ type name).
148 AliHLTDomainEntry fBlockType; /// The data block type and specification this symbol is fetched from.
149 TString fClass; /// The class name of the object to read from (Must be a valid C++ class name).
150 TString fAssignExpr; /// The expression to assign to the symbol (Must be a valid C++ expression).
151 TString fDefaultValue; /// The default value this symbol is set to (this must be a valid C++ expression).
153 ClassDef(AliHLTTriggerMenuSymbol, 2) // Trigger menu item for global HLT trigger.
156 #endif // ALIHLTTRIGGERMENUSYMBOL_H