KaliVeda  1.12/06
Heavy-Ion Analysis Toolkit
KVDetectorSignalExpression.h
Go to the documentation of this file.
1 
4 #ifndef __KVDETECTORSIGNALEXPRESSION_H
5 #define __KVDETECTORSIGNALEXPRESSION_H
6 
7 #include "KVDetectorSignal.h"
8 #include "TFormula.h"
9 
17 #if ROOT_VERSION_CODE < ROOT_VERSION(6,0,0)
19 #else
20  std::unique_ptr<TFormula> fFormula;
21 #endif
22  std::vector<KVDetectorSignal*> fSignals;
25 
26 public:
27  KVDetectorSignalExpression(const Char_t* type, const KVString& _expr, KVDetector* det);
29  {
30 #if ROOT_VERSION_CODE < ROOT_VERSION(6,0,0)
32 #endif
33  }
34 
35  Double_t GetValue(const KVNameValueList& params = "") const;
36  Bool_t IsValid() const
37  {
38  return fValid;
39  }
40  Bool_t IsRaw() const
41  {
44  return kFALSE;
45  }
47  {
49  return kTRUE;
50  }
52  {
53  Warning("SetValue", "[%s] : Calling SetValue for a signal expression has no effect", GetName());
54  }
56  {
58  return GetLabel();
59  }
60 
61  ClassDef(KVDetectorSignalExpression, 1) //Mathematical expression involving one or more detector signals
62 };
63 
64 #endif
#define SafeDelete(p)
char Char_t
const Bool_t kFALSE
bool Bool_t
double Double_t
const Bool_t kTRUE
#define ClassDef(name, id)
const Char_t * GetLabel() const
Definition: KVBase.h:192
Detector output from a mathematical combination of other signals.
Double_t GetValue(const KVNameValueList &params="") const
std::unique_ptr< TFormula > fFormula
std::vector< KVDetectorSignal * > fSignals
KVDetectorSignalExpression(const Char_t *type, const KVString &_expr, KVDetector *det)
Output signal data produced by a detector.
Base class for detector geometry description, interface to energy-loss calculations.
Definition: KVDetector.h:121
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
Definition: KVString.h:72
virtual const char * GetName() const
virtual void Warning(const char *method, const char *msgfmt,...) const