KaliVeda
Toolkit for HIC analysis
KVedaLossRangeFitter Class Reference

Detailed Description

Fit a range table using the VEDALOSS functional.

See also
KVedaLoss

Definition at line 24 of file KVedaLossRangeFitter.h.

#include <KVedaLossRangeFitter.h>

Inheritance diagram for KVedaLossRangeFitter:

Public Member Functions

 KVedaLossRangeFitter ()
 Default constructor. More...
 
virtual ~KVedaLossRangeFitter ()
 Destructor. More...
 
void DoFits (TString output_file, Int_t Zmin=1, Int_t Zmax=100)
 Perform fits to range tables for elements from Zmin to Zmax. More...
 
Int_t FitRangeTable (TGraph *)
 
TGraph * GenerateRangeTable (Int_t Z)
 
TGraph * GenerateVEDALOSSRangeTable (Int_t Z)
 
void PrintFitHeader (std::ostream &)
 
void PrintFitParameters (Int_t, std::ostream &)
 
void SetInitialParameters (Int_t Z)
 
void SetMaterial (KVIonRangeTableMaterial *m)
 Sets range table to fit. Also finds material with closest Z in VEDALOSS library. More...
 
- 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...
 
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)
 
virtual void SetType (const Char_t *str)
 

Private Member Functions

Double_t range (Double_t *, Double_t *)
 express logR as a polynomial of log(E/A) More...
 

Private Attributes

Int_t Aref
 
KVedaLossMaterialfClosestVedaMat
 closest known VEDALOSS material More...
 
KVIonRangeTableMaterialfMaterial
 range table to fit More...
 
TF1 * fRangeFunction
 
KVedaLoss VEDALOSS
 

Additional Inherited Members

- Public Types inherited from KVBase
enum  EKaliVedaBits { kIsKaliVedaObject = BIT(23) }
 
- 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 ()
 

Constructor & Destructor Documentation

◆ KVedaLossRangeFitter()

KVedaLossRangeFitter::KVedaLossRangeFitter ( )

Default constructor.

Definition at line 39 of file KVedaLossRangeFitter.cpp.

◆ ~KVedaLossRangeFitter()

KVedaLossRangeFitter::~KVedaLossRangeFitter ( )
virtual

Destructor.

Definition at line 50 of file KVedaLossRangeFitter.cpp.

Member Function Documentation

◆ DoFits()

void KVedaLossRangeFitter::DoFits ( TString  output_file,
Int_t  Zmin = 1,
Int_t  Zmax = 100 
)

Perform fits to range tables for elements from Zmin to Zmax.

Definition at line 181 of file KVedaLossRangeFitter.cpp.

◆ FitRangeTable()

Int_t KVedaLossRangeFitter::FitRangeTable ( TGraph *  R)

Fit ranges in TGraph return value = 0 if fit is good

Definition at line 168 of file KVedaLossRangeFitter.cpp.

◆ GenerateRangeTable()

TGraph * KVedaLossRangeFitter::GenerateRangeTable ( Int_t  Z)

Create TGraph containing log(range) vs. log (E/A) for ions of given atomic number (the mass used is the reference mass found in the VEDALOSS tables). Convert range to mg/cm**2 (units of internal VEDALOSS range function)

Definition at line 110 of file KVedaLossRangeFitter.cpp.

◆ GenerateVEDALOSSRangeTable()

TGraph * KVedaLossRangeFitter::GenerateVEDALOSSRangeTable ( Int_t  Z)

Create TGraph containing log(range) vs. log (E/A) for ions of given atomic number using current VEDALOSS reference material. Convert range to mg/cm**2 (units of internal VEDALOSS range function)

Definition at line 140 of file KVedaLossRangeFitter.cpp.

◆ PrintFitHeader()

void KVedaLossRangeFitter::PrintFitHeader ( std::ostream &  )
  • Si Silicon solid 2.33 14.0 28.0855 0. 0. ELEMENT Z = 1,2 0.1 < E/A < 400 MeV Z = 3,100 0.1 < E/A < 250 MeV
  • Myl Mylar solid 1.395 4.545 8.735 0. 0. COMPOUND 3 6 12 10 1 1 8 8 16 4 Z = 1,2 0.1 < E/A < 400 MeV Z = 3,100 0.1 < E/A < 250 MeV
  • NE102 Plastic solid 1.032 3.5 6.509 0. 0. MIXTURE 2 1 1 1 5.25 6 12 1 4.73 Z = 1,2 0.1 < E/A < 400 MeV Z = 3,100 0.1 < E/A < 250 MeV

Definition at line 252 of file KVedaLossRangeFitter.cpp.

◆ PrintFitParameters()

void KVedaLossRangeFitter::PrintFitParameters ( Int_t  ,
std::ostream &   
)

Definition at line 219 of file KVedaLossRangeFitter.cpp.

◆ range()

Double_t KVedaLossRangeFitter::range ( Double_t *  e,
Double_t *  a 
)
private

express logR as a polynomial of log(E/A)

Definition at line 26 of file KVedaLossRangeFitter.cpp.

◆ SetInitialParameters()

void KVedaLossRangeFitter::SetInitialParameters ( Int_t  Z)

Set initial parameters for this Z by using closest known material in VedaLoss range tables

Definition at line 89 of file KVedaLossRangeFitter.cpp.

◆ SetMaterial()

void KVedaLossRangeFitter::SetMaterial ( KVIonRangeTableMaterial m)

Sets range table to fit. Also finds material with closest Z in VEDALOSS library.

Definition at line 60 of file KVedaLossRangeFitter.cpp.

Member Data Documentation

◆ Aref

Int_t KVedaLossRangeFitter::Aref
private

Definition at line 31 of file KVedaLossRangeFitter.h.

◆ fClosestVedaMat

KVedaLossMaterial* KVedaLossRangeFitter::fClosestVedaMat
private

closest known VEDALOSS material

Definition at line 29 of file KVedaLossRangeFitter.h.

◆ fMaterial

KVIonRangeTableMaterial* KVedaLossRangeFitter::fMaterial
private

range table to fit

Definition at line 28 of file KVedaLossRangeFitter.h.

◆ fRangeFunction

TF1* KVedaLossRangeFitter::fRangeFunction
private

Definition at line 30 of file KVedaLossRangeFitter.h.

◆ VEDALOSS

KVedaLoss KVedaLossRangeFitter::VEDALOSS
private

Definition at line 25 of file KVedaLossRangeFitter.h.