KaliVeda  1.12/06
Heavy-Ion Analysis Toolkit
KVCalibratedSignal.h
Go to the documentation of this file.
1 
4 #ifndef __KVCALIBRATEDSIGNAL_H
5 #define __KVCALIBRATEDSIGNAL_H
6 
7 #include "KVDetectorSignal.h"
8 #include "KVCalibrator.h"
9 
17 
21 
22 protected:
24  : KVDetectorSignal(output, input->GetDetector()), fInputSignal(input), fCalibrator(nullptr), fInversionFail(false)
25  {
27  SetTitle(Form("Signal %s calculated from signal %s of detector %s", GetName(), input->GetName(), GetDetector()->GetName()));
28  }
29 public:
31  : KVDetectorSignal(), fInputSignal(nullptr), fCalibrator(nullptr), fInversionFail(false)
32  {}
34  : KVDetectorSignal(calib->GetOutputSignalType(), input->GetDetector()), fInputSignal(input), fCalibrator(calib), fInversionFail(false)
35  {
36  SetTitle(Form("Signal %s calculated from signal %s of detector %s", GetName(), input->GetName(), GetDetector()->GetName()));
37  }
39  {}
40 
41  Double_t GetValue(const KVNameValueList& params = "") const;
42  Double_t GetInverseValue(Double_t out_val, const TString& in_sig, const KVNameValueList& params = "") const;
44  {
45  return fInputSignal;
46  }
47 
49  {
50  return fCalibrator;
51  }
52  Bool_t IsRaw() const
53  {
55  return kFALSE;
56  }
58  {
59  return fInversionFail;
60  }
61  virtual Bool_t IsAvailableFor(const KVNameValueList& params) const
62  {
67 
68  Bool_t ok = kTRUE;
69  if (fInputSignal) ok &= fInputSignal->IsAvailableFor(params);
70  if (fCalibrator) ok &= fCalibrator->IsAvailableFor(params);
71  return ok;
72  }
73 
74  ClassDef(KVCalibratedSignal, 1) //Detector signal produced by a calibrator
75 };
76 
77 #endif
const Bool_t kFALSE
bool Bool_t
double Double_t
const Bool_t kTRUE
#define ClassDef(name, id)
char * Form(const char *fmt,...)
Calibrated output from detector.
Bool_t IsRaw() const
KVCalibrator * fCalibrator
calibrator used to transform input signal
Bool_t InversionFailure() const
KVCalibratedSignal(KVDetectorSignal *input, KVCalibrator *calib)
KVCalibratedSignal(KVDetectorSignal *input, const KVString &output)
virtual Bool_t IsAvailableFor(const KVNameValueList &params) const
Bool_t fInversionFail
set to true when failing to compute an inverted calibrator
KVCalibrator * GetCalibrator() const
KVDetectorSignal * fInputSignal
signal which is used as input to generate calibrated signal
Double_t GetValue(const KVNameValueList &params="") const
KVDetectorSignal * GetInputSignal() const
Double_t GetInverseValue(Double_t out_val, const TString &in_sig, const KVNameValueList &params="") const
Base class for all detector calibrations.
Definition: KVCalibrator.h:75
virtual Bool_t IsAvailableFor(const KVNameValueList &) const
Definition: KVCalibrator.h:178
Output signal data produced by a detector.
virtual Bool_t IsAvailableFor(const KVNameValueList &) const
const KVDetector * GetDetector() const
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 SetTitle(const char *title="")