KaliVeda
Toolkit for HIC analysis
KVLightEnergyCsIFull Class Reference

Detailed Description

Exact calibration formula for CsI detectors.

Created by KVClassFactory on Fri Feb 8 09:58:44 2013 Author: dgruyer

Definition at line 17 of file KVLightEnergyCsIFull.h.

#include <KVLightEnergyCsIFull.h>

Inheritance diagram for KVLightEnergyCsIFull:

Public Types

enum  LightFormula { kExact , kApproxIntegral , kApprox , kApproxSilicon }
 
- Public Types inherited from KVBase
enum  EKaliVedaBits { kIsKaliVedaObject = BIT(23) }
 

Public Member Functions

 KVLightEnergyCsIFull ()
 
virtual ~KVLightEnergyCsIFull ()
 
Int_t GetLightFormula ()
 
virtual void Print (Option_t *opt="") const
 
void SetLightFormula (const TString &)
 
void SetLightFormula (Int_t form)
 
void SetOptions (const KVNameValueList &opt)
 
- Public Member Functions inherited from KVLightEnergyCsI
 KVLightEnergyCsI (Bool_t make_func=kTRUE)
 
virtual ~ KVLightEnergyCsI ()
 
virtual Double_t Compute (Double_t chan, const KVNameValueList &z_and_a="") const
 
virtual Double_t Invert (Double_t, const KVNameValueList &z_and_a="") const
 
Bool_t IsAvailableFor (const KVNameValueList &z_and_a) const
 
- Public Member Functions inherited from KVCalibrator
 KVCalibrator ()
 
 KVCalibrator (const TString &formula, const TString &type)
 
virtual ~KVCalibrator ()
 
KVDetectorGetDetector () const
 
TGraph * GetGraphOfCalibration (int npts, KVValueRange< double > input_range, const KVNameValueList &par="")
 
TString GetInputSignalType () const
 
Int_t GetNumberParams () const
 
TString GetOutputSignalType () const
 
Double_t GetParameter (int i) const
 
Bool_t GetStatus () const
 
Bool_t InversionFailure () const
 
Bool_t IsUseInverseFunction () const
 
Double_t operator() (Double_t x, const KVNameValueList &par="")
 
virtual void Reset ()
 
void SetDetector (KVDetector *d)
 
void SetInputSignalType (const TString &type)
 
void SetOutputSignalType (const TString &type)
 
void SetParameter (int i, Double_t par_val) const
 
void SetStatus (Bool_t ready)
 
void SetUseInverseFunction (Bool_t yes=kTRUE)
 
- Public Member Functions inherited from KVBase
 KVBase ()
 Default constructor. More...
 
 KVBase (const Char_t *name, const Char_t *title="")
 Ctor for object with given name and type. More...
 
 KVBase (const KVBase &)
 copy ctor More...
 
virtual ~ KVBase ()
 
virtual void Clear (Option_t *opt="")
 Clear object properties : name, type/title, number, label. More...
 
virtual void Copy (TObject &) const
 Make a copy of this object. More...
 
const Char_t * GetLabel () const
 
UInt_t GetNumber () const
 
UInt_t GetNumberOfObjects () const
 
virtual TObject * GetObject () const
 
virtual const Char_t * GetType () 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 More...
 
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)
 
virtual void SetType (const Char_t *str)
 

Private Member Functions

Double_t dLightIntegral (double *x, double *par)
 
Double_t dLightIntegralApprox (double *x, double *par)
 
Double_t gamma (double z, double a, double e)
 Hubert, Bimbot and Gauvin. More...
 
Double_t gamma_hbg (double z, double a, double e)
 
Double_t gamma_ziegler (double z, double a, double e)
 
Double_t GetDeltaFraction (Double_t beta, Double_t beta_delta)
 
Double_t GetLight (double *x, double *par)
 
Double_t GetLightApprox (double *x, double *par)
 
Double_t GetLightApproxSilicon (double *x, double *par)
 
void init ()
 default initialisations More...
 
Double_t sp_e (double z, double a, double e)
 if energy E<0.1 keV, return 0 More...
 
Double_t sp_n (double z, double a, double e)
 return 0.; More...
 

Private Attributes

Double_t fAmed
 A of detector material (CsI) More...
 
TF1 * fDlight
 function to integrate to get fLight More...
 
Int_t fLightFormula
 light formula (see NIMa of Marian) More...
 
Double_t fZmed
 Z of detector material. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from KVCalibrator
static KVCalibratorMakeCalibrator (const Char_t *type)
 
- 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. More...
 
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_t * FindFile (const Char_t *search, TString &wfil)
 
static const Char_t * GetBINDIRFilePath (const Char_t *namefile="")
 
static const Char_t * GetDATABASEFilePath ()
 
static const Char_t * GetDATADIRFilePath (const Char_t *namefile="")
 
static Bool_t GetDataSetEnv (const Char_t *dataset, const Char_t *type, Bool_t defval)
 
static const Char_t * GetDataSetEnv (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_t * GetETCDIRFilePath (const Char_t *namefile="")
 
static const Char_t * GetExampleFilePath (const Char_t *library, const Char_t *namefile)
 Return full path to example file for given library (="KVMultiDet", "BackTrack", etc.) More...
 
static const Char_t * GetINCDIRFilePath (const Char_t *namefile="")
 
static const Char_t * GetKVBuildDate ()
 Returns KaliVeda build date. More...
 
static const Char_t * GetKVBuildDir ()
 Returns top-level directory used for build. More...
 
static const Char_t * GetKVBuildTime ()
 Returns KaliVeda build time. More...
 
static const Char_t * GetKVBuildType ()
 Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...) More...
 
static const Char_t * GetKVBuildUser ()
 Returns username of person who performed build. More...
 
static const Char_t * GetKVSourceDir ()
 Returns top-level directory of source tree used for build. More...
 
static const Char_t * GetKVVersion ()
 Returns KaliVeda version string. More...
 
static const Char_t * GetLIBDIRFilePath (const Char_t *namefile="")
 
static const Char_t * GetListOfPlugins (const Char_t *base)
 
static const Char_t * GetListOfPluginURIs (const Char_t *base)
 
static const Char_t * GetPluginURI (const Char_t *base, const Char_t *plugin)
 
static void GetTempFileName (TString &base)
 
static const Char_t * GetTEMPLATEDIRFilePath (const Char_t *namefile="")
 
static const Char_t * GetWORKDIRFilePath (const Char_t *namefile="")
 
static const Char_t * gitBranch ()
 Returns git branch of sources. More...
 
static const Char_t * gitCommit ()
 Returns last git commit of sources. More...
 
static void InitEnvironment ()
 
static bool is_gnuinstall ()
 
static Bool_t IsThisAPlugin (const TString &uri, TString &base)
 
static TPluginHandler * LoadPlugin (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. More...
 
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_t * WorkingDirectory ()
 

Member Enumeration Documentation

◆ LightFormula

Enumerator
kExact 
kApproxIntegral 
kApprox 
kApproxSilicon 

Definition at line 40 of file KVLightEnergyCsIFull.h.

Constructor & Destructor Documentation

◆ KVLightEnergyCsIFull()

KVLightEnergyCsIFull::KVLightEnergyCsIFull ( )

Definition at line 441 of file KVLightEnergyCsIFull.cpp.

◆ ~KVLightEnergyCsIFull()

virtual KVLightEnergyCsIFull::~KVLightEnergyCsIFull ( )
inlinevirtual

Definition at line 48 of file KVLightEnergyCsIFull.h.

Member Function Documentation

◆ dLightIntegral()

Double_t KVLightEnergyCsIFull::dLightIntegral ( double *  x,
double *  par 
)
private

Definition at line 79 of file KVLightEnergyCsIFull.cpp.

◆ dLightIntegralApprox()

Double_t KVLightEnergyCsIFull::dLightIntegralApprox ( double *  x,
double *  par 
)
private

Definition at line 28 of file KVLightEnergyCsIFull.cpp.

◆ gamma()

Double_t KVLightEnergyCsIFull::gamma ( double  z,
double  a,
double  e 
)
private

Hubert, Bimbot and Gauvin.

Definition at line 223 of file KVLightEnergyCsIFull.cpp.

◆ gamma_hbg()

Double_t KVLightEnergyCsIFull::gamma_hbg ( double  z,
double  a,
double  e 
)
private

Definition at line 256 of file KVLightEnergyCsIFull.cpp.

◆ gamma_ziegler()

Double_t KVLightEnergyCsIFull::gamma_ziegler ( double  z,
double  a,
double  e 
)
private

Definition at line 239 of file KVLightEnergyCsIFull.cpp.

◆ GetDeltaFraction()

Double_t KVLightEnergyCsIFull::GetDeltaFraction ( Double_t  beta,
Double_t  beta_delta 
)
private

Definition at line 13 of file KVLightEnergyCsIFull.cpp.

◆ GetLight()

Double_t KVLightEnergyCsIFull::GetLight ( double *  x,
double *  par 
)
private

x[0] = energie (MeV) par[0] = a1 par[1] = a2 par[2] = a3 par[3] = a4 par[4] = pied

Definition at line 333 of file KVLightEnergyCsIFull.cpp.

◆ GetLightApprox()

Double_t KVLightEnergyCsIFull::GetLightApprox ( double *  x,
double *  par 
)
private

Calcul de la lumiere totale a partir de Z, A d'une particule et son energie -> copie de KVLightEnergyCsI->CalculeLumiere(...)

x[0] = energie (MeV) par[0] = pied par[1] = a1 par[2] = a2 par[3] = a3 par[4] = a4

Definition at line 368 of file KVLightEnergyCsIFull.cpp.

◆ GetLightApproxSilicon()

Double_t KVLightEnergyCsIFull::GetLightApproxSilicon ( double *  x,
double *  par 
)
private

Calcul de la lumiere totale a partir de Z, A d'une particule et son energie -> copie de ami_4 Lopez, Parlog LPCCaen

x[0] = energie (MeV) par[0] = pied par[1] = a1 par[2] = a2 par[3] = a3 par[4] = a4

Definition at line 410 of file KVLightEnergyCsIFull.cpp.

◆ GetLightFormula()

Int_t KVLightEnergyCsIFull::GetLightFormula ( )
inline

Definition at line 59 of file KVLightEnergyCsIFull.h.

◆ init()

void KVLightEnergyCsIFull::init ( void  )
private

default initialisations

Definition at line 452 of file KVLightEnergyCsIFull.cpp.

◆ Print()

void KVLightEnergyCsIFull::Print ( Option_t *  opt = "") const
virtual

Reimplemented from KVCalibrator.

Definition at line 495 of file KVLightEnergyCsIFull.cpp.

◆ SetLightFormula() [1/2]

void KVLightEnergyCsIFull::SetLightFormula ( const TString &  which)

Set type of light-energy formula. Can be one of:

Exact
ApproxIntegral
Approx (=INDRA style)
ApproxSilicon

Definition at line 513 of file KVLightEnergyCsIFull.cpp.

◆ SetLightFormula() [2/2]

void KVLightEnergyCsIFull::SetLightFormula ( Int_t  form)
inline

Definition at line 53 of file KVLightEnergyCsIFull.h.

◆ SetOptions()

void KVLightEnergyCsIFull::SetOptions ( const KVNameValueList opt)
virtual

Used to set up a CsI calibrator from infos in a calibration parameter file. Use an option string like this:

CalibOptions: formula=[Exact|ApproxIntegral|Approx|ApproxSilicon]

Reimplemented from KVCalibrator.

Definition at line 544 of file KVLightEnergyCsIFull.cpp.

◆ sp_e()

Double_t KVLightEnergyCsIFull::sp_e ( double  z,
double  a,
double  e 
)
private

if energy E<0.1 keV, return 0

Definition at line 152 of file KVLightEnergyCsIFull.cpp.

◆ sp_n()

Double_t KVLightEnergyCsIFull::sp_n ( double  z,
double  a,
double  e 
)
private

return 0.;

Definition at line 297 of file KVLightEnergyCsIFull.cpp.

Member Data Documentation

◆ fAmed

Double_t KVLightEnergyCsIFull::fAmed
private

A of detector material (CsI)

Definition at line 36 of file KVLightEnergyCsIFull.h.

◆ fDlight

TF1* KVLightEnergyCsIFull::fDlight
private

function to integrate to get fLight

Definition at line 37 of file KVLightEnergyCsIFull.h.

◆ fLightFormula

Int_t KVLightEnergyCsIFull::fLightFormula
private

light formula (see NIMa of Marian)

Definition at line 34 of file KVLightEnergyCsIFull.h.

◆ fZmed

Double_t KVLightEnergyCsIFull::fZmed
private

Z of detector material.

Definition at line 35 of file KVLightEnergyCsIFull.h.