KaliVeda
Toolkit for HIC analysis
Loading...
Searching...
No Matches
KVCalibratedSignal Class Reference

Detailed Description

Output signal from detector obtained by calibration.

Created by KVClassFactory on Thu Jun 13 09:49:14 2019 Author: John Frankland,,,

Calibrated signals are added to detectors when a calibration is available for a given run of a dataset (experiment). A calibration basically defines how a new calibrated signal is generated from an existing input signal using a KVCalibrator or derived class:

KVDetectorSignal _______\ KVCalibrator _______\ KVCalibratedSignal
'input' / / 'output'
Base class for output signal data produced by a detector.

Supposing a KVCalibrator object has been defined which transforms a signal raw_ADC into a signal Energy,

auto cal = new KVCalibrator("[0]+[1]*x","Energy Calibration");
cal->SetInputSignalType("raw_ADC");
cal->SetOutputSignalType("Energy");
cal->SetParameter(0,0.034)
cal->SetParameter(1,2.465e-03)
Base class for all detector calibrations.

adding this calibration to a detector which has a signal raw_ADC will add a new KVCalibratedSignal Energy to the detector:

det.AddDetectorSignal("raw_ADC");
det.AddCalibrator(cal);
OBJ: KVUniqueNameList KVSeqCollection_156 Optimised list in which objects with the same name can only be placed once : 0
KVDetectorSignal raw_ADC Signal raw_ADC of detector Det_1 [0.000000]
KVCalibratedSignal Energy Signal Energy calculated from signal raw_ADC of detector Det_1 [0.034000]
char name[80]
Output signal from detector obtained by calibration.
Base class for detector geometry description.
Definition KVDetector.h:160
void AddDetectorSignal(KVDetectorSignal *ds)
Definition KVDetector.h:261
const KVSeqCollection & GetListOfDetectorSignals() const
Definition KVDetector.h:786
Bool_t AddCalibrator(KVCalibrator *cal, const KVNameValueList &opts="")
Optimised list in which named objects can only be placed once.
void ls(Option_t *option="") const override

and now whenever the raw_ADC signal is read/set from data, the Energy signal will be calculated from the calibration:

det.SetDetectorSignalValue("raw_ADC",45630);
(double) 112.51195
det.GetEnergy() // special case: KVDetector::GetEnergy() returns value of "Energy" signal
(double) 112.51195
void SetDetectorSignalValue(const KVString &type, Double_t val) const
Definition KVDetector.h:506
virtual Double_t GetEnergy() const
Definition KVDetector.h:349
Double_t GetDetectorSignalValue(const KVString &type, const KVNameValueList &params="") const
Definition KVDetector.h:493

See Detector signals and calibrations in the User's Guide for more details.

See also
KVCalibrator

Definition at line 67 of file KVCalibratedSignal.h.

#include <KVCalibratedSignal.h>

Inheritance diagram for KVCalibratedSignal:

Public Member Functions

 KVCalibratedSignal ()
 
virtual ~KVCalibratedSignal ()
 
KVCalibratorGetCalibrator () const
 
KVDetectorSignalGetInputSignal () const
 
Double_t GetInverseValue (Double_t out_val, const TString &in_sig, const KVNameValueList &params="") const
 
Double_t GetValue (const KVNameValueList &params="") const
 
Bool_t InversionFailure () const
 
virtual Bool_t IsAvailableFor (const KVNameValueList &params) const
 
Bool_t IsRaw () const
 
- Public Member Functions inherited from KVDetectorSignal
 KVDetectorSignal ()
 
 KVDetectorSignal (const Char_t *type, const KVDetector *det=nullptr)
 
virtual ~KVDetectorSignal ()
 
void Clear (Option_t *="")
 
const KVDetectorGetDetector () const
 
TString GetFullName () const
 
virtual Int_t GetStatus (const TString &) const
 Override in child classes to report on the 'status' of the signal.
 
const Char_tGetType () const
 
virtual Bool_t GetValueNeedsExtraParameters () const
 
virtual Bool_t IsExpression () const
 
Bool_t IsFired () const
 
virtual Bool_t IsValid () const
 
void ls (Option_t *="") const
 Print compact listing of infos on signal: name/type, associated detector, value.
 
virtual void Reset ()
 
void SetDetector (const KVDetector *d)
 
void SetFired (Bool_t yes=true)
 
void SetType (const Char_t *typ)
 
virtual void SetValue (Double_t x)
 
- Public Member Functions inherited from KVBase
 KVBase ()
 Default constructor.
 
 KVBase (const Char_t *name, const Char_t *title="")
 Ctor for object with given name and type.
 
 KVBase (const KVBase &)
 copy ctor
 
virtual ~KVBase ()
 
virtual void Copy (TObject &) const
 Make a copy of this object.
 
const Char_tGetLabel () const
 
UInt_t GetNumber () const
 
UInt_t GetNumberOfObjects () const
 
virtual TObjectGetObject () const
 
Bool_t HasLabel () const
 
virtual Bool_t IsCalled (const Char_t *name) const
 
Bool_t IsLabelled (const Char_t *l) const
 
virtual Bool_t IsType (const Char_t *typ) const
 
virtual void List ()
 
KVBaseoperator= (const KVBase &)
 copy assignment operator
 
virtual void Print (Option_t *option="") const
 
Double_t ProtectedGetX (const TF1 *func, Double_t val, int &status, Double_t xmin=0.0, Double_t xmax=0.0) const
 
void SetLabel (const Char_t *lab)
 
virtual void SetNumber (UInt_t num)
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 
void Clear (Option_t *option="") override
 
TObjectClone (const char *newname="") const override
 
Int_t Compare (const TObject *obj) const override
 
void Copy (TObject &named) const override
 
virtual void FillBuffer (char *&buffer)
 
const char * GetName () const override
 
const char * GetTitle () const override
 
ULong_t Hash () const override
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 
TNamedoperator= (const TNamed &rhs)
 
void Print (Option_t *option="") const override
 
virtual void SetName (const char *name)
 
virtual void SetNameTitle (const char *name, const char *title)
 
virtual void SetTitle (const char *title="")
 
virtual Int_t Sizeof () const
 
void Streamer (TBuffer &) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 
virtual ~TObject ()
 
void AbstractMethod (const char *method) const
 
virtual void AppendPad (Option_t *option="")
 
virtual void Browse (TBrowser *b)
 
ULong_t CheckedHash ()
 
virtual const char * ClassName () const
 
virtual void Delete (Option_t *option="")
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 
virtual void Draw (Option_t *option="")
 
virtual void DrawClass () const
 
virtual TObjectDrawClone (Option_t *option="") const
 
virtual void Dump () const
 
virtual void Error (const char *method, const char *msgfmt,...) const
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 
virtual TObjectFindObject (const char *name) const
 
virtual TObjectFindObject (const TObject *obj) const
 
virtual Option_tGetDrawOption () const
 
virtual const char * GetIconName () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 
virtual Bool_t HandleTimer (TTimer *timer)
 
Bool_t HasInconsistentHash () const
 
virtual void Info (const char *method, const char *msgfmt,...) const
 
virtual Bool_t InheritsFrom (const char *classname) const
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 
virtual void Inspect () const
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 
virtual Bool_t IsEqual (const TObject *obj) const
 
virtual Bool_t IsFolder () const
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 
virtual Bool_t Notify ()
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, void *vp)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, void *vp)
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 
virtual void Paint (Option_t *option="")
 
virtual void Pop ()
 
virtual Int_t Read (const char *name)
 
virtual void RecursiveRemove (TObject *obj)
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 
virtual void SetDrawOption (Option_t *option="")
 
virtual void SetUniqueID (UInt_t uid)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 

Private Member Functions

 KVCalibratedSignal (KVDetectorSignal *input, const KVString &output)
 
 KVCalibratedSignal (KVDetectorSignal *input, KVCalibrator *calib)
 

Private Attributes

KVCalibratorfCalibrator
 calibrator used to transform input signal
 
KVDetectorSignalfInputSignal
 signal which is used as input to generate calibrated signal
 
Bool_t fInversionFail
 set to true when failing to compute an inverted calibrator
 

Friends

class KVDetector
 

Additional Inherited Members

- Public Types inherited from KVBase
enum  EKaliVedaBits { kIsKaliVedaObject = BIT(23) }
 
- Public Types inherited from TObject
enum  EDeprecatedStatusBits
 
enum  EStatusBits
 
- Static Public Member Functions inherited from KVBase
static Bool_t AreEqual (Double_t x, Double_t y, Long64_t maxdif=1)
 Comparison between two 64-bit floating-point values.
 
static void BackupFileWithDate (const Char_t *path)
 
static void CombineFiles (const Char_t *file1, const Char_t *file2, const Char_t *newfilename, Bool_t keep=kTRUE)
 
static void Deprecated (const char *method, const char *advice)
 
static Bool_t FindClassSourceFiles (const Char_t *class_name, KVString &imp_file, KVString &dec_file, const Char_t *dir_name=".")
 
static Bool_t FindExecutable (TString &exec, const Char_t *path="$(PATH)")
 
static const Char_tFindFile (const Char_t *search, TString &wfil)
 
static const Char_tGetBINDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetDATABASEFilePath ()
 
static const Char_tGetDATADIRFilePath (const Char_t *namefile="")
 
static Bool_t GetDataSetEnv (const Char_t *dataset, const Char_t *type, Bool_t defval)
 
static const Char_tGetDataSetEnv (const Char_t *dataset, const Char_t *type, const Char_t *defval)
 
static Double_t GetDataSetEnv (const Char_t *dataset, const Char_t *type, Double_t defval)
 
static const Char_tGetETCDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetExampleFilePath (const Char_t *library, const Char_t *namefile)
 Return full path to example file for given library (="KVMultiDet", "BackTrack", etc.)
 
static const Char_tGetINCDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetKVBuildDate ()
 Returns KaliVeda build date.
 
static const Char_tGetKVBuildDir ()
 Returns top-level directory used for build.
 
static const Char_tGetKVBuildTime ()
 Returns KaliVeda build time.
 
static const Char_tGetKVBuildType ()
 Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...)
 
static const Char_tGetKVBuildUser ()
 Returns username of person who performed build.
 
static const Char_tGetKVSourceDir ()
 Returns top-level directory of source tree used for build.
 
static const Char_tGetKVVersion ()
 Returns KaliVeda version string.
 
static const Char_tGetLIBDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetListOfPlugins (const Char_t *base)
 
static const Char_tGetListOfPluginURIs (const Char_t *base)
 
static const Char_tGetPluginURI (const Char_t *base, const Char_t *plugin)
 
static void GetTempFileName (TString &base)
 
static const Char_tGetTEMPLATEDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetWORKDIRFilePath (const Char_t *namefile="")
 
static const Char_tgitBranch ()
 Returns git branch of sources.
 
static const Char_tgitCommit ()
 Returns last git commit of sources.
 
static void InitEnvironment ()
 
static bool is_gnuinstall ()
 
static Bool_t IsThisAPlugin (const TString &uri, TString &base)
 
static TPluginHandlerLoadPlugin (const Char_t *base, const Char_t *uri="0")
 
static Bool_t OpenContextMenu (const char *method, TObject *obj, const char *alt_method_name="")
 
static void OpenTempFile (TString &base, std::ofstream &fp)
 
static void PrintSplashScreen ()
 Prints welcome message and infos on version etc.
 
static Bool_t SearchAndOpenKVFile (const Char_t *name, KVSQLite::database &dbfile, const Char_t *kvsubdir="")
 
static Bool_t SearchAndOpenKVFile (const Char_t *name, std::ifstream &file, const Char_t *kvsubdir="", KVLockfile *locks=0)
 
static Bool_t SearchAndOpenKVFile (const Char_t *name, std::ofstream &file, const Char_t *kvsubdir="", KVLockfile *locks=0)
 
static Bool_t SearchKVFile (const Char_t *name, TString &fullpath, const Char_t *kvsubdir="")
 
static const Char_tWorkingDirectory ()
 
- Static Public Member Functions inherited from TNamed
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 
static Bool_t GetObjectStat ()
 
static void SetDtorOnly (void *obj)
 
static void SetObjectStat (Bool_t stat)
 
- Public Attributes inherited from TObject
 kBitMask
 
 kCanDelete
 
 kCannotPick
 
 kHasUUID
 
 kInconsistent
 
 kInvalidObject
 
 kIsOnHeap
 
 kIsReferenced
 
 kMustCleanup
 
 kNoContextMenu
 
 kNotDeleted
 
 kObjInCanvas
 
 kOverwrite
 
 kSingleKey
 
 kWriteDelete
 
 kZombie
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 
void MakeZombie ()
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 
- Protected Attributes inherited from TObject
 kOnlyPrepStep
 

Constructor & Destructor Documentation

◆ KVCalibratedSignal() [1/3]

KVCalibratedSignal::KVCalibratedSignal ( KVDetectorSignal input,
const KVString output 
)
inlineprivate

Constructor used by KVZDependentCalibratedSignal

Definition at line 76 of file KVCalibratedSignal.h.

◆ KVCalibratedSignal() [2/3]

KVCalibratedSignal::KVCalibratedSignal ( KVDetectorSignal input,
KVCalibrator calib 
)
inlineprivate

Constructor used by KVDetector::AddCalibrator()

Definition at line 82 of file KVCalibratedSignal.h.

◆ KVCalibratedSignal() [3/3]

KVCalibratedSignal::KVCalibratedSignal ( )
inline

Definition at line 89 of file KVCalibratedSignal.h.

◆ ~KVCalibratedSignal()

virtual KVCalibratedSignal::~KVCalibratedSignal ( )
inlinevirtual

Definition at line 92 of file KVCalibratedSignal.h.

Member Function Documentation

◆ GetCalibrator()

KVCalibrator * KVCalibratedSignal::GetCalibrator ( ) const
inline

Definition at line 102 of file KVCalibratedSignal.h.

◆ GetInputSignal()

KVDetectorSignal * KVCalibratedSignal::GetInputSignal ( ) const
inline

Definition at line 97 of file KVCalibratedSignal.h.

◆ GetInverseValue()

Double_t KVCalibratedSignal::GetInverseValue ( Double_t  out_val,
const TString in_sig,
const KVNameValueList params = "" 
) const
virtual

Returns the value of the input signal "in_sig" for a given value of this signal, using the inverse calibration function.

Note that "in_sig" may not be the name/type of the direct input signal for this signal, in which case the chain of signals/calibrators is followed back to the required signal.

In case a problem occurs with the calculation, InversionFailure() will return kTRUE.

Any additional parameters required by the calibration can be passed as a comma-separated list of 'parameter=value' pairs

Reimplemented from KVDetectorSignal.

Reimplemented in KVZDependentCalibratedSignal.

Definition at line 58 of file KVCalibratedSignal.cpp.

◆ GetValue()

Double_t KVCalibratedSignal::GetValue ( const KVNameValueList params = "") const
virtual

Returns the value of the calibrated signal using the current value of the input signal* and the current parameters of the calibration

Any additional parameters required by the calibration can be passed as a comma-separated list of parameter=value pairs

In case a problem occurs with the calculation [in case of an inverted calibration function], InversionFailure() will return kTRUE.

*if a parameter INPUT is given, its value is used instead of the input signal.

Reimplemented from KVDetectorSignal.

Reimplemented in KVZDependentCalibratedSignal.

Definition at line 21 of file KVCalibratedSignal.cpp.

◆ InversionFailure()

Bool_t KVCalibratedSignal::InversionFailure ( ) const
inline

Definition at line 111 of file KVCalibratedSignal.h.

◆ IsAvailableFor()

virtual Bool_t KVCalibratedSignal::IsAvailableFor ( const KVNameValueList params) const
inlinevirtual

Determine if a calibration is effectively available based on the extra parameters in the KVNameValueList.

All of the parent signals which are used by this signal must also be available - therefore we check recursively

Reimplemented from KVDetectorSignal.

Reimplemented in KVZDependentCalibratedSignal.

Definition at line 115 of file KVCalibratedSignal.h.

◆ IsRaw()

Bool_t KVCalibratedSignal::IsRaw ( ) const
inlinevirtual

Return kFALSE: this is not raw data, it is produced by a calibration procedure

Reimplemented from KVDetectorSignal.

Definition at line 106 of file KVCalibratedSignal.h.

Friends And Related Symbol Documentation

◆ KVDetector

friend class KVDetector
friend

Definition at line 69 of file KVCalibratedSignal.h.

Member Data Documentation

◆ fCalibrator

KVCalibrator* KVCalibratedSignal::fCalibrator
private

calibrator used to transform input signal

Definition at line 72 of file KVCalibratedSignal.h.

◆ fInputSignal

KVDetectorSignal* KVCalibratedSignal::fInputSignal
private

signal which is used as input to generate calibrated signal

Definition at line 71 of file KVCalibratedSignal.h.

◆ fInversionFail

Bool_t KVCalibratedSignal::fInversionFail
mutableprivate

set to true when failing to compute an inverted calibrator

Definition at line 73 of file KVCalibratedSignal.h.