1#ifndef __KV_CALIBRATOR__
2#define __KV_CALIBRATOR__
8#include "KVValueRange.h"
137 return (
X >= Xmin) && (
X <= Xmax);
#define ClassDef(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
Base class for KaliVeda framework.
Double_t ProtectedGetX(const TF1 *func, Double_t val, int &status, Double_t xmin=0.0, Double_t xmax=0.0) const
Base class for all detector calibrations.
Double_t operator()(Double_t x, const KVNameValueList &par="")
void adjust_range_of_inverse_calibration()
void SetCalibFunction(TF1 *f)
TF1 * GetCalibFunction() const
void SetUseInverseFunction(Bool_t yes=kTRUE)
KVDetector * GetDetector() const
virtual Double_t Invert(Double_t x, const KVNameValueList &) const
Bool_t fReady
= kTRUE if calibration formula & parameters have been set up
Bool_t fInversionFail
problem inverting calibration function
Int_t GetNumberParams() const
Double_t fInputMin
required minimum input signal for inverse calibration
virtual Bool_t IsAvailableFor(const KVNameValueList &) const
virtual void SetOptions(const KVNameValueList &)
void SetParameter(int i, Double_t par_val) const
Double_t do_inversion(Double_t x) const
virtual Double_t Compute(Double_t x, const KVNameValueList &) const
void SetStatus(Bool_t ready)
TGraph * GetGraphOfCalibration(int npts, KVValueRange< double > input_range, const KVNameValueList &par="")
TF1 * fCalibFunc
calibration function
Double_t GetParameter(int i) const
virtual void Print(Option_t *opt="") const
Print a description of the calibration object, including a list of its parameters.
Double_t fInputMax
required maximum input signal for inverse calibration
KVCalibrator(const TString &formula, const TString &type)
TString GetInputSignalType() const
TString fOutputSignal
type of output calibrated signal
void SetOutputSignalType(const TString &type)
void SetDetector(KVDetector *d)
void SetInputSignalType(const TString &type)
TString GetOutputSignalType() const
KVDetector * fDetector
associated detector
Bool_t fUseInverseFunction
true if inverse i.e. TF1::GetX should be used for Compute()
TString fInputSignal
type of signal used as input
Bool_t InversionFailure() const
Bool_t IsUseInverseFunction() const
static KVCalibrator * MakeCalibrator(const Char_t *type)
bool in_range(double X, double Xmin, double Xmax)
Base class for detector geometry description.
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
Range of values specified by minimum, maximum.
virtual Double_t GetParameter(const TString &name) const
virtual Int_t GetNpar() const
virtual Double_t Eval(Double_t x, Double_t y=0, Double_t z=0, Double_t t=0) const
virtual void SetParameter(const TString &name, Double_t value)