ATTPCROOT
0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
|
#include <AtELossTable.h>
Public Member Functions | |
AtELossTable (double density=0) | |
AtELossTable (const std::vector< double > &energy, const std::vector< double > &dEdX, double density=0) | |
void | SetDistanceError (double val) |
Set error in particle range when calculating energy losses. More... | |
void | LoadSrimTable (std::string fileName) |
void | LoadLiseTable (std::string fileName, double mass, double density, int column=2) |
virtual double | GetdEdx (double energy) const override |
virtual double | GetRange (double energyIni, double energyFin=0) const override |
virtual double | GetEnergyLoss (double energyIni, double distance) const override |
virtual double | GetEnergy (double energyIni, double distance) const override |
double | GetEnergyOld (double energyIni, double distance) const |
![]() | |
AtELossModel (double density) | |
virtual | ~AtELossModel ()=default |
void | SetDensity (double density) |
Protected Attributes | |
tk::spline | fdXdE |
double | fDistErr {1e-4} |
![]() | |
double | fDensityIni |
double | fDensity |
double | fdEdxScale {1} |
Additional Inherited Members | |
![]() | |
void | SetIniDensity (double density) |
Definition at line 13 of file AtELossTable.h.
|
inline |
Definition at line 20 of file AtELossTable.h.
AtTools::AtELossTable::AtELossTable | ( | const std::vector< double > & | energy, |
const std::vector< double > & | dEdX, | ||
double | density = 0 |
||
) |
Definition at line 26 of file AtELossTable.cxx.
|
overridevirtual |
Get the stopping power in MeV/mm
Implements AtTools::AtELossModel.
Definition at line 32 of file AtELossTable.cxx.
|
overridevirtual |
Get the energy of particle after traveling some distance (in mm). If the distance is negative, then returns the energy the particle had to reach energyIni after distance.
Implements AtTools::AtELossModel.
Definition at line 46 of file AtELossTable.cxx.
|
inlineoverridevirtual |
Get the energy loss over some distance (in mm).
Implements AtTools::AtELossModel.
Definition at line 38 of file AtELossTable.h.
double AtTools::AtELossTable::GetEnergyOld | ( | double | energyIni, |
double | distance | ||
) | const |
Definition at line 74 of file AtELossTable.cxx.
|
overridevirtual |
Get the range of the particle in the material.
Implements AtTools::AtELossModel.
Definition at line 38 of file AtELossTable.cxx.
void AtTools::AtELossTable::LoadLiseTable | ( | std::string | fileName, |
double | mass, | ||
double | density, | ||
int | column = 2 |
||
) |
Load energy loss table from LISE++ (export of stopping power graph to file).
[in] | fileName | Name of text file. |
[in] | mass | Mass of the fragment in units of u. |
[in] | density | Density of target in g/cm^3. If positive, units of table are assumed to be MeV/mg/cm^2. If not positive units of the table are assumed to be MeV/um and the target density is taken to be |density|. |
[in] | column | The column in the table to use as the energy model (default LISE is 2). |
Definition at line 170 of file AtELossTable.cxx.
void AtTools::AtELossTable::LoadSrimTable | ( | std::string | fileName | ) |
Definition at line 113 of file AtELossTable.cxx.
|
inline |
Set error in particle range when calculating energy losses.
Definition at line 24 of file AtELossTable.h.
|
protected |
Definition at line 17 of file AtELossTable.h.
|
protected |
Definition at line 15 of file AtELossTable.h.