KaliVeda
Toolkit for HIC analysis
KVDetectorSignalExpression.h
1 
4 #ifndef __KVDETECTORSIGNALEXPRESSION_H
5 #define __KVDETECTORSIGNALEXPRESSION_H
6 
7 #include "KVDetectorSignal.h"
8 #include "TFormula.h"
9 
43 
44  friend class KVDetector;
45 
46  std::unique_ptr<TFormula> fFormula;
47  std::vector<KVDetectorSignal*> fSignals;
50  KVDetectorSignalExpression(const Char_t* type, const KVString& _expr, KVDetector* det);
51 public:
52  KVDetectorSignalExpression(const Char_t* type, const KVString& _expr, const KVSeqCollection* dets);
53  Double_t GetValue(const KVNameValueList& params = "") const;
54  Bool_t IsValid() const
55  {
57  return fValid;
58  }
59  Bool_t IsRaw() const
60  {
63  return kFALSE;
64  }
66  {
68  return kTRUE;
69  }
71  {
73  Warning("SetValue", "[%s] : Calling SetValue for a signal expression has no effect", GetName());
74  }
76  {
78  return GetLabel();
79  }
80 
81  ClassDef(KVDetectorSignalExpression, 1) //Mathematical expression involving one or more detector signals
82 };
83 
84 #endif
bool Bool_t
char Char_t
constexpr Bool_t kFALSE
double Double_t
constexpr Bool_t kTRUE
#define ClassDef(name, id)
const Char_t * GetLabel() const
Definition: KVBase.h:199
Signal 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)
Base class for output signal data produced by a detector.
Base class for detector geometry description.
Definition: KVDetector.h:160
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
KaliVeda extensions to ROOT collection classes.
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
Definition: KVString.h:73
const char * GetName() const override
virtual void Warning(const char *method, const char *msgfmt,...) const