KaliVeda  1.13/01
Heavy-Ion Analysis Toolkit
List of all members | Public Member Functions | Private Attributes | List of all members
KVedaLossInverseRangeFunction Class Reference

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 23 of file KVedaLossInverseRangeFunction.h.

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=0)
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 
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 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)
 
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 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=0, Int_t option=0, Int_t bufsize=0)
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 

Private Attributes

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

Additional Inherited Members

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

#include <KVedaLossInverseRangeFunction.h>

Inheritance diagram for KVedaLossInverseRangeFunction:
Inheritance graph
[legend]

Constructor & Destructor Documentation

◆ KVedaLossInverseRangeFunction() [1/2]

KVedaLossInverseRangeFunction::KVedaLossInverseRangeFunction ( )
inline

Definition at line 32 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 41 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 28 of file KVedaLossInverseRangeFunction.h.


The documentation for this class was generated from the following files: