]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/trigger/AliHLTTriggerMenuSymbol.h
Removal of no longer maintained neural trackers
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTTriggerMenuSymbol.h
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                               */
6
7 /// @file   AliHLTTriggerMenuSymbol.h
8 /// @author Artur Szostak <artursz@iafrica.com>
9 /// @date   28 Dec 2008
10 /// @brief  Declaration of the AliHLTTriggerMenuSymbol class.
11
12 #include "TObject.h"
13 #include "TString.h"
14 #include "AliHLTDataTypes.h"
15 #include "AliHLTDomainEntry.h"
16
17 /**
18  * \class AliHLTTriggerMenuSymbol
19  * TODO
20  */
21 class AliHLTTriggerMenuSymbol : public TObject
22 {
23  public:
24   
25   /**
26    * Default constructor.
27    */
28   AliHLTTriggerMenuSymbol();
29   
30   /**
31    * Default destructor.
32    */
33   virtual ~AliHLTTriggerMenuSymbol();
34   
35   /**
36    * Inherited from TObject, this prints the contents of the symbol.
37    * \param option  Can be "compact", which will print in the compact format.
38    */
39   virtual void Print(Option_t* option = "") const;
40   
41   /**
42    * Returns the symbol name.
43    */
44   const char* Name() const { return fName.Data(); }
45   
46   /**
47    * Set the symbol name.
48    */
49   void Name(const char* value) { fName = value; }
50   
51   /**
52    * Returns the symbol data type.
53    */
54   const char* Type() const { return fType.Data(); }
55   
56   /**
57    * Set the symbol data type.
58    */
59   void Type(const char* value) { fType = value; }
60   
61   /**
62    * Returns the data block type and specification from which the symbol is fetched.
63    */
64   const AliHLTDomainEntry& BlockType() const { return fBlockType; }
65   
66   /**
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.
69    */
70   void BlockType(const AliHLTComponentDataType& type)
71   {
72     fBlockType = AliHLTDomainEntry(type);
73   }
74   
75   /**
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
81    *    wild card value.
82    */
83   void BlockType(const char* blocktype, const char* origin)
84   {
85     fBlockType = AliHLTDomainEntry(blocktype, origin);
86   }
87   
88   /**
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.
92    */
93   void BlockType(const AliHLTComponentDataType& type, UInt_t spec)
94   {
95     fBlockType = AliHLTDomainEntry(type, spec);
96   }
97   
98   /**
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
104    *    wild card value.
105    * \param spec  The data block specification to use.
106    */
107   void BlockType(const char* blocktype, const char* origin, UInt_t spec)
108   {
109     fBlockType = AliHLTDomainEntry(blocktype, origin, spec);
110   }
111   
112   /**
113    * Returns the class name of the object in the data block.
114    */
115   const char* ObjectClass() const { return fClass.Data(); }
116   
117   /**
118    * Set the class name of the object in the data block.
119    */
120   void ObjectClass(const char* value) { fClass = value; }
121   
122   /**
123    * Returns the expression to assign the symbol value.
124    */
125   const char* AssignExpression() const { return fAssignExpr.Data(); }
126   
127   /**
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
130    * data block.
131    */
132   void AssignExpression(const char* value) { fAssignExpr = value; }
133   
134   /**
135    * Returns the default value expression.
136    */
137   const char* DefaultValue() const { return fDefaultValue.Data(); }
138   
139   /**
140    * Set the default value expression.
141    */
142   void DefaultValue(const char* value) { fDefaultValue = value; }
143
144  private:
145   
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).
152   
153   ClassDef(AliHLTTriggerMenuSymbol, 2) // Trigger menu item for global HLT trigger.
154 };
155
156 #endif // ALIHLTTRIGGERMENUSYMBOL_H
157