KaliVeda
Toolkit for HIC analysis
KVCalibratedSignal.h
1 
4 #ifndef __KVCALIBRATEDSIGNAL_H
5 #define __KVCALIBRATEDSIGNAL_H
6 
7 #include "KVDetectorSignal.h"
8 #include "KVCalibrator.h"
9 
68 
69  friend class KVDetector;
70 
74 
75 protected:
78  {
80  SetTitle(Form("Signal %s calculated from signal %s of detector %s", GetName(), input->GetName(), GetDetector()->GetName()));
81  }
83  : KVDetectorSignal(calib->GetOutputSignalType(), input->GetDetector()), fInputSignal(input), fCalibrator(calib), fInversionFail(false)
84  {
86  SetTitle(Form("Signal %s calculated from signal %s of detector %s", GetName(), input->GetName(), GetDetector()->GetName()));
87  }
88 public:
90  : KVDetectorSignal(), fInputSignal(nullptr), fCalibrator(nullptr), fInversionFail(false)
91  {}
92 
93  Double_t GetValue(const KVNameValueList& params = "") const override;
94  Double_t GetInverseValue(Double_t out_val, const TString& in_sig, const KVNameValueList& params = "") const override;
97  {
98  return fInputSignal;
99  }
100 
102  {
103  return fCalibrator;
104  }
105  Bool_t IsRaw() const override
106  {
108  return kFALSE;
109  }
110  Bool_t IsFired() const override
111  {
113  return fInputSignal->IsFired();
114  }
116  {
117  return fInversionFail;
118  }
119  Bool_t IsAvailableFor(const KVNameValueList& params) const override
120  {
125 
126  Bool_t ok = kTRUE;
127  if (fInputSignal) ok &= fInputSignal->IsAvailableFor(params);
128  if (fCalibrator) ok &= fCalibrator->IsAvailableFor(params);
129  return ok;
130  }
132  {
134  return GetInputSignal()->GetParentSignal();
135  }
136 
137  ClassDefOverride(KVCalibratedSignal, 1) //Detector signal produced by a calibrator
138 };
139 
140 #endif
bool Bool_t
constexpr Bool_t kFALSE
double Double_t
constexpr Bool_t kTRUE
#define ClassDefOverride(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void input
char * Form(const char *fmt,...)
Output signal from detector obtained by calibration.
Double_t GetValue(const KVNameValueList &params="") const override
KVCalibrator * fCalibrator
calibrator used to transform input signal
Bool_t IsRaw() const override
Bool_t InversionFailure() const
KVCalibratedSignal(KVDetectorSignal *input, KVCalibrator *calib)
KVCalibratedSignal(KVDetectorSignal *input, const KVString &output)
Bool_t fInversionFail
set to true when failing to compute an inverted calibrator
Double_t GetInverseValue(Double_t out_val, const TString &in_sig, const KVNameValueList &params="") const override
KVCalibrator * GetCalibrator() const
Bool_t IsFired() const override
KVDetectorSignal * GetParentSignal() override
KVDetectorSignal * fInputSignal
signal which is used as input to generate calibrated signal
Bool_t SetRawValueFromCalibrated(Double_t, const KVNameValueList &params="")
KVDetectorSignal * GetInputSignal() const
Bool_t IsAvailableFor(const KVNameValueList &params) const override
Base class for all detector calibrations.
Definition: KVCalibrator.h:99
virtual Bool_t IsAvailableFor(const KVNameValueList &) const
Definition: KVCalibrator.h:206
Base class for output signal data produced by a detector.
virtual Bool_t IsFired() const
virtual Bool_t IsAvailableFor(const KVNameValueList &) const
const KVDetector * GetDetector() const
virtual KVDetectorSignal * GetParentSignal()
Base class for detector geometry description, interface to energy-loss calculations.
Definition: KVDetector.h:160
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:73
virtual void SetTitle(const char *title="")
const char * GetName() const override