Hall A ROOT/C++ Analyzer (podd)
Loading...
Searching...
No Matches
THaVarList.h
Go to the documentation of this file.
1#ifndef Podd_THaVarList_h_
2#define Podd_THaVarList_h_
3
5//
6// THaVarList
7//
9
10#include "THashList.h"
11#include "THaVar.h"
12#include "VarDef.h"
13#include <vector>
14
15class THaVarList : public THashList {
16
17public:
18 THaVarList();
19 virtual ~THaVarList() = default;
20
21 // Define() with reference to variable
22 THaVar* Define( const char* name, const char* descript,
23 const Double_t& var, const Int_t* count=nullptr )
24 { return DefineByType( name, descript, &var, kDouble, count ); }
25 THaVar* Define( const char* name, const char* descript,
26 const Float_t& var, const Int_t* count=nullptr )
27 { return DefineByType( name, descript, &var, kFloat, count ); }
28 THaVar* Define( const char* name, const char* descript,
29 const Long_t& var, const Int_t* count=nullptr )
30 { return DefineByType( name, descript, &var, kLong, count ); }
31 THaVar* Define( const char* name, const char* descript,
32 const ULong_t& var, const Int_t* count=nullptr )
33 { return DefineByType( name, descript, &var, kULong, count ); }
34 THaVar* Define( const char* name, const char* descript,
35 const Int_t& var, const Int_t* count=nullptr )
36 { return DefineByType( name, descript, &var, kInt, count ); }
37 THaVar* Define( const char* name, const char* descript,
38 const UInt_t& var, const Int_t* count=nullptr )
39 { return DefineByType( name, descript, &var, kUInt, count ); }
40 THaVar* Define( const char* name, const char* descript,
41 const Short_t& var, const Int_t* count=nullptr )
42 { return DefineByType( name, descript, &var, kShort, count ); }
43 THaVar* Define( const char* name, const char* descript,
44 const UShort_t& var, const Int_t* count=nullptr )
45 { return DefineByType( name, descript, &var, kUShort, count ); }
46 THaVar* Define( const char* name, const char* descript,
47 const Char_t& var, const Int_t* count=nullptr )
48 { return DefineByType( name, descript, &var, kChar, count ); }
49 THaVar* Define( const char* name, const char* descript,
50 const Byte_t& var, const Int_t* count=nullptr )
51 { return DefineByType( name, descript, &var, kByte, count ); }
52
53 THaVar* Define( const char* name, const char* descript,
54 const std::vector<Int_t>& var )
55 { return DefineByType( name, descript, &var, kIntV, nullptr ); }
56 THaVar* Define( const char* name, const char* descript,
57 const std::vector<UInt_t>& var )
58 { return DefineByType( name, descript, &var, kUIntV, nullptr ); }
59 THaVar* Define( const char* name, const char* descript,
60 const std::vector<Float_t>& var )
61 { return DefineByType( name, descript, &var, kFloatV, nullptr ); }
62 THaVar* Define( const char* name, const char* descript,
63 const std::vector<Double_t>& var )
64 { return DefineByType( name, descript, &var, kDoubleV, nullptr ); }
65
66 THaVar* Define( const char* name, const Double_t& var,
67 const Int_t* count=nullptr )
68 { return Define( name, name, var, count ); }
69 THaVar* Define( const char* name, const Float_t& var,
70 const Int_t* count=nullptr )
71 { return Define( name, name, var, count ); }
72 THaVar* Define( const char* name, const Long_t& var,
73 const Int_t* count=nullptr )
74 { return Define( name, name, var, count ); }
75 THaVar* Define( const char* name, const ULong_t& var,
76 const Int_t* count=nullptr )
77 { return Define( name, name, var, count ); }
78 THaVar* Define( const char* name, const Int_t& var,
79 const Int_t* count=nullptr )
80 { return Define( name, name, var, count ); }
81 THaVar* Define( const char* name, const UInt_t& var,
82 const Int_t* count=nullptr )
83 { return Define( name, name, var, count ); }
84 THaVar* Define( const char* name, const Short_t& var,
85 const Int_t* count=nullptr )
86 { return Define( name, name, var, count ); }
87 THaVar* Define( const char* name, const UShort_t& var,
88 const Int_t* count=nullptr )
89 { return Define( name, name, var, count ); }
90 THaVar* Define( const char* name, const Char_t& var,
91 const Int_t* count=nullptr )
92 { return Define( name, name, var, count ); }
93 THaVar* Define( const char* name, const Byte_t& var,
94 const Int_t* count=nullptr )
95 { return Define( name, name, var, count ); }
96
97 THaVar* Define( const char* name, const std::vector<Int_t>& var )
98 { return Define( name, name, var ); }
99 THaVar* Define( const char* name, const std::vector<UInt_t>& var )
100 { return Define( name, name, var ); }
101 THaVar* Define( const char* name, const std::vector<Float_t>& var )
102 { return Define( name, name, var ); }
103 THaVar* Define( const char* name, const std::vector<Double_t>& var )
104 { return Define( name, name, var ); }
105
106 // Define() with pointer to variable
107 THaVar* Define( const char* name, const char* descript,
108 const Double_t*& var, const Int_t* count=nullptr )
109 { return DefineByType( name, descript, &var, kDoubleP, count ); }
110 THaVar* Define( const char* name, const char* descript,
111 const Float_t*& var, const Int_t* count=nullptr )
112 { return DefineByType( name, descript, &var, kFloatP, count ); }
113 THaVar* Define( const char* name, const char* descript,
114 const Long_t*& var, const Int_t* count=nullptr )
115 { return DefineByType( name, descript, &var, kLongP, count ); }
116 THaVar* Define( const char* name, const char* descript,
117 const ULong_t*& var, const Int_t* count=nullptr )
118 { return DefineByType( name, descript, &var, kULongP, count ); }
119 THaVar* Define( const char* name, const char* descript,
120 const Int_t*& var, const Int_t* count=nullptr )
121 { return DefineByType( name, descript, &var, kIntP, count ); }
122 THaVar* Define( const char* name, const char* descript,
123 const UInt_t*& var, const Int_t* count=nullptr )
124 { return DefineByType( name, descript, &var, kUIntP, count ); }
125 THaVar* Define( const char* name, const char* descript,
126 const Short_t*& var, const Int_t* count=nullptr )
127 { return DefineByType( name, descript, &var, kShortP, count ); }
128 THaVar* Define( const char* name, const char* descript,
129 const UShort_t*& var, const Int_t* count=nullptr )
130 { return DefineByType( name, descript, &var, kUShortP, count ); }
131 THaVar* Define( const char* name, const char* descript,
132 const Char_t*& var, const Int_t* count=nullptr )
133 { return DefineByType( name, descript, &var, kCharP, count ); }
134 THaVar* Define( const char* name, const char* descript,
135 const Byte_t*& var, const Int_t* count=nullptr )
136 { return DefineByType( name, descript, &var, kByteP, count ); }
137
138 THaVar* Define( const char* name, const Double_t*& var,
139 const Int_t* count=nullptr )
140 { return Define( name, name, var, count ); }
141 THaVar* Define( const char* name, const Float_t*& var,
142 const Int_t* count=nullptr )
143 { return Define( name, name, var, count ); }
144 THaVar* Define( const char* name, const Long_t*& var,
145 const Int_t* count=nullptr )
146 { return Define( name, name, var, count ); }
147 THaVar* Define( const char* name, const ULong_t*& var,
148 const Int_t* count=nullptr )
149 { return Define( name, name, var, count ); }
150 THaVar* Define( const char* name, const Int_t*& var,
151 const Int_t* count=nullptr )
152 { return Define( name, name, var, count ); }
153 THaVar* Define( const char* name, const UInt_t*& var,
154 const Int_t* count=nullptr )
155 { return Define( name, name, var, count ); }
156 THaVar* Define( const char* name, const Short_t*& var,
157 const Int_t* count=nullptr )
158 { return Define( name, name, var, count ); }
159 THaVar* Define( const char* name, const UShort_t*& var,
160 const Int_t* count=nullptr )
161 { return Define( name, name, var, count ); }
162 //Avoid ambiguity - cannot specify variable length char array like this
163 //Must use the form with description
164 THaVar* Define( const char* name, const Char_t*& var )
165 { return Define( name, name, var ); }
166 THaVar* Define( const char* name, const Byte_t*& var,
167 const Int_t* count=nullptr )
168 { return Define( name, name, var, count ); }
169
170 virtual THaVar* DefineByType( const char* name, const char* desc,
171 const void* loc, VarType type,
172 const Int_t* count,
173 const char* errloc = "DefineByType" );
174 virtual THaVar* DefineByRTTI( const TString& name, const TString& desc,
175 const TString& def, const void* obj,
176 TClass* cl,
177 const char* errloc = "DefineByRTTI" );
178 virtual Int_t DefineVariables( const VarDef* list,
179 const char* prefix="",
180 const char* caller="" );
181 virtual Int_t DefineVariables( const RVarDef* list,
182 const TObject* obj,
183 const char* prefix = "",
184 const char* caller = "",
185 const char* def_prefix = "",
186 const char* comment_subst = "");
187 virtual THaVar* Find( const char* name ) const;
188 virtual void PrintFull(Option_t *opt="") const;
189 virtual Int_t RemoveName( const char* name );
190 virtual Int_t RemoveRegexp( const char* expr, Bool_t wildcard = true );
191
192protected:
193
194 ClassDef(THaVarList,2) //List of analyzer global variables
195};
196
197#endif
198
int Int_t
unsigned int UInt_t
unsigned long ULong_t
long Long_t
bool Bool_t
unsigned short UShort_t
unsigned char Byte_t
char Char_t
float Float_t
short Short_t
double Double_t
const char Option_t
#define ClassDef(name, id)
char name[80]
THaVar * Define(const char *name, const std::vector< UInt_t > &var)
Definition THaVarList.h:99
THaVar * Define(const char *name, const Short_t *&var, const Int_t *count=nullptr)
Definition THaVarList.h:156
THaVar * Define(const char *name, const char *descript, const UShort_t &var, const Int_t *count=nullptr)
Definition THaVarList.h:43
THaVar * Define(const char *name, const Int_t &var, const Int_t *count=nullptr)
Definition THaVarList.h:78
virtual Int_t RemoveRegexp(const char *expr, Bool_t wildcard=true)
virtual Int_t RemoveName(const char *name)
THaVar * Define(const char *name, const char *descript, const std::vector< UInt_t > &var)
Definition THaVarList.h:56
THaVar * Define(const char *name, const Char_t &var, const Int_t *count=nullptr)
Definition THaVarList.h:90
THaVar * Define(const char *name, const char *descript, const Char_t *&var, const Int_t *count=nullptr)
Definition THaVarList.h:131
virtual void PrintFull(Option_t *opt="") const
THaVar * Define(const char *name, const Byte_t &var, const Int_t *count=nullptr)
Definition THaVarList.h:93
THaVar * Define(const char *name, const Long_t &var, const Int_t *count=nullptr)
Definition THaVarList.h:72
THaVar * Define(const char *name, const char *descript, const Byte_t *&var, const Int_t *count=nullptr)
Definition THaVarList.h:134
virtual ~THaVarList()=default
THaVar * Define(const char *name, const char *descript, const Double_t *&var, const Int_t *count=nullptr)
Definition THaVarList.h:107
virtual THaVar * DefineByType(const char *name, const char *desc, const void *loc, VarType type, const Int_t *count, const char *errloc="DefineByType")
virtual THaVar * DefineByRTTI(const TString &name, const TString &desc, const TString &def, const void *obj, TClass *cl, const char *errloc="DefineByRTTI")
THaVar * Define(const char *name, const Char_t *&var)
Definition THaVarList.h:164
THaVar * Define(const char *name, const char *descript, const Byte_t &var, const Int_t *count=nullptr)
Definition THaVarList.h:49
THaVar * Define(const char *name, const UInt_t *&var, const Int_t *count=nullptr)
Definition THaVarList.h:153
THaVar * Define(const char *name, const ULong_t &var, const Int_t *count=nullptr)
Definition THaVarList.h:75
THaVar * Define(const char *name, const char *descript, const Short_t &var, const Int_t *count=nullptr)
Definition THaVarList.h:40
THaVar * Define(const char *name, const UShort_t &var, const Int_t *count=nullptr)
Definition THaVarList.h:87
virtual THaVar * Find(const char *name) const
THaVar * Define(const char *name, const char *descript, const std::vector< Double_t > &var)
Definition THaVarList.h:62
THaVar * Define(const char *name, const Float_t &var, const Int_t *count=nullptr)
Definition THaVarList.h:69
THaVar * Define(const char *name, const Long_t *&var, const Int_t *count=nullptr)
Definition THaVarList.h:144
THaVar * Define(const char *name, const char *descript, const UInt_t &var, const Int_t *count=nullptr)
Definition THaVarList.h:37
THaVar * Define(const char *name, const char *descript, const Float_t *&var, const Int_t *count=nullptr)
Definition THaVarList.h:110
THaVar * Define(const char *name, const ULong_t *&var, const Int_t *count=nullptr)
Definition THaVarList.h:147
THaVar * Define(const char *name, const char *descript, const Long_t &var, const Int_t *count=nullptr)
Definition THaVarList.h:28
THaVar * Define(const char *name, const Double_t &var, const Int_t *count=nullptr)
Definition THaVarList.h:66
virtual Int_t DefineVariables(const VarDef *list, const char *prefix="", const char *caller="")
THaVar * Define(const char *name, const char *descript, const std::vector< Float_t > &var)
Definition THaVarList.h:59
THaVar * Define(const char *name, const char *descript, const Float_t &var, const Int_t *count=nullptr)
Definition THaVarList.h:25
THaVar * Define(const char *name, const char *descript, const UInt_t *&var, const Int_t *count=nullptr)
Definition THaVarList.h:122
THaVar * Define(const char *name, const char *descript, const Int_t &var, const Int_t *count=nullptr)
Definition THaVarList.h:34
THaVar * Define(const char *name, const Float_t *&var, const Int_t *count=nullptr)
Definition THaVarList.h:141
THaVar * Define(const char *name, const char *descript, const Double_t &var, const Int_t *count=nullptr)
Definition THaVarList.h:22
THaVar * Define(const char *name, const char *descript, const ULong_t *&var, const Int_t *count=nullptr)
Definition THaVarList.h:116
THaVar * Define(const char *name, const Double_t *&var, const Int_t *count=nullptr)
Definition THaVarList.h:138
THaVar * Define(const char *name, const char *descript, const ULong_t &var, const Int_t *count=nullptr)
Definition THaVarList.h:31
THaVar * Define(const char *name, const std::vector< Double_t > &var)
Definition THaVarList.h:103
THaVar * Define(const char *name, const char *descript, const Int_t *&var, const Int_t *count=nullptr)
Definition THaVarList.h:119
THaVar * Define(const char *name, const UInt_t &var, const Int_t *count=nullptr)
Definition THaVarList.h:81
THaVar * Define(const char *name, const UShort_t *&var, const Int_t *count=nullptr)
Definition THaVarList.h:159
THaVar * Define(const char *name, const Byte_t *&var, const Int_t *count=nullptr)
Definition THaVarList.h:166
THaVar * Define(const char *name, const char *descript, const std::vector< Int_t > &var)
Definition THaVarList.h:53
THaVar * Define(const char *name, const Int_t *&var, const Int_t *count=nullptr)
Definition THaVarList.h:150
THaVar * Define(const char *name, const std::vector< Float_t > &var)
Definition THaVarList.h:101
THaVar * Define(const char *name, const std::vector< Int_t > &var)
Definition THaVarList.h:97
THaVar * Define(const char *name, const char *descript, const UShort_t *&var, const Int_t *count=nullptr)
Definition THaVarList.h:128
THaVar * Define(const char *name, const Short_t &var, const Int_t *count=nullptr)
Definition THaVarList.h:84
THaVar * Define(const char *name, const char *descript, const Long_t *&var, const Int_t *count=nullptr)
Definition THaVarList.h:113
THaVar * Define(const char *name, const char *descript, const Char_t &var, const Int_t *count=nullptr)
Definition THaVarList.h:46
THaVar * Define(const char *name, const char *descript, const Short_t *&var, const Int_t *count=nullptr)
Definition THaVarList.h:125