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

#include <G4MoleculeTable.hh>

Public Member Functions

virtual ~G4MoleculeTable ()
 
G4MoleculeDefinitionCreateMoleculeDefinition (const G4String &userIdentifier, double diffusion_coefficient)
 
G4MolecularConfigurationCreateConfiguration (const G4String &userIdentifier, const G4MoleculeDefinition *molDef, const G4String &configurationLabel, const G4ElectronOccupancy &eOcc)
 
G4MolecularConfigurationCreateConfiguration (const G4String &userIdentifier, G4MoleculeDefinition *, int charge, double diffusion_coefficient=-1)
 
G4MolecularConfigurationCreateConfiguration (const G4String &userIdentifier, G4MoleculeDefinition *)
 
G4MolecularConfigurationCreateConfiguration (const G4String &userIdentifier, G4MoleculeDefinition *, const G4String &configurationLabel, int charge=0)
 
G4MoleculeDefinitionGetMoleculeDefinition (const G4String &, bool mustExist=true)
 
G4MolecularConfigurationGetConfiguration (const G4String &, bool mustExist=true)
 
G4MolecularConfigurationGetConfiguration (G4int id)
 
void Insert (G4MoleculeDefinition *)
 
void Finalize (G4MoleculeDefinition *)
 
void Finalize ()
 
G4MoleculeDefinitionIterator GetDefintionIterator ()
 
G4ConfigurationIterator GetConfigurationIterator ()
 
void PrepareMolecularConfiguration ()
 
int GetNumberOfDefinedSpecies ()
 

Static Public Member Functions

static G4MoleculeTableInstance ()
 
static G4MoleculeTableGetMoleculeTable ()
 

Protected Types

typedef std::map< G4String, G4MoleculeDefinition * > MoleculeDefTable
 

Protected Member Functions

 G4MoleculeTable ()
 

Protected Attributes

MoleculeDefTable fMoleculeDefTable
 
std::unique_ptr< G4MoleculeTableMessengerfMoleculeDefTableMessenger
 

Static Protected Attributes

static G4MoleculeTablefpgMoleculeTable
 

Detailed Description

Definition at line 61 of file G4MoleculeTable.hh.

Member Typedef Documentation

◆ MoleculeDefTable

Definition at line 134 of file G4MoleculeTable.hh.

Constructor & Destructor Documentation

◆ ~G4MoleculeTable()

G4MoleculeTable::~G4MoleculeTable ( )
virtual

Definition at line 49 of file G4MoleculeTable.cc.

50{
51}

◆ G4MoleculeTable()

G4MoleculeTable::G4MoleculeTable ( )
protected

Definition at line 42 of file G4MoleculeTable.cc.

44{
45}
std::unique_ptr< G4MoleculeTableMessenger > fMoleculeDefTableMessenger

Referenced by Instance().

Member Function Documentation

◆ CreateConfiguration() [1/4]

G4MolecularConfiguration * G4MoleculeTable::CreateConfiguration ( const G4String userIdentifier,
const G4MoleculeDefinition molDef,
const G4String configurationLabel,
const G4ElectronOccupancy eOcc 
)

Definition at line 235 of file G4MoleculeTable.cc.

239{
240 bool alreadyCreated(false);
241
242 G4MolecularConfiguration* molConf =
244 molDef,
245 configurationLabel,
246 eOcc,
247 alreadyCreated);
248
249 return molConf;
250}
static G4MolecularConfiguration * CreateMolecularConfiguration(const G4String &userIdentifier, const G4MoleculeDefinition *, bool &wasAlreadyCreated)

Referenced by G4EmDNAChemistry::ConstructMolecule(), G4EmDNAChemistry_option1::ConstructMolecule(), and G4EmDNAChemistry_option3::ConstructMolecule().

◆ CreateConfiguration() [2/4]

G4MolecularConfiguration * G4MoleculeTable::CreateConfiguration ( const G4String userIdentifier,
G4MoleculeDefinition molDef 
)

Definition at line 175 of file G4MoleculeTable.cc.

177{
178 bool alreadyCreated(false);
179
180 G4MolecularConfiguration* molConf =
182 molDef,
183 alreadyCreated);
184
185 return molConf;
186}

◆ CreateConfiguration() [3/4]

G4MolecularConfiguration * G4MoleculeTable::CreateConfiguration ( const G4String userIdentifier,
G4MoleculeDefinition molDef,
const G4String configurationLabel,
int  charge = 0 
)

Definition at line 191 of file G4MoleculeTable.cc.

195{
196 bool alreadyCreated(false);
197
198 G4MolecularConfiguration* molConf =
200 molDef,
201 charge,
202 configurationLabel,
203 alreadyCreated);
204
205 return molConf;
206}

◆ CreateConfiguration() [4/4]

G4MolecularConfiguration * G4MoleculeTable::CreateConfiguration ( const G4String userIdentifier,
G4MoleculeDefinition molDef,
int  charge,
double  diffusion_coefficient = -1 
)

Definition at line 211 of file G4MoleculeTable.cc.

215{
216 bool alreadyCreated(false);
217
218 G4MolecularConfiguration* molConf =
220 molDef,
221 charge,
222 userIdentifier,
223 alreadyCreated);
224
225 if(diffusion_coefficient!=-1) // TODO
226 {
227 molConf->SetDiffusionCoefficient(diffusion_coefficient);
228 }
229 return molConf;
230}

◆ CreateMoleculeDefinition()

G4MoleculeDefinition * G4MoleculeTable::CreateMoleculeDefinition ( const G4String userIdentifier,
double  diffusion_coefficient 
)

Definition at line 71 of file G4MoleculeTable.cc.

73{
74 return new G4MoleculeDefinition(name, -1 /* mass*/,
75 diffusion_coefficient);
76}

◆ Finalize() [1/2]

void G4MoleculeTable::Finalize ( )

Definition at line 254 of file G4MoleculeTable.cc.

◆ Finalize() [2/2]

void G4MoleculeTable::Finalize ( G4MoleculeDefinition )
inline

◆ GetConfiguration() [1/2]

G4MolecularConfiguration * G4MoleculeTable::GetConfiguration ( const G4String name,
bool  mustExist = true 
)

Definition at line 107 of file G4MoleculeTable.cc.

108{
109 G4MolecularConfiguration* species =
111
112 if(species == 0 && mustExist)
113 {
114 // exception
115 G4ExceptionDescription description;
116 description << "The configuration " << name
117 << " was not recorded in the table" << G4endl;
118 G4Exception("G4MoleculeTable::GetConfiguration",
119 "CONF_NOT_CREATED",
121 description);
122 }
123
124 return species;
125}
@ FatalException
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:59
std::ostringstream G4ExceptionDescription
Definition: G4Exception.hh:40
#define G4endl
Definition: G4ios.hh:57
static G4MolecularConfiguration * GetMolecularConfiguration(const G4MoleculeDefinition *, const G4String &label)
const char * name(G4int ptype)

Referenced by G4MoleculeGun::BuildAndPushTrack(), G4EmDNAChemistry::ConstructDissociationChannels(), G4EmDNAChemistry_option1::ConstructDissociationChannels(), G4EmDNAChemistry_option3::ConstructDissociationChannels(), G4EmDNAChemistry_option2::ConstructDissociationChannels(), G4EmDNAChemistry_option1::ConstructMolecule(), G4EmDNAChemistry_option3::ConstructMolecule(), G4EmDNAChemistry_option2::ConstructReactionTable(), G4EmDNAChemistry::ConstructReactionTable(), G4EmDNAChemistry_option1::ConstructReactionTable(), G4EmDNAChemistry_option3::ConstructReactionTable(), G4DNAMolecularReactionTable::GetReactionData(), G4DNAMolecularMaterial::SetMolecularConfiguration(), G4DNAMolecularReactionData::SetReactant1(), G4DNAMolecularReactionData::SetReactant2(), and G4DNAMolecularReactionData::SetReactants().

◆ GetConfiguration() [2/2]

G4MolecularConfiguration * G4MoleculeTable::GetConfiguration ( G4int  id)

Definition at line 130 of file G4MoleculeTable.cc.

131{
132 G4MolecularConfiguration* species =
134
135 return species;
136}

◆ GetConfigurationIterator()

G4ConfigurationIterator G4MoleculeTable::GetConfigurationIterator ( )

Definition at line 261 of file G4MoleculeTable.cc.

262{
264}
G4MoleculeIterator< G4MolecularConfiguration > G4ConfigurationIterator
static std::map< G4String, G4MolecularConfiguration * > & GetUserIDTable()

Referenced by G4MoleculeCounter::Initialize(), and G4MolecularConfiguration::ScaleAllDiffusionCoefficientsOnWater().

◆ GetDefintionIterator()

G4MoleculeDefinitionIterator G4MoleculeTable::GetDefintionIterator ( )
inline

◆ GetMoleculeDefinition()

G4MoleculeDefinition * G4MoleculeTable::GetMoleculeDefinition ( const G4String name,
bool  mustExist = true 
)

Definition at line 81 of file G4MoleculeTable.cc.

83{
84 MoleculeDefTable::iterator it = fMoleculeDefTable.find(name);
85 G4MoleculeDefinition* definition(0);
86 if (it != fMoleculeDefTable.end())
87 {
88 definition = it->second;
89 }
90 else if(mustExist)
91 {
92 // exception
93 G4ExceptionDescription description;
94 description << "The molecule definition " << name
95 << " was NOT recorded in the table" << G4endl;
96 G4Exception("G4MoleculeTable::CreateMoleculeModel",
97 "MOLECULE_DEFINITION_NOT_CREATED",
99 description);
100 }
101 return definition;
102}

Referenced by G4MolecularConfiguration::Unserialize().

◆ GetMoleculeTable()

G4MoleculeTable * G4MoleculeTable::GetMoleculeTable ( )
static

Definition at line 63 of file G4MoleculeTable.cc.

64{
65 return Instance();
66}
static G4MoleculeTable * Instance()

Referenced by G4DNAMolecularReactionTable::GetReactionData().

◆ GetNumberOfDefinedSpecies()

int G4MoleculeTable::GetNumberOfDefinedSpecies ( )

Definition at line 268 of file G4MoleculeTable.cc.

◆ Insert()

void G4MoleculeTable::Insert ( G4MoleculeDefinition moleculeDefinition)

Definition at line 140 of file G4MoleculeTable.cc.

141{
142
143 const G4String& name = moleculeDefinition->GetName();
144 MoleculeDefTable::iterator it = fMoleculeDefTable.find(name);
145 if (it == fMoleculeDefTable.end())
146 {
147 fMoleculeDefTable[name] = moleculeDefinition;
148 }
149 else
150 {
151 // exception
152 G4ExceptionDescription description;
153 description << "The molecule definition " << name
154 << " was already recorded in the table" << G4endl;
155 G4Exception("G4MoleculeTable::CreateMoleculeDefinition",
156 "DEFINITION_ALREADY_CREATED", FatalException, description);
157 }
158}
const G4String & GetName() const

Referenced by G4MoleculeDefinition::G4MoleculeDefinition().

◆ Instance()

G4MoleculeTable * G4MoleculeTable::Instance ( )
static

Definition at line 55 of file G4MoleculeTable.cc.

56{
58 return fpgMoleculeTable;
59}
static G4MoleculeTable * fpgMoleculeTable

Referenced by G4DNAScavengerMaterial::AddNumberMoleculePerVolumeUnitForMaterialConf(), G4DNAMolecularReactionData::AddProduct(), G4MoleculeGun::BuildAndPushTrack(), G4VUserChemistryList::BuildPhysicsTable(), G4EmDNAChemistry::ConstructDissociationChannels(), G4EmDNAChemistry_option1::ConstructDissociationChannels(), G4EmDNAChemistry_option3::ConstructDissociationChannels(), G4EmDNAChemistry_option2::ConstructDissociationChannels(), G4EmDNAChemistry::ConstructMolecule(), G4EmDNAChemistry_option1::ConstructMolecule(), G4EmDNAChemistry_option3::ConstructMolecule(), G4EmDNAChemistry_option2::ConstructMolecule(), G4EmDNAChemistry::ConstructProcess(), G4EmDNAChemistry_option1::ConstructProcess(), G4EmDNAChemistry_option3::ConstructProcess(), G4EmDNAChemistry_option2::ConstructProcess(), G4EmDNAChemistry_option2::ConstructReactionTable(), G4EmDNAChemistry::ConstructReactionTable(), G4EmDNAChemistry_option1::ConstructReactionTable(), G4EmDNAChemistry_option3::ConstructReactionTable(), G4MoleculeDefinition::Finalize(), G4MoleculeDefinition::G4MoleculeDefinition(), GetMoleculeTable(), G4DNAScavengerMaterial::GetNumberMoleculePerVolumeUnitForMaterialConf(), G4MoleculeCounter::Initialize(), G4DNAChemistryManager::InitializeThreadSharedData(), G4DNAScavengerMaterial::ReduceNumberMoleculePerVolumeUnitForMaterialConf(), G4DNAChemistryManager::Run(), G4MolecularConfiguration::ScaleAllDiffusionCoefficientsOnWater(), G4DNAMolecularMaterial::SetMolecularConfiguration(), G4DNAMolecularReactionData::SetReactant1(), G4DNAMolecularReactionData::SetReactant2(), G4DNAMolecularReactionData::SetReactants(), and G4MolecularConfiguration::Unserialize().

◆ PrepareMolecularConfiguration()

void G4MoleculeTable::PrepareMolecularConfiguration ( )

Definition at line 162 of file G4MoleculeTable.cc.

163{
164 MoleculeDefTable::iterator it = fMoleculeDefTable.begin();
165
166 for(; it != fMoleculeDefTable.end() ; ++it)
167 {
169 }
170}
static G4MolecularConfiguration * GetOrCreateMolecularConfiguration(const G4MoleculeDefinition *)

Referenced by G4DNAChemistryManager::InitializeThreadSharedData().

Member Data Documentation

◆ fMoleculeDefTable

MoleculeDefTable G4MoleculeTable::fMoleculeDefTable
protected

◆ fMoleculeDefTableMessenger

std::unique_ptr<G4MoleculeTableMessenger> G4MoleculeTable::fMoleculeDefTableMessenger
protected

Definition at line 137 of file G4MoleculeTable.hh.

◆ fpgMoleculeTable

G4MoleculeTable * G4MoleculeTable::fpgMoleculeTable
staticprotected

Definition at line 133 of file G4MoleculeTable.hh.

Referenced by Instance().


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