Geant4 VMC
Version 6.8
Toggle main menu visibility
Loading...
Searching...
No Matches
source
global
src
TG4ModelConfiguration.cxx
Go to the documentation of this file.
1
//------------------------------------------------
2
// The Geant4 Virtual Monte Carlo package
3
// Copyright (C) 2007 - 2015 Ivana Hrivnacova
4
// All rights reserved.
5
//
6
// For the licensing terms see geant4_vmc/LICENSE.
7
// Contact: root-vmc@cern.ch
8
//-------------------------------------------------
9
14
15
#include "
TG4ModelConfiguration.h
"
16
#include "
TG4Globals.h
"
17
18
#include <G4AnalysisUtilities.hh>
19
20
#include <algorithm>
21
22
namespace
23
{
24
25
void
PrintNamesVector(
const
std::vector<G4String> names)
26
{
27
std::vector<G4String>::const_iterator it;
28
for
(it = names.begin(); it != names.end(); it++) {
29
G4cout << (*it) <<
" "
;
30
}
31
}
32
33
}
// namespace
34
35
//_____________________________________________________________________________
36
TG4ModelConfiguration::TG4ModelConfiguration
(
const
G4String& modelName)
37
:
fModelName
(modelName),
38
fParticles
(),
39
fRegionsMedia
(),
40
fRegions
(),
41
fFastSimulationModel
(0)
42
{
44
}
45
46
//_____________________________________________________________________________
47
void
TG4ModelConfiguration::SetRegionsMedia
(
const
G4String& regionsMedia)
48
{
53
54
std::vector<G4String> mediaVector;
55
if
(regionsMedia.size()) {
56
// use analysis utility to tokenize regions
57
G4Analysis::Tokenize(regionsMedia, mediaVector);
58
}
59
60
// append the medias
61
fRegionsMedia
.insert(
62
fRegionsMedia
.end(), mediaVector.begin(), mediaVector.end());
63
}
64
65
//_____________________________________________________________________________
66
void
TG4ModelConfiguration::SetOneRegionMedium
(
const
G4String& regionMedium)
67
{
68
// append the medium
69
fRegionsMedia
.push_back(regionMedium);
70
}
71
72
//_____________________________________________________________________________
73
void
TG4ModelConfiguration::SetOneRegion
(
const
G4String& region)
74
{
75
// append the region
76
fRegions
.push_back(region);
77
}
78
79
//_____________________________________________________________________________
80
void
TG4ModelConfiguration::Print
()
const
81
{
83
84
G4cout <<
"Model configuration: "
<<
fModelName
<< G4endl;
85
G4cout <<
"particles: "
<<
fParticles
<< G4endl;
86
G4cout <<
"media: "
;
87
PrintNamesVector(
fRegionsMedia
);
88
G4cout << G4endl;
89
G4cout <<
"regions: "
;
90
PrintNamesVector(
fRegions
);
91
G4cout << G4endl;
92
}
93
94
//_____________________________________________________________________________
95
G4bool
TG4ModelConfiguration::HasParticle
(
const
G4String& particleName)
96
{
99
100
return
101
(
fParticles
==
"all"
||
TG4Globals::Contains
(particleName,
fParticles
)) &&
102
! (
TG4Globals::Contains
(particleName,
fExcludedParticles
));
103
}
104
105
//_____________________________________________________________________________
106
G4bool
TG4ModelConfiguration::HasRegion
(
const
G4String& regionName)
107
{
109
110
return
(
111
std::find(
fRegions
.begin(),
fRegions
.end(), regionName) !=
fRegions
.end());
112
}
TG4Globals.h
Definition of the TG4Globals class and basic container types.
TG4ModelConfiguration.h
Definition of the TG4ModelConfiguration class.
TG4Globals::Contains
static G4bool Contains(const G4String &name, const G4String &nameList)
Definition
TG4Globals.cxx:153
TG4ModelConfiguration::SetOneRegionMedium
void SetOneRegionMedium(const G4String ®ionMedium)
Definition
TG4ModelConfiguration.cxx:66
TG4ModelConfiguration::fRegionsMedia
std::vector< G4String > fRegionsMedia
the vector of regions media
Definition
TG4ModelConfiguration.h:71
TG4ModelConfiguration::fFastSimulationModel
G4VFastSimulationModel * fFastSimulationModel
fast simulation model
Definition
TG4ModelConfiguration.h:74
TG4ModelConfiguration::fParticles
G4String fParticles
the list of particle names
Definition
TG4ModelConfiguration.h:69
TG4ModelConfiguration::SetRegionsMedia
void SetRegionsMedia(const G4String ®ionsMedia)
Definition
TG4ModelConfiguration.cxx:47
TG4ModelConfiguration::fExcludedParticles
G4String fExcludedParticles
the list of excluded particle names
Definition
TG4ModelConfiguration.h:70
TG4ModelConfiguration::TG4ModelConfiguration
TG4ModelConfiguration(const G4String &modelName)
Definition
TG4ModelConfiguration.cxx:36
TG4ModelConfiguration::fRegions
std::vector< G4String > fRegions
the vector of created regions (per materials)
Definition
TG4ModelConfiguration.h:73
TG4ModelConfiguration::Print
void Print() const
Definition
TG4ModelConfiguration.cxx:80
TG4ModelConfiguration::SetOneRegion
void SetOneRegion(const G4String ®ion)
Definition
TG4ModelConfiguration.cxx:73
TG4ModelConfiguration::fModelName
G4String fModelName
the EM model name
Definition
TG4ModelConfiguration.h:68
TG4ModelConfiguration::HasParticle
G4bool HasParticle(const G4String &particleName)
Definition
TG4ModelConfiguration.cxx:95
TG4ModelConfiguration::HasRegion
G4bool HasRegion(const G4String ®ionName)
Definition
TG4ModelConfiguration.cxx:106
Generated on
for Geant4 VMC by
1.17.0