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

#include <G4PSTARStopping.hh>

Public Member Functions

 G4PSTARStopping ()
 
 ~G4PSTARStopping ()
 
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
 
G4PSTARStoppingoperator= (const G4PSTARStopping &right)=delete
 
 G4PSTARStopping (const G4PSTARStopping &)=delete
 

Detailed Description

Definition at line 62 of file G4PSTARStopping.hh.

Constructor & Destructor Documentation

◆ G4PSTARStopping() [1/2]

G4PSTARStopping::G4PSTARStopping ( )
explicit

Definition at line 56 of file G4PSTARStopping.cc.

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

◆ ~G4PSTARStopping()

G4PSTARStopping::~G4PSTARStopping ( )

Definition at line 64 of file G4PSTARStopping.cc.

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

◆ G4PSTARStopping() [2/2]

G4PSTARStopping::G4PSTARStopping ( const G4PSTARStopping & )
delete

Member Function Documentation

◆ GetElectronicDEDX() [1/2]

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

Definition at line 140 of file G4PSTARStopping.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 G4PSTARStopping::GetElectronicDEDX ( G4int idx,
G4double energy ) const
inline

Definition at line 128 of file G4PSTARStopping.hh.

129{
130 G4double res = 0.0;
131 if (idx<0 || idx>= nvectors) { PrintWarning(idx); }
132 else 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 G4PSTARStopping::GetIndex ( const G4Material * mat) const
inline

Definition at line 99 of file G4PSTARStopping.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 G4PSTARStopping::GetIndex ( const G4String & nam) const
inline

Definition at line 113 of file G4PSTARStopping.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 G4PSTARStopping::Initialise ( )

Definition at line 83 of file G4PSTARStopping.cc.

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

Referenced by G4PSTARStopping(), and G4BraggModel::Initialise().

◆ operator=()

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

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