Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ASTARStopping Class Reference

#include <G4ASTARStopping.hh>

Public Member Functions

 G4ASTARStopping ()
 
 ~G4ASTARStopping ()
 
void Initialise ()
 
G4int GetIndex (const G4Material *) const
 
G4int GetIndex (const G4String &) const
 
G4double GetElectronicDEDX (G4int idx, G4double energy) const
 
G4double GetElectronicDEDX (const G4Material *, G4double energy) const
 
G4ASTARStoppingoperator= (const G4ASTARStopping &right)=delete
 
 G4ASTARStopping (const G4ASTARStopping &)=delete
 

Detailed Description

Definition at line 61 of file G4ASTARStopping.hh.

Constructor & Destructor Documentation

◆ G4ASTARStopping() [1/2]

G4ASTARStopping::G4ASTARStopping ( )
explicit

Definition at line 55 of file G4ASTARStopping.cc.

55 : nvectors(0), emin(CLHEP::keV)
56{
57 // 1st initialisation
58 Initialise();
59}

◆ ~G4ASTARStopping()

G4ASTARStopping::~G4ASTARStopping ( )

Definition at line 63 of file G4ASTARStopping.cc.

64{
65 if(0 < nvectors) {
66 for(G4int i=0; i<nvectors; ++i) { delete sdata[i]; }
67 }
68}
int G4int
Definition G4Types.hh:85

◆ G4ASTARStopping() [2/2]

G4ASTARStopping::G4ASTARStopping ( const G4ASTARStopping & )
delete

Member Function Documentation

◆ GetElectronicDEDX() [1/2]

G4double G4ASTARStopping::GetElectronicDEDX ( const G4Material * mat,
G4double energy ) const
inline

Definition at line 140 of file G4ASTARStopping.hh.

141{
142 return GetElectronicDEDX(GetIndex(mat), energy);
143}
G4int GetIndex(const G4Material *) const
G4double GetElectronicDEDX(G4int idx, G4double energy) const

◆ GetElectronicDEDX() [2/2]

G4double G4ASTARStopping::GetElectronicDEDX ( G4int idx,
G4double energy ) const
inline

Definition at line 128 of file G4ASTARStopping.hh.

129{
130 G4double res = 0.0;
131 if (idx<0 || idx >= nvectors) { PrintWarning(idx); }
132 if(energy < emin) { res = (*(sdata[idx]))[0]*std::sqrt(energy/emin); }
133 else { res = sdata[idx]->Value(energy); }
134 return res;
135}
double G4double
Definition G4Types.hh:83

Referenced by GetElectronicDEDX().

◆ GetIndex() [1/2]

G4int G4ASTARStopping::GetIndex ( const G4Material * mat) const
inline

Definition at line 99 of file G4ASTARStopping.hh.

100{
101 G4int idx = -1;
102 for (G4int i=0; i<nvectors; ++i) {
103 if (mat == materials[i]) {
104 idx = i;
105 break;
106 }
107 }
108 return idx;
109}

Referenced by GetElectronicDEDX().

◆ GetIndex() [2/2]

G4int G4ASTARStopping::GetIndex ( const G4String & nam) const
inline

Definition at line 113 of file G4ASTARStopping.hh.

114{
115 G4int idx = -1;
116 for (G4int i=0; i<nvectors; ++i) {
117 if (nam == materials[i]->GetName()) {
118 idx = i;
119 break;
120 }
121 }
122 return idx;
123}

◆ Initialise()

void G4ASTARStopping::Initialise ( )

Definition at line 82 of file G4ASTARStopping.cc.

83{
84 // this method may be called several times during initialisation
86 if(nmat == nvectors) { return; }
87
88 // loop via material list to add extra data
89 G4int j;
90 for(G4int i=0; i<nmat; ++i) {
91 const G4Material* mat = (*(G4Material::GetMaterialTable()))[i];
92
93 G4bool isThere = false;
94 for(j=0; j<nvectors; ++j) {
95 if(mat == materials[j]) {
96 isThere = true;
97 break;
98 }
99 }
100 if(!isThere) {
101 // check list of NIST materials
102 G4String mname = mat->GetName();
103 for(j=0; j<74; ++j) {
104 if(mname == nameNIST[j]) {
105 FindData(j, mat);
106 isThere = true;
107 break;
108 }
109 }
110 if(!isThere) {
111 G4String form = mat->GetChemicalFormula();
112 for(j=0; j<numberOfMolecula; ++j) {
113 if(form == molecularName[j]) {
114 FindData(molecularIndex[j], mat);
115 break;
116 }
117 }
118 }
119 }
120 }
121}
bool G4bool
Definition G4Types.hh:86
const G4String & GetChemicalFormula() const
static std::size_t GetNumberOfMaterials()
static G4MaterialTable * GetMaterialTable()
const G4String & GetName() const

Referenced by G4ASTARStopping(), and G4BraggIonModel::Initialise().

◆ operator=()

G4ASTARStopping & G4ASTARStopping::operator= ( const G4ASTARStopping & right)
delete

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