OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
BeamStrippingPhysics Class Reference

#include <BeamStrippingPhysics.h>

Inheritance diagram for BeamStrippingPhysics:
Inheritance graph
[legend]
Collaboration diagram for BeamStrippingPhysics:
Collaboration graph
[legend]

Public Member Functions

 BeamStrippingPhysics (const std::string &name, ElementBase *element)
 
 ~BeamStrippingPhysics ()
 
void setCyclotron (Cyclotron *cycl)
 
virtual void apply (PartBunchBase< double, 3 > *bunch, const std::pair< Vector_t, double > &boundingSphere) override
 
virtual const std::string getType () const override
 
virtual void print (Inform &msg) override
 
virtual bool stillActive () override
 
virtual double getTime () override
 
virtual std::string getName () override
 
virtual size_t getParticlesInMat () override
 
virtual unsigned getRediffused () override
 
virtual unsigned int getNumEntered () override
 
void doPhysics (PartBunchBase< double, 3 > *bunch)
 
- Public Member Functions inherited from ParticleMatterInteractionHandler
 ParticleMatterInteractionHandler (std::string name, ElementBase *elref)
 
virtual ~ParticleMatterInteractionHandler ()
 
virtual void apply (PartBunchBase< double, 3 > *bunch, const std::pair< Vector_t, double > &boundingSphere)=0
 
virtual const std::string getType () const =0
 
virtual void print (Inform &os)=0
 
virtual bool stillActive ()=0
 
virtual double getTime ()=0
 
virtual std::string getName ()=0
 
virtual size_t getParticlesInMat ()=0
 
virtual unsigned getRediffused ()=0
 
virtual unsigned int getNumEntered ()=0
 
void setFlagAllParticlesIn (bool p)
 
bool getFlagAllParticlesIn () const
 
void updateElement (ElementBase *newref)
 
ElementBasegetElement ()
 
virtual bool computeEnergyLoss (PartBunchBase< double, 3 > *bunch, Vector_t &P, const double deltat, bool includeFluctuations=true) const =0
 

Private Member Functions

void computeCrossSection (double energy)
 
double computeCrossSectionNakai (double energy, double energyThreshold, int &i)
 
double computeCrossSectionTabata (double energy, double energyThreshold, double a1, double a2, double a3, double a4, double a5, double a6)
 
double computeCrossSectionChebyshev (double energy, double energyMin, double energyMax)
 
double computeCrossSectionBohr (double energy, int zTarget, double massInAmu)
 
bool evalGasStripping (double &deltas)
 
bool evalLorentzStripping (double &gamma, double &eField)
 
void getSecondaryParticles (PartBunchBase< double, 3 > *bunch, size_t &i, bool pdead_LS)
 
void transformToSecondary (PartBunchBase< double, 3 > *bunch, size_t &i, ParticleType type)
 
bool computeEnergyLoss (PartBunchBase< double, 3 > *, Vector_t &, const double, bool) const override
 
void gatherStatistics ()
 

Private Attributes

ParticleType pType_m
 
Vacuumvac_m
 
Cyclotroncycl_m
 
gsl_rng * r_m
 
double T_m
 
double dT_m
 
double mass_m
 
double pressure_m
 
double temperature_m
 
std::unique_ptr< LossDataSinklossDs_m
 
double nCSA_m
 macroscopic cross sections More...
 
double nCSB_m
 
double nCSC_m
 
double nCSTotal_m
 
unsigned bunchToMatStat_m
 
unsigned stoppedPartStat_m
 
unsigned rediffusedStat_m
 
unsigned totalPartsInMat_m
 

Static Private Attributes

static const double csCoefSingle_Hminus [3][9]
 
static const double csCoefDouble_Hminus [3][9]
 
static const double csCoefSingle_Hplus [3][9]
 
static const double csCoefDouble_Hplus [3][9]
 
static const double csCoefSingleLoss_H [3][9]
 
static const double csCoefSingleCapt_H [3][9]
 
static const double csCoefSingle_Hplus_Tabata [10]
 
static const double csCoefHminusProduction_H_Tabata [13]
 
static const double csCoefProtonProduction_H_Tabata [9]
 
static const double csCoefProtonProduction_H2plus_Tabata [11]
 
static const double csCoefH3plusProduction_H2plus_Tabata [7]
 
static const double csCoefSingle_Hminus_Chebyshev [11]
 
static const double csCoefDouble_Hminus_Chebyshev [11]
 
static const double csCoefSingle_Hplus_Chebyshev [11]
 
static const double csCoefDouble_Hplus_Chebyshev [11]
 
static const double csCoefHydrogenProduction_H2plus_Chebyshev [11]
 
static const double csCoefProtonProduction_H2plus_Chebyshev [11]
 
static const double energyRangeH2plusinH2 [2] = {111.4, 7.8462E+04}
 
static double a_m [9] = {}
 
static double b_m [3][9] = {}
 

Additional Inherited Members

- Protected Attributes inherited from ParticleMatterInteractionHandler
ElementBaseelement_ref_m
 
bool allParticleInMat_m
 if all particles are in matter stay inside the particle matter interaction More...
 
const std::string name_m
 
std::unique_ptr< InsideTesterhitTester_m
 

Detailed Description

Definition at line 46 of file BeamStrippingPhysics.h.

Constructor & Destructor Documentation

◆ BeamStrippingPhysics()

BeamStrippingPhysics::BeamStrippingPhysics ( const std::string &  name,
ElementBase element 
)

Definition at line 61 of file BeamStrippingPhysics.cpp.

References Options::asciidump, getName(), lossDs_m, r_m, Attrib::Legacy::Distribution::T, and UNNAMED.

Here is the call graph for this function:

◆ ~BeamStrippingPhysics()

BeamStrippingPhysics::~BeamStrippingPhysics ( )

Definition at line 92 of file BeamStrippingPhysics.cpp.

References lossDs_m, and r_m.

Member Function Documentation

◆ apply()

void BeamStrippingPhysics::apply ( PartBunchBase< double, 3 > *  bunch,
const std::pair< Vector_t, double > &  boundingSphere 
)
overridevirtual

◆ computeCrossSection()

void BeamStrippingPhysics::computeCrossSection ( double  energy)
private

◆ computeCrossSectionBohr()

double BeamStrippingPhysics::computeCrossSectionBohr ( double  energy,
int  zTarget,
double  massInAmu 
)
private

Analytical expressions for electron loss by light and heavy ions passing through gases based on Bohr theory. H.-D.Betz, "Charge states and charge-changing cross sections of fast heavy ions penetrating through gaseous and solid media", Rev. Mod. Phys. 44, 465 (1972).

Definition at line 542 of file BeamStrippingPhysics.cpp.

References Physics::a0, Physics::c, Units::eV2keV, Units::GeV2eV, Units::GeV2keV, Physics::h_bar, Units::m2cm, Physics::m_e, mass_m, Physics::pi, pow(), and sqrt().

Referenced by computeCrossSection().

Here is the call graph for this function:

◆ computeCrossSectionChebyshev()

double BeamStrippingPhysics::computeCrossSectionChebyshev ( double  energy,
double  energyMin,
double  energyMax 
)
private

Analytical expression for cross section for inelastic collisions between hydrogen atoms, molecules and ions from Chebyshev fitting parameters. C.F.Barnett, "Atomic data for fusion. Volume 1: Collisions of H, H2, He and Li atoms and ions with atoms and molecules", ORNL-6068/V1 (1990).

Definition at line 517 of file BeamStrippingPhysics.cpp.

References a_m, exp(), and log().

Referenced by computeCrossSection().

Here is the call graph for this function:

◆ computeCrossSectionNakai()

double BeamStrippingPhysics::computeCrossSectionNakai ( double  energy,
double  energyThreshold,
int &  i 
)
private

Analytical expression for charge-transfer cross section between hydrogen ions and atoms with gaseous atoms and molecules based on semiempirically functional forms. Y.Nakai et.al, "Cross sections for charge transfer of hydrogen atoms and ions colliding with gaseous atoms and molecules", At. Data Nucl. Data Tables 37, 69 (1987).

Definition at line 466 of file BeamStrippingPhysics.cpp.

References b_m, Physics::E_ryd, Units::GeV2keV, Physics::m_e, Physics::m_h, and pow().

Referenced by computeCrossSection().

Here is the call graph for this function:

◆ computeCrossSectionTabata()

double BeamStrippingPhysics::computeCrossSectionTabata ( double  energy,
double  energyThreshold,
double  a1,
double  a2,
double  a3,
double  a4,
double  a5,
double  a6 
)
private

Analytical expression for cross section of collision processes between hydrogen ions, atoms, and molecules with hydrogen molecules based on semiempirically functional forms. T.Tabata and T.Shirai, "Analytic cross sections for collisions of H+, H2+, H3+, H, H2 and H− with hydrogen molecules", At. Data Nucl. Data Tables 76, 1 (2000).

Definition at line 493 of file BeamStrippingPhysics.cpp.

References Physics::E_ryd, Units::GeV2keV, and pow().

Referenced by computeCrossSection().

Here is the call graph for this function:

◆ computeEnergyLoss()

bool BeamStrippingPhysics::computeEnergyLoss ( PartBunchBase< double, 3 > *  ,
Vector_t ,
const double  ,
bool   
) const
inlineoverrideprivatevirtual

Implements ParticleMatterInteractionHandler.

Definition at line 90 of file BeamStrippingPhysics.h.

◆ doPhysics()

void BeamStrippingPhysics::doPhysics ( PartBunchBase< double, 3 > *  bunch)

◆ evalGasStripping()

bool BeamStrippingPhysics::evalGasStripping ( double &  deltas)
private

Definition at line 563 of file BeamStrippingPhysics.cpp.

References exp(), nCSTotal_m, and r_m.

Referenced by doPhysics().

Here is the call graph for this function:

◆ evalLorentzStripping()

bool BeamStrippingPhysics::evalLorentzStripping ( double &  gamma,
double &  eField 
)
private

Expression for H- lifetime based on the calculation of the electric dissociation rate from the formal theory of decay. L.R.Scherk, "A improved value for the electron affinity of the negative hydrogen ion", Can. J. Phys. 57, 558 (1979).

Definition at line 576 of file BeamStrippingPhysics.cpp.

References a, Physics::a0, dT_m, exp(), Units::GeV2eV, Units::GeV2kg, Physics::h_bar, Physics::m_e, Hypervolume::n, Physics::q_e, r_m, and sqrt().

Referenced by doPhysics().

Here is the call graph for this function:

◆ gatherStatistics()

void BeamStrippingPhysics::gatherStatistics ( )
private

Definition at line 714 of file BeamStrippingPhysics.cpp.

References allreduce(), rediffusedStat_m, stoppedPartStat_m, and totalPartsInMat_m.

Referenced by apply().

Here is the call graph for this function:

◆ getName()

std::string BeamStrippingPhysics::getName ( )
inlineoverridevirtual

◆ getNumEntered()

unsigned int BeamStrippingPhysics::getNumEntered ( )
inlineoverridevirtual

Implements ParticleMatterInteractionHandler.

Definition at line 171 of file BeamStrippingPhysics.h.

References bunchToMatStat_m.

◆ getParticlesInMat()

size_t BeamStrippingPhysics::getParticlesInMat ( )
inlineoverridevirtual

Implements ParticleMatterInteractionHandler.

Definition at line 161 of file BeamStrippingPhysics.h.

References totalPartsInMat_m.

◆ getRediffused()

unsigned int BeamStrippingPhysics::getRediffused ( )
inlineoverridevirtual

Implements ParticleMatterInteractionHandler.

Definition at line 166 of file BeamStrippingPhysics.h.

References rediffusedStat_m.

◆ getSecondaryParticles()

void BeamStrippingPhysics::getSecondaryParticles ( PartBunchBase< double, 3 > *  bunch,
size_t &  i,
bool  pdead_LS 
)
private

Definition at line 595 of file BeamStrippingPhysics.cpp.

References AIR, DEUTERON, Vacuum::getResidualGas(), H2, H2P, H3P, HMINUS, HYDROGEN, nCSA_m, nCSB_m, nCSC_m, nCSTotal_m, PROTON, pType_m, r_m, transformToSecondary(), and vac_m.

Referenced by doPhysics().

Here is the call graph for this function:

◆ getTime()

double BeamStrippingPhysics::getTime ( )
inlineoverridevirtual

Implements ParticleMatterInteractionHandler.

Definition at line 151 of file BeamStrippingPhysics.h.

References T_m.

◆ getType()

const std::string BeamStrippingPhysics::getType ( ) const
inlineoverridevirtual

Implements ParticleMatterInteractionHandler.

Definition at line 181 of file BeamStrippingPhysics.h.

◆ print()

void BeamStrippingPhysics::print ( Inform msg)
overridevirtual

◆ setCyclotron()

void BeamStrippingPhysics::setCyclotron ( Cyclotron cycl)
inline

Definition at line 52 of file BeamStrippingPhysics.h.

References cycl_m.

◆ stillActive()

bool BeamStrippingPhysics::stillActive ( )
inlineoverridevirtual

Implements ParticleMatterInteractionHandler.

Definition at line 176 of file BeamStrippingPhysics.h.

References totalPartsInMat_m.

◆ transformToSecondary()

void BeamStrippingPhysics::transformToSecondary ( PartBunchBase< double, 3 > *  bunch,
size_t &  i,
ParticleType  type 
)
private

Member Data Documentation

◆ a_m

double BeamStrippingPhysics::a_m = {}
staticprivate

Definition at line 145 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection(), and computeCrossSectionChebyshev().

◆ b_m

double BeamStrippingPhysics::b_m = {}
staticprivate

Definition at line 146 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection(), and computeCrossSectionNakai().

◆ bunchToMatStat_m

unsigned BeamStrippingPhysics::bunchToMatStat_m
private

Definition at line 120 of file BeamStrippingPhysics.h.

Referenced by getNumEntered().

◆ csCoefDouble_Hminus

const double BeamStrippingPhysics::csCoefDouble_Hminus
staticprivate
Initial value:
= {
{1.40E-02, 1.77E+00, 4.80E-01, 0.00E+00, 0.00E+00, 1.52E+02, 1.52E+00, 0.00E+00, 0.00E+00},
{1.30E-02, 1.90E+00, 6.20E-01, 0.00E+00, 0.00E+00, 5.20E+01, 9.93E-01, 0.00E+00, 0.00E+00},
{1.50E-02, 1.97E+00, 8.90E-01, 0.00E+00, 0.00E+00, 5.10E+01, 9.37E-01, 0.00E+00, 0.00E+00}
}

Definition at line 126 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection().

◆ csCoefDouble_Hminus_Chebyshev

const double BeamStrippingPhysics::csCoefDouble_Hminus_Chebyshev
staticprivate
Initial value:
= {
1.00E+03, 1.00E+07, -79.0158996582, -2.1025185585, -1.2407282591, 0.174798578, 0.1062489152, -0.0004342734, -0.0465673618, 0, 0
}

Definition at line 139 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection().

◆ csCoefDouble_Hplus

const double BeamStrippingPhysics::csCoefDouble_Hplus
staticprivate
Initial value:
= {
{2.90E-02, 2.90E-01, 1.50E+00, 1.39E+01, 1.65E+00, 3.94E+01, 5.79E+00, 0.00E+00, 0.00E+00},
{2.20E-02, 2.64E-01, 1.50E+00, 1.40E+01, 1.70E+00, 4.00E+01, 5.80E+00, 0.00E+00, 0.00E+00},
{2.90E-02, 1.40E-01, 1.87E+00, 2.40E+01, 1.60E+00, 3.37E+01, 4.93E+00, 4.50E-01, 2.00E-01}
}

Definition at line 128 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection().

◆ csCoefDouble_Hplus_Chebyshev

const double BeamStrippingPhysics::csCoefDouble_Hplus_Chebyshev
staticprivate
Initial value:
= {
200, 1.00E+06, -95.8165, -7.17049, -7.48288, -1.93034, 0.761153, 0.556689, -0.0542859, -0.270184, -0.0147
}

Definition at line 141 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection().

◆ csCoefH3plusProduction_H2plus_Tabata

const double BeamStrippingPhysics::csCoefH3plusProduction_H2plus_Tabata
staticprivate
Initial value:
= {
0.00E+00, 6.05E+00, -5.247E-01, 4.088E-03, 2.872E+00, 7.3E-03, 6.99E+00
}

Definition at line 136 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection().

◆ csCoefHminusProduction_H_Tabata

const double BeamStrippingPhysics::csCoefHminusProduction_H_Tabata
staticprivate
Initial value:
= {
2.1E-02, 9.73E-03, 2.38E+00, 1.39E-02, -5.51E-01, 7.7E-02, 2.12E+00, 1.97E-06, 2.051E+00, 5.5E+00, 6.62E-01, 2.02E+01, 3.62E+00
}

Definition at line 133 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection().

◆ csCoefHydrogenProduction_H2plus_Chebyshev

const double BeamStrippingPhysics::csCoefHydrogenProduction_H2plus_Chebyshev
staticprivate
Initial value:
= {
2.00E+03, 1.00E+05, -70.670173645, -0.632612288, -0.6065212488, -0.0915143117, -0.0121710282, 0.0168179292, 0.0104796877, 0, 0
}

Definition at line 142 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection().

◆ csCoefProtonProduction_H2plus_Chebyshev

const double BeamStrippingPhysics::csCoefProtonProduction_H2plus_Chebyshev
staticprivate
Initial value:
= {
1.50E+03, 1.00E+07, -74.9261474609, -2.1944284439, -0.8558337688, 0.0421306863, 0.2162267119, 0.0921146944, -0.0893079266, 0, 0
}

Definition at line 143 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection().

◆ csCoefProtonProduction_H2plus_Tabata

const double BeamStrippingPhysics::csCoefProtonProduction_H2plus_Tabata
staticprivate
Initial value:
= {
5.0E-03, 6.34E+01, 1.78E+00, 1.38E-03, 4.06E-01, 1.63E-01, 3.27E-01, 1.554E+01, 3.903E+00, 1.735, 1.02E+01
}

Definition at line 135 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection().

◆ csCoefProtonProduction_H_Tabata

const double BeamStrippingPhysics::csCoefProtonProduction_H_Tabata
staticprivate
Initial value:
= {
2.0E-02, 2.53E-04, 1.728E+00, 2.164E+00, 7.74E-01, 1.639E+00, 1.43E+01, 0, 0
}

Definition at line 134 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection().

◆ csCoefSingle_Hminus

const double BeamStrippingPhysics::csCoefSingle_Hminus
staticprivate
Initial value:
= {
{7.50E-04, 4.38E+02, 7.28E-01, 8.40E-01, 2.82E-01, 4.10E+01, 1.37E+00, 0.00E+00, 0.00E+00},
{-2.00E-04, 3.45E+02, 4.80E-01, 5.30E-02, 8.40E-02, 1.00E+01, 9.67E-01, 0.00E+00, 0.00E+00},
{1.70E-3, 2.47E+01, 3.36E-01, 7.00E+01, 5.00E-01, 9.90E+01, 7.80E-01, 0.00E+00, 0.00E+00}
}

Definition at line 125 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection().

◆ csCoefSingle_Hminus_Chebyshev

const double BeamStrippingPhysics::csCoefSingle_Hminus_Chebyshev
staticprivate
Initial value:
= {
2.3, 1.7E+07, -73.1505813599, -1.7569509745, -2.0016760826, -0.1902804971, 0.0171353221, 0.1270833164, -0.1523126215, 0, 0
}

Definition at line 138 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection().

◆ csCoefSingle_Hplus

const double BeamStrippingPhysics::csCoefSingle_Hplus
staticprivate
Initial value:
= {
{2.00E-03, 1.93E+03, 1.64E+00, 1.98E+00, 6.69E-01, 2.19E+01, 4.15E+00, 3.23E-04, 1.00E+01},
{-1.50E-03, 3.86E+05, 1.60E+00, 6.93E-02, 3.28E-01, 7.86E+00, 3.92E+00, 3.20E-04, 1.00E+01},
{2.18E-03, 1.61E+04, 2.12E+00, 1.16E+00, 4.44E-01, 1.39E+01, 4.07E+00, 2.99E-04, 1.45E+01}
}

Definition at line 127 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection().

◆ csCoefSingle_Hplus_Chebyshev

const double BeamStrippingPhysics::csCoefSingle_Hplus_Chebyshev
staticprivate
Initial value:
= {
2.6E+00, 4.00E+06, -82.5164, -6.70755, -6.10977, -2.6281, 0.709759, 0.639033, 0.10298, 0.26124, -0.263817
}

Definition at line 140 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection().

◆ csCoefSingle_Hplus_Tabata

const double BeamStrippingPhysics::csCoefSingle_Hplus_Tabata
staticprivate
Initial value:
= {
2.50E-03, 2.12E+02, 1.721E+00, 6.70E-04, 3.239E-01, 4.34E-03, 1.296E+00, 1.42E-01, 9.34E+00, 2.997E+00
}

Definition at line 132 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection().

◆ csCoefSingleCapt_H

const double BeamStrippingPhysics::csCoefSingleCapt_H
staticprivate
Initial value:
= {
{1.48E-02, 1.15E+00, 1.18E+00, 1.15E+01, 1.19E+00, 3.88E+01, 3.38E+00, 1.00E-01, 2.82E-02},
{1.13E-02, 3.26E+00, 1.02E+00, 2.99E+00, 4.50E-01, 1.90E+01, 3.42E+00, 0.00E+00, 0.00E+00},
{1.50E-02, 1.24E+03, 3.38E+00, 2.46E+00, 5.20E-01, 7.00E+00, 2.56E+00, 9.10E-02, 1.95E-02}
}

Definition at line 130 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection().

◆ csCoefSingleLoss_H

const double BeamStrippingPhysics::csCoefSingleLoss_H
staticprivate
Initial value:
= {
{1.36E-02, 2.59E+03, 1.78E+00, 2.69E-01, -3.52E-01, 5.60E+00, 8.99E-01, 0.00E+00, 0.00E+00},
{1.36E-02, 3.29E+03, 1.85E+00, 2.89E-01, -2.72E-01, 8.20E+00, 1.09E+00, 0.00E+00, 0.00E+00},
{1.36E-02, 1.16E+12, 7.40E+00, 5.36E-01, -5.42E-01, 1.23E+00, 7.26E-01, 0.00E+00, 0.00E+00}
}

Definition at line 129 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection().

◆ cycl_m

Cyclotron* BeamStrippingPhysics::cycl_m
private

Definition at line 102 of file BeamStrippingPhysics.h.

Referenced by doPhysics(), and setCyclotron().

◆ dT_m

double BeamStrippingPhysics::dT_m
private

Definition at line 107 of file BeamStrippingPhysics.h.

Referenced by apply(), doPhysics(), and evalLorentzStripping().

◆ energyRangeH2plusinH2

const double BeamStrippingPhysics::energyRangeH2plusinH2 = {111.4, 7.8462E+04}
staticprivate

Definition at line 144 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection().

◆ lossDs_m

std::unique_ptr<LossDataSink> BeamStrippingPhysics::lossDs_m
private

Definition at line 112 of file BeamStrippingPhysics.h.

Referenced by BeamStrippingPhysics(), doPhysics(), and ~BeamStrippingPhysics().

◆ mass_m

double BeamStrippingPhysics::mass_m
private

Definition at line 108 of file BeamStrippingPhysics.h.

Referenced by computeCrossSectionBohr(), and doPhysics().

◆ nCSA_m

double BeamStrippingPhysics::nCSA_m
private

macroscopic cross sections

Definition at line 115 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection(), and getSecondaryParticles().

◆ nCSB_m

double BeamStrippingPhysics::nCSB_m
private

Definition at line 116 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection(), and getSecondaryParticles().

◆ nCSC_m

double BeamStrippingPhysics::nCSC_m
private

Definition at line 117 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection(), and getSecondaryParticles().

◆ nCSTotal_m

double BeamStrippingPhysics::nCSTotal_m
private

◆ pressure_m

double BeamStrippingPhysics::pressure_m
private

Definition at line 109 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection(), and doPhysics().

◆ pType_m

ParticleType BeamStrippingPhysics::pType_m
private

Definition at line 99 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection(), doPhysics(), and getSecondaryParticles().

◆ r_m

gsl_rng* BeamStrippingPhysics::r_m
private

◆ rediffusedStat_m

unsigned BeamStrippingPhysics::rediffusedStat_m
private

Definition at line 122 of file BeamStrippingPhysics.h.

Referenced by apply(), doPhysics(), gatherStatistics(), getRediffused(), and print().

◆ stoppedPartStat_m

unsigned BeamStrippingPhysics::stoppedPartStat_m
private

Definition at line 121 of file BeamStrippingPhysics.h.

Referenced by apply(), doPhysics(), gatherStatistics(), and print().

◆ T_m

double BeamStrippingPhysics::T_m
private

Definition at line 106 of file BeamStrippingPhysics.h.

Referenced by doPhysics(), and getTime().

◆ temperature_m

double BeamStrippingPhysics::temperature_m
private

Definition at line 110 of file BeamStrippingPhysics.h.

Referenced by computeCrossSection(), and doPhysics().

◆ totalPartsInMat_m

unsigned BeamStrippingPhysics::totalPartsInMat_m
private

◆ vac_m

Vacuum* BeamStrippingPhysics::vac_m
private

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