#include <G4IonStoppingData.hh>
|
| G4IonStoppingData (const G4String &leDirectory) |
|
virtual | ~G4IonStoppingData () |
|
G4bool | IsApplicable (G4int atomicNumberIon, G4int atomicNumberElem) |
|
G4bool | IsApplicable (G4int atomicNumberIon, const G4String &matIdentifier) |
|
G4bool | BuildPhysicsVector (G4int ionZ, const G4String &matName) |
|
G4bool | BuildPhysicsVector (G4int ionZ, G4int matZ) |
|
G4PhysicsVector * | GetPhysicsVector (G4int atomicNumberIon, G4int atomicNumberElem) |
|
G4PhysicsVector * | GetPhysicsVector (G4int atomicNumberIon, const G4String &matIdenfier) |
|
G4double | GetDEDX (G4double kinEnergyPerNucleon, G4int atomicNumberIon, G4int atomicNumberElem) |
|
G4double | GetDEDX (G4double kinEnergyPerNucleon, G4int atomicNumberIon, const G4String &matIdentifier) |
|
G4bool | AddPhysicsVector (G4PhysicsVector *physicsVector, G4int atomicNumberIon, const G4String &matIdentifier) |
|
G4bool | AddPhysicsVector (G4PhysicsVector *physicsVector, G4int atomicNumberIon, G4int atomicNumberElem) |
|
G4bool | RemovePhysicsVector (G4int atomicNumberIon, const G4String &matIdentifier) |
|
G4bool | RemovePhysicsVector (G4int atomicNumberIon, G4int atomicNumberElem) |
|
void | ClearTable () |
|
void | DumpMap () |
|
| G4VIonDEDXTable () |
|
virtual | ~G4VIonDEDXTable () |
|
Definition at line 60 of file G4IonStoppingData.hh.
◆ G4IonDEDXKeyElem
◆ G4IonDEDXKeyMat
◆ G4IonDEDXMapElem
◆ G4IonDEDXMapMat
◆ G4IonStoppingData()
G4IonStoppingData::G4IonStoppingData |
( |
const G4String & |
leDirectory | ) |
|
◆ ~G4IonStoppingData()
G4IonStoppingData::~G4IonStoppingData |
( |
| ) |
|
|
virtual |
◆ AddPhysicsVector() [1/2]
Definition at line 192 of file G4IonStoppingData.cc.
198 if(physicsVector == 0) {
201 G4cerr <<
"G4IonStoppingData::AddPhysicsVector() Error: Pointer to vector" 202 <<
" is null-pointer." 209 if(matIdentifier.empty()) {
212 G4cerr <<
"G4IonStoppingData::AddPhysicsVector() Error: " 213 <<
"Cannot add physics vector. Invalid name." 220 if(atomicNumberIon <= 0) {
223 G4cerr <<
"G4IonStoppingData::AddPhysicsVector() Error: " 224 <<
"Cannot add physics vector. Illegal atomic number." 236 G4cerr <<
"G4IonStoppingData::AddPhysicsVector() Error: " 237 <<
"Vector with Z1 = " << atomicNumberIon <<
", mat = " 239 <<
"already exists. Remove first before replacing." G4IonDEDXMapMat dedxMapMaterials
std::pair< G4int, G4String > G4IonDEDXKeyMat
G4GLOB_DLL std::ostream G4cerr
◆ AddPhysicsVector() [2/2]
Definition at line 253 of file G4IonStoppingData.cc.
259 if(physicsVector == 0) {
262 G4cerr <<
"G4IonStoppingData::AddPhysicsVector() Error: " 263 <<
"Pointer to vector is null-pointer." 270 if(atomicNumberIon <= 0) {
273 G4cerr <<
"G4IonStoppingData::AddPhysicsVector() Error: " 274 <<
"Cannot add physics vector. Illegal atomic number." 281 if(atomicNumberElem <= 0) {
284 G4cerr <<
"G4IonStoppingData::AddPhysicsVector() Error: " 285 <<
"Atomic number of element < 0." 296 G4cerr <<
"G4IonStoppingData::AddPhysicsVector() Error: " 297 <<
"Vector with Z1 = " << atomicNumberIon <<
", Z2 = " 299 <<
" already exists. Remove first before replacing." G4IonDEDXMapElem dedxMapElements
std::pair< G4int, G4int > G4IonDEDXKeyElem
G4GLOB_DLL std::ostream G4cerr
◆ BuildPhysicsVector() [1/2]
Implements G4VIonDEDXTable.
Definition at line 377 of file G4IonStoppingData.cc.
382 if(
IsApplicable(atomicNumberIon, matIdentifier) )
return true;
384 char* path = getenv(
"G4LEDATA");
386 G4Exception(
"G4IonStoppingData::BuildPhysicsVector()",
"mat521",
391 std::ostringstream
file;
393 file << path <<
"/" <<
subDir <<
"/z" 394 << atomicNumberIon <<
"_" << matIdentifier
399 std::ifstream ifilestream( fileName );
401 if ( !ifilestream.is_open() )
return false;
405 if( !physicsVector -> Retrieve(ifilestream,
true) ) {
411 physicsVector -> ScaleVector(
MeV,
MeV *
cm2 /( 0.001 *
g) );
412 physicsVector -> SetSpline(
true );
413 physicsVector -> FillSecondDerivatives();
417 delete physicsVector;
G4bool AddPhysicsVector(G4PhysicsVector *physicsVector, G4int atomicNumberIon, const G4String &matIdentifier)
G4bool IsApplicable(G4int atomicNumberIon, G4int atomicNumberElem)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
◆ BuildPhysicsVector() [2/2]
Implements G4VIonDEDXTable.
Definition at line 428 of file G4IonStoppingData.cc.
433 if(
IsApplicable(atomicNumberIon, atomicNumberElem) )
return true;
435 char* path = getenv(
"G4LEDATA");
437 G4Exception(
"G4IonStoppingData::BuildPhysicsVector()",
"mat522",
441 std::ostringstream
file;
443 file << path <<
"/" <<
subDir <<
"/z" 444 << atomicNumberIon <<
"_" << atomicNumberElem
449 std::ifstream ifilestream( fileName );
451 if ( !ifilestream.is_open() )
return false;
455 if( !physicsVector -> Retrieve(ifilestream,
true) ) {
461 physicsVector -> ScaleVector(
MeV,
MeV *
cm2 /( 0.001 *
g) );
462 physicsVector -> SetSpline(
true );
463 physicsVector -> FillSecondDerivatives();
467 delete physicsVector;
G4bool AddPhysicsVector(G4PhysicsVector *physicsVector, G4int atomicNumberIon, const G4String &matIdentifier)
G4bool IsApplicable(G4int atomicNumberIon, G4int atomicNumberElem)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
◆ ClearTable()
void G4IonStoppingData::ClearTable |
( |
| ) |
|
Definition at line 478 of file G4IonStoppingData.cc.
483 for(;iterMat != iterMat_end; iterMat++) {
487 if(vec != 0)
delete vec;
495 for(;iterElem != iterElem_end; iterElem++) {
499 if(vec != 0)
delete vec;
G4IonDEDXMapMat dedxMapMaterials
G4IonDEDXMapElem dedxMapElements
static const double second
◆ DumpMap()
void G4IonStoppingData::DumpMap |
( |
| ) |
|
Definition at line 507 of file G4IonStoppingData.cc.
518 for(;iterMat != iterMat_end; iterMat++) {
522 G4int atomicNumberIon = key.first;
523 G4String matIdentifier = key.second;
525 if(physicsVector != 0) {
540 <<
"Atomic nmb material" 543 for(;iterElem != iterElem_end; iterElem++) {
547 G4int atomicNumberIon = key.first;
548 G4int atomicNumberElem = key.second;
550 if(physicsVector != 0) {
G4IonDEDXMapMat dedxMapMaterials
G4GLOB_DLL std::ostream G4cout
G4IonDEDXMapElem dedxMapElements
static const double second
std::pair< G4int, G4int > G4IonDEDXKeyElem
std::pair< G4int, G4String > G4IonDEDXKeyMat
◆ GetDEDX() [1/2]
Definition at line 146 of file G4IonStoppingData.cc.
161 dedx = physicsVector -> GetValue( kinEnergyPerNucleon, b );
G4IonDEDXMapElem dedxMapElements
static const double second
std::pair< G4int, G4int > G4IonDEDXKeyElem
◆ GetDEDX() [2/2]
Definition at line 169 of file G4IonStoppingData.cc.
184 dedx = physicsVector -> GetValue( kinEnergyPerNucleon, b );
G4IonDEDXMapMat dedxMapMaterials
static const double second
std::pair< G4int, G4String > G4IonDEDXKeyMat
◆ GetPhysicsVector() [1/2]
◆ GetPhysicsVector() [2/2]
◆ IsApplicable() [1/2]
G4bool G4IonStoppingData::IsApplicable |
( |
G4int |
atomicNumberIon, |
|
|
G4int |
atomicNumberElem |
|
) |
| |
|
virtual |
◆ IsApplicable() [2/2]
G4bool G4IonStoppingData::IsApplicable |
( |
G4int |
atomicNumberIon, |
|
|
const G4String & |
matIdentifier |
|
) |
| |
|
virtual |
◆ RemovePhysicsVector() [1/2]
G4bool G4IonStoppingData::RemovePhysicsVector |
( |
G4int |
atomicNumberIon, |
|
|
const G4String & |
matIdentifier |
|
) |
| |
Definition at line 312 of file G4IonStoppingData.cc.
324 G4cerr <<
"G4IonStoppingData::RemovePhysicsVector() Warning: " 325 <<
"Cannot remove physics vector. Vector not found." 338 delete physicsVector;
G4IonDEDXMapMat dedxMapMaterials
std::pair< G4int, G4String > G4IonDEDXKeyMat
G4GLOB_DLL std::ostream G4cerr
◆ RemovePhysicsVector() [2/2]
G4bool G4IonStoppingData::RemovePhysicsVector |
( |
G4int |
atomicNumberIon, |
|
|
G4int |
atomicNumberElem |
|
) |
| |
Definition at line 345 of file G4IonStoppingData.cc.
356 G4cerr <<
"G4IonStoppingData::RemovePhysicsVector() Warning: " 357 <<
"Cannot remove physics vector. Vector not found." 370 delete physicsVector;
G4IonDEDXMapElem dedxMapElements
std::pair< G4int, G4int > G4IonDEDXKeyElem
G4GLOB_DLL std::ostream G4cerr
◆ dedxMapElements
◆ dedxMapMaterials
◆ subDir
The documentation for this class was generated from the following files: