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

Detailed Description

Dedicated optimised inversion of range-energy function for KVedaLoss.

We generate a TGraph of particle energy as a function of range from the VEDALOSS tables, and then use a TSpline3 interpolation in order to calculate rapidly the particle energy for any range value.

See also
KVedaLoss

Definition at line 24 of file KVedaLossInverseRangeFunction.h.

#include <KVedaLossInverseRangeFunction.h>

Inheritance diagram for KVedaLossInverseRangeFunction:

Public Member Functions

 KVedaLossInverseRangeFunction ()
 
 KVedaLossInverseRangeFunction (TF1 *range_func, Int_t A, Double_t riso, Int_t ninter=50)
 
virtual ~KVedaLossInverseRangeFunction ()
 
Double_t GetEnergyPerNucleon (Double_t range, Double_t riso)
 
- 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 Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 
virtual Int_t Compare (const TObject *obj) const
 
virtual void Copy (TObject &object) 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 const char * GetName () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 
virtual Option_tGetOption () const
 
virtual const char * GetTitle () const
 
virtual UInt_t GetUniqueID () const
 
virtual Bool_t HandleTimer (TTimer *timer)
 
virtual ULong_t Hash () const
 
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)
 
virtual TClassIsA () const
 
Bool_t IsDestructed () const
 
virtual Bool_t IsEqual (const TObject *obj) const
 
virtual Bool_t IsFolder () const
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
virtual Bool_t IsSortable () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
virtual void ls (Option_t *option="") 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 void Print (Option_t *option="") const
 
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)
 
virtual void Streamer (TBuffer &)
 
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 Attributes

std::unique_ptr< TSpline3fInterpol
 interpolation of inverse range-energy curve
 

Additional Inherited Members

- Public Types inherited from TObject
enum  EDeprecatedStatusBits
 
enum  EStatusBits
 
- 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 TObject
 kOnlyPrepStep
 

Constructor & Destructor Documentation

◆ KVedaLossInverseRangeFunction() [1/2]

KVedaLossInverseRangeFunction::KVedaLossInverseRangeFunction ( )
inline

Definition at line 33 of file KVedaLossInverseRangeFunction.h.

◆ KVedaLossInverseRangeFunction() [2/2]

KVedaLossInverseRangeFunction::KVedaLossInverseRangeFunction ( TF1 range_func,
Int_t  A,
Double_t  riso,
Int_t  ninter = 50 
)

Initialise from VEDALOSS range function object

Parameters
Ais mass of ion used in call to KVedaLossMaterial::GetRangeFunction
risois value corresponding to previous call to KVedaLossMaterial::GetRangeFunction
ninternumber of points in graph used for interpolation

We make a graph from 0.01 MeV/nucleon to EMAX.

We divide the calculated range by the current value of riso, thereby effectively ensuring that we always calculate range values corresponding to riso=1

Definition at line 27 of file KVedaLossInverseRangeFunction.cpp.

◆ ~KVedaLossInverseRangeFunction()

virtual KVedaLossInverseRangeFunction::~KVedaLossInverseRangeFunction ( )
inlinevirtual

Definition at line 42 of file KVedaLossInverseRangeFunction.h.

Member Function Documentation

◆ GetEnergyPerNucleon()

Double_t KVedaLossInverseRangeFunction::GetEnergyPerNucleon ( Double_t  range,
Double_t  riso 
)
Parameters
rangeof ion in \(g/cm^2\)
risotakes into account any change in ion mass and/or material mass
Returns
corresponding energy in MeV/nucleon

Definition at line 78 of file KVedaLossInverseRangeFunction.cpp.

Member Data Documentation

◆ fInterpol

std::unique_ptr<TSpline3> KVedaLossInverseRangeFunction::fInterpol
private

interpolation of inverse range-energy curve

Definition at line 29 of file KVedaLossInverseRangeFunction.h.