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

#include <G4MolecularConfiguration.hh>

Classes

class  G4MolecularConfigurationManager
 

Public Types

typedef std::function< double(const G4Material *, double, const G4MolecularConfiguration *)> G4DiffCoeffParam
 

Public Member Functions

void AddDiffCoeffParameterization (const G4DiffCoeffParam &)
 
const G4MoleculeDefinitionGetDefinition () const
 
const G4StringGetName () const
 
const G4StringGetFormatedName () const
 
G4int GetAtomsNumber () const
 
G4MolecularConfigurationExciteMolecule (G4int) const
 
G4MolecularConfigurationIonizeMolecule (G4int) const
 
G4MolecularConfigurationAddElectron (G4int orbit, G4int n=1) const
 
G4MolecularConfigurationRemoveElectron (G4int, G4int number=1) const
 
G4MolecularConfigurationMoveOneElectron (G4int, G4int) const
 
G4double GetNbElectrons () const
 
void PrintState () const
 
const std::vector< const G4MolecularDissociationChannel * > * GetDissociationChannels () const
 
G4int GetFakeParticleID () const
 
G4int GetMoleculeID () const
 
void SetDiffusionCoefficient (G4double)
 
G4double GetDiffusionCoefficient () const
 
G4double GetDiffusionCoefficient (const G4Material *, double temperature) const
 
void SetDecayTime (G4double)
 
G4double GetDecayTime () const
 
void SetVanDerVaalsRadius (G4double)
 
G4double GetVanDerVaalsRadius () const
 
const G4ElectronOccupancyGetElectronOccupancy () const
 
G4int GetCharge () const
 
void SetMass (G4double)
 
G4double GetMass () const
 
void SetLabel (const G4String &)
 
const G4StringGetLabel () const
 
void Finalize ()
 
const G4StringGetUserID () const
 
void Serialize (std::ostream &)
 
void Unserialize (std::istream &)
 

Static Public Member Functions

static G4MolecularConfigurationGetOrCreateMolecularConfiguration (const G4MoleculeDefinition *)
 
static G4MolecularConfigurationGetOrCreateMolecularConfiguration (const G4MoleculeDefinition *, const G4ElectronOccupancy &eOcc)
 
static G4MolecularConfigurationGetOrCreateMolecularConfiguration (const G4MoleculeDefinition *, int charge)
 
static G4MolecularConfigurationCreateMolecularConfiguration (const G4String &userIdentifier, const G4MoleculeDefinition *, bool &wasAlreadyCreated)
 
static G4MolecularConfigurationCreateMolecularConfiguration (const G4String &userIdentifier, const G4MoleculeDefinition *, const G4String &label, const G4ElectronOccupancy &eOcc, bool &wasAlreadyCreated)
 
static G4MolecularConfigurationCreateMolecularConfiguration (const G4String &userIdentifier, const G4MoleculeDefinition *, int charge, const G4String &label, bool &wasAlreadyCreated)
 
static G4MolecularConfigurationCreateMolecularConfiguration (const G4String &userIdentifier, const G4MoleculeDefinition *, const G4String &label, bool &wasAlreadyCreated)
 
static G4MolecularConfigurationGetMolecularConfiguration (const G4MoleculeDefinition *, const G4String &label)
 
static G4MolecularConfigurationGetMolecularConfiguration (int moleculeID)
 
static G4MolecularConfigurationGetMolecularConfiguration (const G4String &userID)
 
static int GetNumberOfSpecies ()
 
static std::map< G4String, G4MolecularConfiguration * > & GetUserIDTable ()
 
static void DeleteManager ()
 
static double DiffCoeffWater (double temperature_K)
 
static void FinalizeAll ()
 
static void SetGlobalTemperature (G4double)
 
static G4double GetGlobalTemperature ()
 
static G4MolecularConfigurationLoad (std::istream &)
 

Protected Member Functions

 G4MolecularConfiguration (const G4MoleculeDefinition *, const G4ElectronOccupancy &, const G4String &label="")
 
 G4MolecularConfiguration (const G4MoleculeDefinition *, int charge)
 
 G4MolecularConfiguration (const G4MoleculeDefinition *, const G4String &label, int charge)
 
 G4MolecularConfiguration (std::istream &)
 
 G4MolecularConfiguration (const G4MolecularConfiguration &)
 
G4MolecularConfigurationoperator= (G4MolecularConfiguration &right)
 
 ~G4MolecularConfiguration ()
 
G4MolecularConfigurationChangeConfiguration (const G4ElectronOccupancy &newElectronOccupancy) const
 
G4MolecularConfigurationChangeConfiguration (int charge) const
 
void CheckElectronOccupancy (const char *line) const
 
void MakeExceptionIfFinalized ()
 
void SetUserID (const G4String &userID)
 
void CreateDefaultDiffCoeffParam ()
 

Static Protected Member Functions

static void ScaleAllDiffusionCoefficientsOnWater (double temperature_K)
 
static G4MolecularConfigurationManagerGetManager ()
 
static double ReturnDefaultDiffCoeff (const G4Material *, double, const G4MolecularConfiguration *molConf)
 

Protected Attributes

const G4MoleculeDefinitionfMoleculeDefinition
 
const G4ElectronOccupancyfElectronOccupancy
 
G4StringfLabel
 
G4double fDynDiffusionCoefficient
 
G4double fDynVanDerVaalsRadius
 
G4double fDynDecayTime
 
G4double fDynMass
 
G4int fDynCharge
 
G4int fMoleculeID
 
G4String fFormatedName
 
G4String fName
 
G4String fUserIdentifier
 
G4bool fIsFinalized
 
G4DiffCoeffParam fDiffParam
 

Static Protected Attributes

static G4MolecularConfigurationManagerfgManager = 0
 
static double fgTemperature = 298
 

Detailed Description

The pointer G4MolecularConfiguration will be shared by all the molecules having the same molecule definition and the same electron occupancy BE CAREFUlL !!! : If you change the mass for instance of a OH^-, this will affect all the OH^- molecule diffusing around

Definition at line 98 of file G4MolecularConfiguration.hh.

Member Typedef Documentation

◆ G4DiffCoeffParam

typedef std::function<double(const G4Material*, double, const G4MolecularConfiguration*)> G4MolecularConfiguration::G4DiffCoeffParam

Definition at line 104 of file G4MolecularConfiguration.hh.

Constructor & Destructor Documentation

◆ G4MolecularConfiguration() [1/5]

G4MolecularConfiguration::G4MolecularConfiguration ( const G4MoleculeDefinition moleculeDef,
const G4ElectronOccupancy elecOcc,
const G4String label = "" 
)
protected

Definition at line 436 of file G4MolecularConfiguration.cc.

440{
441 fMoleculeDefinition = moleculeDef;
442
443 fMoleculeID = GetManager()->Insert(moleculeDef,
444 elecOcc,
445 this);
447 elecOcc);
448
449 /*
450 fgManager->fTable[fMoleculeDefinition][elecOcc] = this;
451 std::map<G4ElectronOccupancy, G4MolecularConfiguration*, comparator>::iterator it ;
452 it = fgManager->fTable[moleculeDef].find(elecOcc);
453 fElectronOccupancy = &(it->first);
454 */
455
458 + moleculeDef->GetCharge();
460
464
466 fName += "^";
468
470 fFormatedName += "^";
471 fFormatedName += "{";
473 fFormatedName += "}";
474
475 fLabel = 0; // let it here
476
477 if(label != "")
478 {
479 SetLabel(label);
480 }
481
483
484 fIsFinalized = false;
485}
G4int GetTotalOccupancy() const
const G4ElectronOccupancy * FindCommonElectronOccupancy(const G4MoleculeDefinition *molDef, const G4ElectronOccupancy &eOcc)
G4int Insert(const G4MoleculeDefinition *molDef, const G4ElectronOccupancy &eOcc, G4MolecularConfiguration *molConf)
static G4MolecularConfigurationManager * GetManager()
const G4ElectronOccupancy * fElectronOccupancy
static double ReturnDefaultDiffCoeff(const G4Material *, double, const G4MolecularConfiguration *molConf)
const G4MoleculeDefinition * fMoleculeDefinition
const G4String & GetName() const
const G4String & GetFormatedName() const
G4double GetVanDerVaalsRadius() const
G4double GetDecayTime() const
G4double GetDiffusionCoefficient() const
static G4String ConvertToString(G4bool boolVal)
Definition: G4UIcommand.cc:430

◆ G4MolecularConfiguration() [2/5]

G4MolecularConfiguration::G4MolecularConfiguration ( const G4MoleculeDefinition moleculeDef,
int  charge 
)
protected

◆ G4MolecularConfiguration() [3/5]

G4MolecularConfiguration::G4MolecularConfiguration ( const G4MoleculeDefinition moleculeDef,
const G4String label,
int  charge 
)
protected

◆ G4MolecularConfiguration() [4/5]

G4MolecularConfiguration::G4MolecularConfiguration ( std::istream &  in)
protected

Definition at line 1443 of file G4MolecularConfiguration.cc.

1444{
1445 fLabel = 0; // TODO: for now not serialized
1446 Unserialize(in);
1450 {
1455
1456 if(fLabel)
1457 {
1459 }
1460 }
1461 else if(fLabel)
1462 {
1464 }
1465 else if(fDynCharge)
1466 {
1468 }
1469}
void RecordNewlyLabeledConfiguration(G4MolecularConfiguration *molConf)

◆ G4MolecularConfiguration() [5/5]

G4MolecularConfiguration::G4MolecularConfiguration ( const G4MolecularConfiguration )
protected

◆ ~G4MolecularConfiguration()

G4MolecularConfiguration::~G4MolecularConfiguration ( )
protected

Definition at line 526 of file G4MolecularConfiguration.cc.

527{
529
530// if (G4AllocatorList::GetAllocatorListIfExist())
531// {
532// if (fElectronOccupancy)
533// {
534// delete fElectronOccupancy;
535// fElectronOccupancy = 0;
536// }
537// }
538}
static G4MolecularConfigurationManager * fgManager

Member Function Documentation

◆ AddDiffCoeffParameterization()

void G4MolecularConfiguration::AddDiffCoeffParameterization ( const G4DiffCoeffParam para)
inline

Definition at line 581 of file G4MolecularConfiguration.hh.

583{
584 fDiffParam = para;
585}

◆ AddElectron()

G4MolecularConfiguration * G4MolecularConfiguration::AddElectron ( G4int  orbit,
G4int  n = 1 
) const

Add n electrons to a given orbit. Note : You can add as many electrons to a given orbit, the result may be unrealist.

Definition at line 635 of file G4MolecularConfiguration.cc.

637{
638// MakeExceptionIfFinalized();
639 CheckElectronOccupancy(__func__);
640 G4ElectronOccupancy newElectronOccupancy(*fElectronOccupancy);
641 newElectronOccupancy.AddElectron(orbit, number);
642 return ChangeConfiguration(newElectronOccupancy);
643}
G4MolecularConfiguration * ChangeConfiguration(const G4ElectronOccupancy &newElectronOccupancy) const
void CheckElectronOccupancy(const char *line) const

Referenced by G4Molecule::AddElectron().

◆ ChangeConfiguration() [1/2]

G4MolecularConfiguration * G4MolecularConfiguration::ChangeConfiguration ( const G4ElectronOccupancy newElectronOccupancy) const
protected

Definition at line 543 of file G4MolecularConfiguration.cc.

545{
548 newElectronOccupancy);
549
550 if (!output)
551 {
553 newElectronOccupancy);
554 }
555 return output;
556}
G4MolecularConfiguration * GetMolecularConfiguration(const G4MoleculeDefinition *molDef, const G4ElectronOccupancy &eOcc)

Referenced by AddElectron(), ExciteMolecule(), IonizeMolecule(), MoveOneElectron(), and RemoveElectron().

◆ ChangeConfiguration() [2/2]

G4MolecularConfiguration * G4MolecularConfiguration::ChangeConfiguration ( int  charge) const
protected

Definition at line 561 of file G4MolecularConfiguration.cc.

562{
565
566 if (!output)
567 {
568 output = new G4MolecularConfiguration(fMoleculeDefinition, charge);
569 }
570 return output;
571}

◆ CheckElectronOccupancy()

void G4MolecularConfiguration::CheckElectronOccupancy ( const char *  line) const
protected

Definition at line 823 of file G4MolecularConfiguration.cc.

824{
825 if (fElectronOccupancy == 0)
826 {
827 G4String functionName(function);
828 G4ExceptionDescription description;
829 description
830 << "No G4ElectronOccupancy was defined for molecule definition : "
832 << ". The definition was probably defined using the charge state, "
833 "rather than electron state.";
834
835 G4Exception(functionName, "", FatalErrorInArgument, description);
836 }
837}
G4double(* function)(G4double)
@ FatalErrorInArgument
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:35
std::ostringstream G4ExceptionDescription
Definition: G4Exception.hh:40

Referenced by AddElectron(), ExciteMolecule(), GetNbElectrons(), IonizeMolecule(), MoveOneElectron(), and RemoveElectron().

◆ CreateDefaultDiffCoeffParam()

void G4MolecularConfiguration::CreateDefaultDiffCoeffParam ( )
protected

Definition at line 1515 of file G4MolecularConfiguration.cc.

1516{
1517 if(bool(fDiffParam) == false)
1518 {
1520 }
1521}

Referenced by Finalize().

◆ CreateMolecularConfiguration() [1/4]

G4MolecularConfiguration * G4MolecularConfiguration::CreateMolecularConfiguration ( const G4String userIdentifier,
const G4MoleculeDefinition molDef,
bool &  wasAlreadyCreated 
)
static

Definition at line 1097 of file G4MolecularConfiguration.cc.

1101{
1102 wasAlreadyCreated = false;
1103 G4MolecularConfiguration* preRegisteredMolConf =
1104 GetManager()->GetMolecularConfiguration(userIdentifier);
1105
1106 if(preRegisteredMolConf)
1107 {
1108 if(preRegisteredMolConf->GetDefinition() == molDef)
1109 {
1110 wasAlreadyCreated = true;
1111 return preRegisteredMolConf;
1112 }
1113 }
1114
1116 {
1117 const G4ElectronOccupancy& elecOcc = *molDef
1119 G4MolecularConfiguration* molConf =
1120 GetManager()->GetMolecularConfiguration(molDef, elecOcc);
1121
1122 if(molConf)
1123 {
1124 if(molConf->fUserIdentifier == "")
1125 {
1126 molConf->fUserIdentifier = userIdentifier;
1127 }
1128 else if(molConf->fUserIdentifier != userIdentifier)
1129 {
1131 errMsg << "A molecular configuration for the definition named "
1132 << molDef->GetName() << " has already been created "
1133 "and recorded with a different user ID "
1134 << molConf->fUserIdentifier;
1135 G4Exception("G4MolecularConfiguration::CreateMolecularConfiguration",
1136 "DOUBLE_CREATION",
1138 errMsg);
1139 }
1140// TODO exception
1142 errMsg << "A molecular configuration for the definition named "
1143 << molDef->GetName() << " has already been created.";
1144 G4Exception("G4MolecularConfiguration::CreateMolecularConfiguration",
1145 "DOUBLE_CREATION",
1147 errMsg);
1148 wasAlreadyCreated = true;
1149 return molConf;
1150 }
1151 else
1152 {
1153 // G4cout << "Create molConf for " << molDef->GetName() << G4endl;
1155 elecOcc);
1156 newConf->fUserIdentifier = userIdentifier;
1157
1158 GetManager()->AddUserID(userIdentifier, newConf);
1159
1160// G4MoleculeTable::Instance()->RecordMolecularConfiguration(userIdentifier,
1161// newConf);
1162 return newConf;
1163 }
1164 }
1165 else
1166 {
1167 return CreateMolecularConfiguration(userIdentifier,
1168 molDef,
1169 molDef->GetName(),
1170 molDef->GetCharge(),
1171 wasAlreadyCreated);
1172 }
1173}
@ JustWarning
void AddUserID(const G4String &name, G4MolecularConfiguration *molecule)
const G4MoleculeDefinition * GetDefinition() const
static G4MolecularConfiguration * CreateMolecularConfiguration(const G4String &userIdentifier, const G4MoleculeDefinition *, bool &wasAlreadyCreated)
const G4ElectronOccupancy * GetGroundStateElectronOccupancy() const

Referenced by G4MoleculeTable::CreateConfiguration(), CreateMolecularConfiguration(), G4MoleculeDefinition::NewConfiguration(), and G4MoleculeDefinition::NewConfigurationWithElectronOccupancy().

◆ CreateMolecularConfiguration() [2/4]

G4MolecularConfiguration * G4MolecularConfiguration::CreateMolecularConfiguration ( const G4String userIdentifier,
const G4MoleculeDefinition molDef,
const G4String label,
bool &  wasAlreadyCreated 
)
static

Definition at line 1178 of file G4MolecularConfiguration.cc.

1183{
1184 assert(label != "");
1185 wasAlreadyCreated = false;
1186
1187 G4MolecularConfiguration* molConf =
1188 GetManager()->GetMolecularConfiguration(molDef, label);
1189 if(molConf)
1190 {
1191 if(molConf->fLabel
1192 && *molConf->fLabel == label)
1193 {
1194 wasAlreadyCreated = true;
1195 return molConf;
1196 }
1197 else if(molConf->fLabel == 0)
1198 {
1199 wasAlreadyCreated = true;
1200 molConf->SetLabel(label);
1201 return molConf;
1202 }
1203 else if(*molConf->fLabel == "")
1204 {
1205 wasAlreadyCreated = true;
1206 molConf->SetLabel(label);
1207 return molConf;
1208 }
1209
1210 molConf->PrintState();
1211 G4ExceptionDescription errMsg ;
1212 errMsg << "A molecular configuration for the definition named "
1213 << molDef->GetName()
1214 << " has already been created "
1215 "with user ID "
1216 << molConf->fUserIdentifier << " and label "
1217 << molConf->GetLabel();
1218 G4Exception("G4MolecularConfiguration::CreateMolecularConfiguration",
1219 "DOUBLE_CREATION",
1221 errMsg);
1222 // KILL APP
1223 }
1224 else
1225 {
1226 G4MolecularConfiguration* newConf =
1227 new G4MolecularConfiguration(molDef,
1228 label,
1229 molDef->GetCharge());
1230 newConf->fUserIdentifier = userIdentifier;
1231
1232 GetManager()->AddUserID(userIdentifier, newConf);
1233
1234// G4MoleculeTable::Instance()->
1235// RecordMolecularConfiguration(userIdentifier, newConf);
1236 return newConf;
1237 }
1238 return molConf;
1239}
const G4String & GetLabel() const

◆ CreateMolecularConfiguration() [3/4]

G4MolecularConfiguration * G4MolecularConfiguration::CreateMolecularConfiguration ( const G4String userIdentifier,
const G4MoleculeDefinition molDef,
const G4String label,
const G4ElectronOccupancy eOcc,
bool &  wasAlreadyCreated 
)
static

Definition at line 1244 of file G4MolecularConfiguration.cc.

1250{
1251 assert(label != "");
1252 wasAlreadyCreated = false;
1253
1254 G4MolecularConfiguration* molConf =
1255 GetManager()->GetMolecularConfiguration(molDef, eOcc);
1256
1257 if(molConf)
1258 {
1259 if(molConf->GetElectronOccupancy())
1260 {
1261 if(*molConf->GetElectronOccupancy() == eOcc)
1262 {
1263 if(molConf->fLabel && *molConf->fLabel == label)
1264 {
1265 wasAlreadyCreated = true;
1266 return molConf;
1267 }
1268 else if(molConf->fLabel == 0)
1269 {
1270 wasAlreadyCreated = true;
1271 molConf->SetLabel(label);
1272 return molConf;
1273 }
1274 else if(*molConf->fLabel == "")
1275 {
1276 wasAlreadyCreated = true;
1277 molConf->SetLabel(label);
1278 return molConf;
1279 }
1280 }
1281 }
1282
1283
1284 molConf->PrintState();
1285 G4ExceptionDescription errMsg ;
1286 errMsg << "A molecular configuration for the definition named "
1287 << molDef->GetName()
1288 << " has already been created "
1289 "with user ID "
1290 << molConf->fUserIdentifier
1291 << " and possible different electronic state";
1292 G4Exception("G4MolecularConfiguration::CreateMolecularConfiguration",
1293 "DOUBLE_CREATION",
1295 errMsg);
1296 }
1297 else
1298 {
1299 G4MolecularConfiguration* newConf =
1300 new G4MolecularConfiguration(molDef,
1301 eOcc,
1302 label);
1303 newConf->fUserIdentifier = userIdentifier;
1304
1305 GetManager()->AddUserID(userIdentifier, newConf);
1306
1307// G4MoleculeTable::Instance()->
1308// RecordMolecularConfiguration(userIdentifier, newConf);
1309 return newConf;
1310 }
1311 return molConf;
1312}
const G4ElectronOccupancy * GetElectronOccupancy() const

◆ CreateMolecularConfiguration() [4/4]

G4MolecularConfiguration * G4MolecularConfiguration::CreateMolecularConfiguration ( const G4String userIdentifier,
const G4MoleculeDefinition molDef,
int  charge,
const G4String label,
bool &  wasAlreadyCreated 
)
static

Definition at line 1005 of file G4MolecularConfiguration.cc.

1010{
1011 wasAlreadyCreated = false;
1012 G4MolecularConfiguration* molConf =
1013 GetManager()->GetMolecularConfiguration(molDef, charge);
1014
1015 if (molConf)
1016 {
1017 if(molConf->fLabel == 0)
1018 {
1019 molConf->SetLabel(label);
1021 wMsg << "The molecular configuration for the definition named "
1022 << molDef->GetName()
1023 << " with charge " << charge << " has already been created "
1024 "but with NO label";
1025 G4Exception("G4MolecularConfiguration::CreateMolecularConfiguration",
1026 "DOUBLE_CREATION",
1028 wMsg);
1029 }
1030 else if(*(molConf->fLabel) == "" )
1031 {
1032 molConf->SetLabel(label);
1033 }
1034 else if(*(molConf->fLabel) != label)
1035 {
1036 G4ExceptionDescription errMsg ;
1037 errMsg << "The molecular configuration for the definition named "
1038 << molDef->GetName()
1039 << " with charge " << charge << " has already been created "
1040 "but with a different label :"
1041 << molConf->GetLabel();
1042 G4Exception("G4MolecularConfiguration::CreateMolecularConfiguration",
1043 "DOUBLE_CREATION",
1045 errMsg);
1046 // KILL APP
1047 }
1048
1049 if(molConf->fUserIdentifier == "")
1050 {
1051 molConf->fUserIdentifier = userIdentifier;
1052
1054 wMsg << "The molecular configuration for the definition named "
1055 << molDef->GetName()
1056 << " with label " << label << " has already been created.";
1057 G4Exception("G4MolecularConfiguration::CreateMolecularConfiguration",
1058 "DOUBLE_CREATION",
1060 wMsg);
1061 }
1062 else if(molConf->fUserIdentifier != userIdentifier)
1063 {
1064 G4ExceptionDescription errMsg ;
1065 errMsg << "The molecular configuration for the definition named "
1066 << molDef->GetName()
1067 << " with label " << label << " has already been created "
1068 "BUT with a different user ID :"
1069 << molConf->fUserIdentifier;
1070 G4Exception("G4MolecularConfiguration::CreateMolecularConfiguration",
1071 "DOUBLE_CREATION",
1073 errMsg);
1074 // KILL APP
1075 }
1076
1077 wasAlreadyCreated = true;
1078 return molConf;
1079 }
1080 else
1081 {
1082 G4MolecularConfiguration* newConf =
1083 new G4MolecularConfiguration(molDef, label, charge);
1084 newConf->fUserIdentifier = userIdentifier;
1085
1086 GetManager()->AddUserID(userIdentifier, newConf);
1087
1088// G4MoleculeTable::Instance()->RecordMolecularConfiguration(userIdentifier,
1089// newConf);
1090 return newConf;
1091 }
1092}

◆ DeleteManager()

void G4MolecularConfiguration::DeleteManager ( )
static

◆ DiffCoeffWater()

double G4MolecularConfiguration::DiffCoeffWater ( double  temperature_K)
static

Definition at line 1482 of file G4MolecularConfiguration.cc.

1483{
1484 return pow(10, 4.311
1485 - 2.722e3/temperature_K
1486 + 8.565e5/(temperature_K *temperature_K)
1487 - 1.181e8/(temperature_K*temperature_K*temperature_K ))*1e-9*m2/s;
1488}

Referenced by ScaleAllDiffusionCoefficientsOnWater(), and G4DNAMolecularReactionData::ScaledParameterization().

◆ ExciteMolecule()

G4MolecularConfiguration * G4MolecularConfiguration::ExciteMolecule ( G4int  ExcitedLevel) const

Method used in Geant4-DNA to excite water molecules

Definition at line 587 of file G4MolecularConfiguration.cc.

588{
589// MakeExceptionIfFinalized();
590 CheckElectronOccupancy(__func__);
591 G4ElectronOccupancy newElectronOccupancy(*fElectronOccupancy);
592
593 newElectronOccupancy.RemoveElectron(ExcitedLevel, 1);
594 newElectronOccupancy.AddElectron(5, 1);
595
596 return ChangeConfiguration(newElectronOccupancy);
597}

Referenced by G4Molecule::ExciteMolecule().

◆ Finalize()

void G4MolecularConfiguration::Finalize ( )
inline

Definition at line 570 of file G4MolecularConfiguration.hh.

◆ FinalizeAll()

void G4MolecularConfiguration::FinalizeAll ( )
static

Definition at line 1561 of file G4MolecularConfiguration.cc.

1562{
1563 const std::vector<G4MolecularConfiguration*>& species =
1565
1566 for(size_t i = 0; i < species.size() ; ++i)
1567 {
1568 species[i]->Finalize();
1569 }
1570
1571}
const std::vector< G4MolecularConfiguration * > & GetAllSpecies()

Referenced by G4MoleculeTable::Finalize().

◆ GetAtomsNumber()

G4int G4MolecularConfiguration::GetAtomsNumber ( ) const

Returns the nomber of atoms compouning the molecule

Definition at line 736 of file G4MolecularConfiguration.cc.

737{
739}

Referenced by G4Molecule::GetAtomsNumber().

◆ GetCharge()

G4int G4MolecularConfiguration::GetCharge ( ) const
inline

Returns the charge of molecule.

Definition at line 527 of file G4MolecularConfiguration.hh.

528{
529 return fDynCharge;
530}

Referenced by G4Molecule::GetCharge().

◆ GetDecayTime()

G4double G4MolecularConfiguration::GetDecayTime ( ) const
inline

Returns the decay time of the molecule.

Definition at line 511 of file G4MolecularConfiguration.hh.

512{
513 return fDynDecayTime;
514}

Referenced by G4Molecule::GetDecayTime().

◆ GetDefinition()

◆ GetDiffusionCoefficient() [1/2]

G4double G4MolecularConfiguration::GetDiffusionCoefficient ( ) const
inline

◆ GetDiffusionCoefficient() [2/2]

G4double G4MolecularConfiguration::GetDiffusionCoefficient ( const G4Material material,
double  temperature 
) const
inline

Definition at line 588 of file G4MolecularConfiguration.hh.

590{
591 return fDiffParam(material, temperature, this);
592}

◆ GetDissociationChannels()

const vector< const G4MolecularDissociationChannel * > * G4MolecularConfiguration::GetDissociationChannels ( ) const

Definition at line 789 of file G4MolecularConfiguration.cc.

790{
791 // if (fElectronOccupancy == 0) return 0;
793}
const std::vector< const G4MolecularDissociationChannel * > * GetDecayChannels(const G4MolecularConfiguration *) const

Referenced by G4Molecule::GetDissociationChannels().

◆ GetElectronOccupancy()

const G4ElectronOccupancy * G4MolecularConfiguration::GetElectronOccupancy ( ) const
inline

Returns the object ElectronOccupancy describing the electronic configuration of the molecule.

Definition at line 489 of file G4MolecularConfiguration.hh.

490{
491 return fElectronOccupancy;
492}

Referenced by CreateMolecularConfiguration(), G4Molecule::GetElectronOccupancy(), and G4MolecularConfiguration::G4MolecularConfigurationManager::RemoveMolecularConfigurationFromTable().

◆ GetFakeParticleID()

G4int G4MolecularConfiguration::GetFakeParticleID ( ) const

Definition at line 797 of file G4MolecularConfiguration.cc.

798{
800 else G4Exception("G4MolecularConfiguration::GetMoleculeID",
801 "",
803 "You should first enter a molecule definition");
804
805 return INT_MAX;
806}
#define INT_MAX
Definition: templates.hh:90

Referenced by G4Molecule::GetFakeParticleID().

◆ GetFormatedName()

const G4String & G4MolecularConfiguration::GetFormatedName ( ) const

Returns the formated name of the molecule

Definition at line 721 of file G4MolecularConfiguration.cc.

722{
723// if (fFormatedName.isNull())
724// {
725// fFormatedName = fMoleculeDefinition->GetFormatedName();
726// fFormatedName += "^";
727// fFormatedName += "{";
728// fFormatedName += G4UIcommand::ConvertToString(fDynCharge);
729// fFormatedName += "}";
730// }
731 return fFormatedName;
732}

Referenced by G4Molecule::GetFormatedName().

◆ GetGlobalTemperature()

G4double G4MolecularConfiguration::GetGlobalTemperature ( )
static

◆ GetLabel()

const G4String & G4MolecularConfiguration::GetLabel ( ) const
inline

Definition at line 562 of file G4MolecularConfiguration.hh.

563{
564 if(fLabel == 0)
565 fLabel = new G4String();
566
567 return (*fLabel);
568}

Referenced by CreateMolecularConfiguration(), G4Molecule::GetLabel(), and PrintState().

◆ GetManager()

G4MolecularConfiguration::G4MolecularConfigurationManager * G4MolecularConfiguration::GetManager ( )
staticprotected

Definition at line 130 of file G4MolecularConfiguration.cc.

131{
132 if (!fgManager)
133 {
135 if (!fgManager) // double check for MT
136 {
137 fgManager = new G4MolecularConfiguration::
138 G4MolecularConfigurationManager();
139 }
140 lock.unlock();
141 }
142
143 return fgManager;
144}

Referenced by ChangeConfiguration(), CreateMolecularConfiguration(), FinalizeAll(), G4MolecularConfiguration(), GetMolecularConfiguration(), GetNumberOfSpecies(), GetOrCreateMolecularConfiguration(), GetUserIDTable(), and SetUserID().

◆ GetMass()

G4double G4MolecularConfiguration::GetMass ( ) const
inline

Returns the total mass of the molecule.

Definition at line 538 of file G4MolecularConfiguration.hh.

539{
540 return fDynMass;
541}

Referenced by G4Molecule::GetDiffusionVelocity(), G4Molecule::GetKineticEnergy(), and G4Molecule::GetMass().

◆ GetMolecularConfiguration() [1/3]

G4MolecularConfiguration * G4MolecularConfiguration::GetMolecularConfiguration ( const G4MoleculeDefinition molDef,
const G4String label 
)
static

◆ GetMolecularConfiguration() [2/3]

G4MolecularConfiguration * G4MolecularConfiguration::GetMolecularConfiguration ( const G4String userID)
static

Definition at line 1554 of file G4MolecularConfiguration.cc.

1555{
1556 return GetManager()->GetMolecularConfiguration(userID);
1557}

◆ GetMolecularConfiguration() [3/3]

G4MolecularConfiguration * G4MolecularConfiguration::GetMolecularConfiguration ( int  moleculeID)
static

Definition at line 997 of file G4MolecularConfiguration.cc.

998{
999 return GetManager()->GetMolecularConfiguration(moleculeID);
1000}

◆ GetMoleculeID()

G4int G4MolecularConfiguration::GetMoleculeID ( ) const
inline

◆ GetName()

const G4String & G4MolecularConfiguration::GetName ( ) const

Returns the name of the molecule

Definition at line 706 of file G4MolecularConfiguration.cc.

707{
708// if (fName.isNull())
709// {
710// fName = fMoleculeDefinition->GetName();
711// fName += "^";
712// // fName+= "{";
713// fName += G4UIcommand::ConvertToString(fDynCharge);
714// // fName+= "}";
715// }
716 return fName;
717}

Referenced by G4MoleculeCounter::AddAMoleculeAtTime(), G4DNAMolecularReactionTable::CanReactWith(), G4Molecule::GetName(), G4DNAMolecularReactionTable::GetReactionData(), G4DNAMolecularReactionTable::GetReativesNData(), IonizeMolecule(), MakeExceptionIfFinalized(), MoveOneElectron(), PrintState(), G4DNAMolecularReactionTable::PrintTable(), G4MoleculeCounter::RemoveAMoleculeAtTime(), RemoveElectron(), and G4DNAIRT::Sampling().

◆ GetNbElectrons()

G4double G4MolecularConfiguration::GetNbElectrons ( ) const

Returns the number of electron.

Definition at line 743 of file G4MolecularConfiguration.cc.

744{
745 CheckElectronOccupancy(__func__);
747}

Referenced by G4Molecule::GetNbElectrons().

◆ GetNumberOfSpecies()

int G4MolecularConfiguration::GetNumberOfSpecies ( )
static

◆ GetOrCreateMolecularConfiguration() [1/3]

G4MolecularConfiguration * G4MolecularConfiguration::GetOrCreateMolecularConfiguration ( const G4MoleculeDefinition molDef)
static

Definition at line 337 of file G4MolecularConfiguration.cc.

339{
341 {
342 const G4ElectronOccupancy& elecOcc =
344 G4MolecularConfiguration* molConf =
345 GetManager()->GetMolecularConfiguration(molDef, elecOcc);
346
347 if (molConf)
348 {
349 return molConf;
350 }
351 else
352 {
353 G4MolecularConfiguration* newConf =
354 new G4MolecularConfiguration(molDef,
355 elecOcc);
356 newConf->SetUserID(molDef->GetName());
357 return newConf;
358 }
359 }
360 else
361 {
362 G4MolecularConfiguration* molConf =
363 GetManager()->GetMolecularConfiguration(molDef, molDef->GetCharge());
364 if(molConf)
365 {
366 return molConf;
367 }
368 else
369 {
370 G4MolecularConfiguration* newConf =
371 new G4MolecularConfiguration(molDef, molDef->GetCharge());
372 newConf->SetUserID(molDef->GetName());
373 return newConf;
374 }
375 }
376}
void SetUserID(const G4String &userID)

Referenced by G4Molecule::G4Molecule(), G4MoleculeTable::PrepareMolecularConfiguration(), and G4Molecule::SetElectronOccupancy().

◆ GetOrCreateMolecularConfiguration() [2/3]

G4MolecularConfiguration * G4MolecularConfiguration::GetOrCreateMolecularConfiguration ( const G4MoleculeDefinition molDef,
const G4ElectronOccupancy eOcc 
)
static

Definition at line 381 of file G4MolecularConfiguration.cc.

384{
385 return GetManager()->GetOrCreateMolecularConfiguration(molDef, elecOcc);
386
387// G4MolecularConfiguration* molConf =
388// GetManager()->GetMolecularConfiguration(molDef, elecOcc);
389//
390// if (molConf)
391// {
392// return molConf;
393// }
394// else
395// {
396// G4MolecularConfiguration* newConf =
397// new G4MolecularConfiguration(molDef, elecOcc);
398// return newConf;
399// }
400}
G4MolecularConfiguration * GetOrCreateMolecularConfiguration(const G4MoleculeDefinition *molDef, const G4ElectronOccupancy &eOcc)

◆ GetOrCreateMolecularConfiguration() [3/3]

G4MolecularConfiguration * G4MolecularConfiguration::GetOrCreateMolecularConfiguration ( const G4MoleculeDefinition molDef,
int  charge 
)
static

Definition at line 405 of file G4MolecularConfiguration.cc.

408{
409 G4MolecularConfiguration* molConf =
410 GetManager()->GetMolecularConfiguration(molDef, charge);
411
412 if(molConf)
413 {
414 return molConf;
415 }
416 else
417 {
418 G4MolecularConfiguration* newConf =
419 new G4MolecularConfiguration(molDef, charge);
420 return newConf;
421 }
422}

◆ GetUserID()

const G4String & G4MolecularConfiguration::GetUserID ( ) const
inline

Definition at line 576 of file G4MolecularConfiguration.hh.

577{
578 return fUserIdentifier;
579}

◆ GetUserIDTable()

static std::map< G4String, G4MolecularConfiguration * > & G4MolecularConfiguration::GetUserIDTable ( )
inlinestatic

Definition at line 169 of file G4MolecularConfiguration.hh.

170 {
171 return GetManager()->GetUserIDTable();
172 }
std::map< G4String, G4MolecularConfiguration * > & GetUserIDTable()

Referenced by G4MoleculeTable::GetConfigurationIterator().

◆ GetVanDerVaalsRadius()

G4double G4MolecularConfiguration::GetVanDerVaalsRadius ( ) const
inline

◆ IonizeMolecule()

G4MolecularConfiguration * G4MolecularConfiguration::IonizeMolecule ( G4int  IonizedLevel) const

Method used in Geant4-DNA to ionize water molecules

Definition at line 604 of file G4MolecularConfiguration.cc.

605{
606// MakeExceptionIfFinalized();
607 CheckElectronOccupancy(__func__);
608 G4ElectronOccupancy newElectronOccupancy(*fElectronOccupancy);
609
610 if (newElectronOccupancy.GetOccupancy(IonizedLevel) != 0)
611 {
612 newElectronOccupancy.RemoveElectron(IonizedLevel, 1);
613 }
614 else
615 {
616 G4String errMsg = "There is no electron on the orbit "
617 + G4UIcommand::ConvertToString(IonizedLevel)
618 + " you want to free. The molecule's name you want to ionized is "
619 + GetName();
620 G4Exception("G4MolecularConfiguration::IonizeMolecule",
621 "",
623 errMsg);
624 PrintState();
625 }
626
627 // DEBUG
628 // PrintState();
629
630 return ChangeConfiguration(newElectronOccupancy);
631}
const G4String & GetName() const

Referenced by G4Molecule::IonizeMolecule().

◆ Load()

G4MolecularConfiguration * G4MolecularConfiguration::Load ( std::istream &  in)
static

Definition at line 1436 of file G4MolecularConfiguration.cc.

1437{
1438 return new G4MolecularConfiguration(in);
1439}

◆ MakeExceptionIfFinalized()

void G4MolecularConfiguration::MakeExceptionIfFinalized ( )
protected

Definition at line 114 of file G4MolecularConfiguration.cc.

115{
116 if(fIsFinalized)
117 {
119 errMsg << "This molecular configuration " << GetName()
120 << " is already finalized. Therefore its "
121 " properties cannot be changed.";
122 G4Exception("G4MolecularConfiguration::MakeExceptionIfFinalized",
123 "CONF_FINALIZED",FatalException,errMsg);
124 }
125}
@ FatalException

Referenced by SetDecayTime(), SetDiffusionCoefficient(), SetMass(), and SetVanDerVaalsRadius().

◆ MoveOneElectron()

G4MolecularConfiguration * G4MolecularConfiguration::MoveOneElectron ( G4int  orbitToFree,
G4int  orbitToFill 
) const

Move one electron from an orbit to another.

Definition at line 677 of file G4MolecularConfiguration.cc.

679{
680// MakeExceptionIfFinalized();
681 CheckElectronOccupancy(__func__);
682 G4ElectronOccupancy newElectronOccupancy(*fElectronOccupancy);
683
684 if (newElectronOccupancy.GetOccupancy(orbitToFree) >= 1)
685 {
686 newElectronOccupancy.RemoveElectron(orbitToFree, 1);
687 newElectronOccupancy.AddElectron(orbitToFill, 1);
688 }
689 else
690 {
691 G4String errMsg = "There is no electron on the orbit "
692 + G4UIcommand::ConvertToString(orbitToFree)
693 + " you want to free. The molecule's name is " + GetName();
694 G4Exception("G4MolecularConfiguration::MoveOneElectron",
695 "",
697 errMsg);
698 PrintState();
699 }
700
701 return ChangeConfiguration(newElectronOccupancy);
702}

Referenced by G4Molecule::MoveOneElectron().

◆ operator=()

G4MolecularConfiguration & G4MolecularConfiguration::operator= ( G4MolecularConfiguration right)
protected

Definition at line 576 of file G4MolecularConfiguration.cc.

577{
578// if (&right == this) return *this;
579 return *this;
580}

◆ PrintState()

void G4MolecularConfiguration::PrintState ( ) const

Display the electronic state of the molecule.

Definition at line 751 of file G4MolecularConfiguration.cc.

752{
753 G4cout << "-------------- Start Printing State " << GetName()
754 << " ---------------" << G4endl;
755
757 {
758 G4cout << "--------------Print electronic state of " << GetName()
759 << "---------------" << G4endl;
762 {
763 G4cout<<"At ground state"<<G4endl;
764 }
765 }
766 else
767 {
768 G4cout << "--- No electron occupancy set up ---" << G4endl;
769 }
770
771 G4cout << "Charge :"
772 << fDynCharge
773 << G4endl;
774
775 if(fLabel)
776 {
777 G4cout << "Label :"
778 << GetLabel()
779 << G4endl;
780 }
781 G4cout << "-------------- End Of State " << GetName()
782 << " -----------------------" << G4endl;
783}
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout

Referenced by CreateMolecularConfiguration(), IonizeMolecule(), MoveOneElectron(), G4Molecule::PrintState(), G4MoleculeCounter::RemoveAMoleculeAtTime(), and RemoveElectron().

◆ RemoveElectron()

G4MolecularConfiguration * G4MolecularConfiguration::RemoveElectron ( G4int  orbit,
G4int  number = 1 
) const

Remove n electrons to a given orbit.

Definition at line 648 of file G4MolecularConfiguration.cc.

650{
651// MakeExceptionIfFinalized();
652 CheckElectronOccupancy(__func__);
653 G4ElectronOccupancy newElectronOccupancy(*fElectronOccupancy);
654
655 if (newElectronOccupancy.GetOccupancy(orbit) != 0)
656 {
657 newElectronOccupancy.RemoveElectron(orbit, number);
658 }
659 else
660 {
661 G4String errMsg = "There is already no electron into the orbit "
663 + " you want to free. The molecule's name is " + GetName();
664 G4Exception("G4MolecularConfiguration::RemoveElectron",
665 "",
667 errMsg);
668 PrintState();
669 }
670
671 return ChangeConfiguration(newElectronOccupancy);
672}

Referenced by G4Molecule::RemoveElectron().

◆ ReturnDefaultDiffCoeff()

double G4MolecularConfiguration::ReturnDefaultDiffCoeff ( const G4Material ,
double  ,
const G4MolecularConfiguration molConf 
)
staticprotected

Definition at line 71 of file G4MolecularConfiguration.cc.

75{
76 return molConf->fDynDiffusionCoefficient;
77}

Referenced by CreateDefaultDiffCoeffParam(), and G4MolecularConfiguration().

◆ ScaleAllDiffusionCoefficientsOnWater()

void G4MolecularConfiguration::ScaleAllDiffusionCoefficientsOnWater ( double  temperature_K)
staticprotected

Definition at line 1493 of file G4MolecularConfiguration.cc.

1495{
1496 double D_water_0 = DiffCoeffWater(fgTemperature);
1497 double D_water_f = DiffCoeffWater(temperature_K);
1498
1499 G4cout << "Scaling factor = " << D_water_f/D_water_0 << G4endl;
1500
1503
1504 while(it())
1505 {
1506 G4MolecularConfiguration* conf = it.value();
1507 double D_0 = conf->GetDiffusionCoefficient() ;
1508 double D_f = D_water_f * D_0 /D_water_0;
1509 conf->SetDiffusionCoefficient(D_f);
1510 };
1511}
static double DiffCoeffWater(double temperature_K)
static G4MoleculeTable * Instance()
G4ConfigurationIterator GetConfigurationIterator()

Referenced by SetGlobalTemperature().

◆ Serialize()

void G4MolecularConfiguration::Serialize ( std::ostream &  out)

Definition at line 1386 of file G4MolecularConfiguration.cc.

1387{
1388 G4String moleculeName = fMoleculeDefinition->GetName();
1389 WRITE(out, moleculeName);
1390
1391// if(fLabel)
1392// out << fLabel;
1393// else
1394// out << "";
1397 WRITE(out,fDynDecayTime);
1398 WRITE(out,fDynMass);
1399 WRITE(out,fDynCharge);
1400 WRITE(out,fMoleculeID);
1401 WRITE(out,fFormatedName);
1402 WRITE(out,fName);
1403 WRITE(out,fIsFinalized);
1404}
void WRITE(std::ostream &out, const T &toBeSaved)
Definition: G4Serialize.hh:41

◆ SetDecayTime()

void G4MolecularConfiguration::SetDecayTime ( G4double  dynDecayTime)
inline

Set the decay time of the molecule.

Definition at line 505 of file G4MolecularConfiguration.hh.

506{
508 fDynDecayTime = dynDecayTime;
509}

Referenced by G4MoleculeDefinition::NewConfigurationWithElectronOccupancy().

◆ SetDiffusionCoefficient()

void G4MolecularConfiguration::SetDiffusionCoefficient ( G4double  dynDiffusionCoefficient)
inline

Sets the diffusion coefficient D of the molecule used in diffusion processes to calculate the mean square jump distance between two changes of direction. In three dimension : <x^2> = 6 D t where t is the mean jump time between two changes of direction.

Note : Diffusion Coefficient in one medium only For the time being, we will consider only one diffusion coefficient for the all simulation => diffusion in one medium only If the user needs to use the diffusion in different materials, she/he should contact the developers/maintainers of this package

Definition at line 494 of file G4MolecularConfiguration.hh.

495{
497 fDynDiffusionCoefficient = dynDiffusionCoefficient;
498}

Referenced by G4EmDNAChemistry_option1::ConstructMolecule(), G4EmDNAChemistry_option3::ConstructMolecule(), G4MoleculeTable::CreateConfiguration(), and ScaleAllDiffusionCoefficientsOnWater().

◆ SetGlobalTemperature()

void G4MolecularConfiguration::SetGlobalTemperature ( G4double  temperature)
static

Definition at line 1525 of file G4MolecularConfiguration.cc.

1526{
1528 fgTemperature = temperature;
1529}
static void ScaleAllDiffusionCoefficientsOnWater(double temperature_K)

Referenced by G4DNAChemistryManager::SetGlobalTemperature().

◆ SetLabel()

void G4MolecularConfiguration::SetLabel ( const G4String label)
inline

Definition at line 548 of file G4MolecularConfiguration.hh.

549{
550 assert(fLabel == 0 || *fLabel == "");
551 if(fLabel == 0)
552 {
553 fLabel = new G4String(label);
554 }
555 else
556 {
557 *fLabel = label;
558 }
560}

Referenced by CreateMolecularConfiguration(), and G4MolecularConfiguration().

◆ SetMass()

void G4MolecularConfiguration::SetMass ( G4double  aMass)
inline

◆ SetUserID()

void G4MolecularConfiguration::SetUserID ( const G4String userID)
protected

Definition at line 1473 of file G4MolecularConfiguration.cc.

1474{
1475 fUserIdentifier = userID;
1476 GetManager()->AddUserID(userID, this);
1477// G4MoleculeTable::Instance()->RecordMolecularConfiguration(userID, this);
1478}

Referenced by GetOrCreateMolecularConfiguration().

◆ SetVanDerVaalsRadius()

void G4MolecularConfiguration::SetVanDerVaalsRadius ( G4double  dynVanDerVaalsRadius)
inline

The Van Der Valls Radius of the molecule

Definition at line 516 of file G4MolecularConfiguration.hh.

517{
519 fDynVanDerVaalsRadius = dynVanDerVaalsRadius;
520}

Referenced by G4EmDNAChemistry_option3::ConstructMolecule().

◆ Unserialize()

void G4MolecularConfiguration::Unserialize ( std::istream &  in)

Definition at line 1408 of file G4MolecularConfiguration.cc.

1409{
1410 G4String moleculeName;
1411 READ(in, moleculeName);
1414
1415// G4String label;
1416//
1417// in.read((char*)(&label), sizeof(label));
1418//
1419// if(label)
1420// fLabel = new G4String(label);
1421// else
1422// fLabel = 0;
1425 READ(in,fDynDecayTime);
1426 READ(in,fDynMass);
1427 READ(in,fDynCharge);
1428 READ(in,fMoleculeID);
1429 READ(in,fFormatedName);
1430 READ(in,fName);
1431 READ(in,fIsFinalized);
1432}
void READ(std::istream &in, T &toBeSaved)
Definition: G4Serialize.hh:49
G4MoleculeDefinition * GetMoleculeDefinition(const G4String &, bool mustExist=true)

Referenced by G4MolecularConfiguration().

Member Data Documentation

◆ fDiffParam

G4DiffCoeffParam G4MolecularConfiguration::fDiffParam
protected

◆ fDynCharge

G4int G4MolecularConfiguration::fDynCharge
protected

◆ fDynDecayTime

G4double G4MolecularConfiguration::fDynDecayTime
protected

◆ fDynDiffusionCoefficient

G4double G4MolecularConfiguration::fDynDiffusionCoefficient
protected

◆ fDynMass

G4double G4MolecularConfiguration::fDynMass
protected

◆ fDynVanDerVaalsRadius

G4double G4MolecularConfiguration::fDynVanDerVaalsRadius
protected

◆ fElectronOccupancy

◆ fFormatedName

G4String G4MolecularConfiguration::fFormatedName
protected

◆ fgManager

MolecularConfigurationManager * G4MolecularConfiguration::fgManager = 0
staticprotected

◆ fgTemperature

G4double G4MolecularConfiguration::fgTemperature = 298
staticprotected

◆ fIsFinalized

G4bool G4MolecularConfiguration::fIsFinalized
protected

◆ fLabel

◆ fMoleculeDefinition

◆ fMoleculeID

G4int G4MolecularConfiguration::fMoleculeID
protected

◆ fName

G4String G4MolecularConfiguration::fName
protected

◆ fUserIdentifier

G4String G4MolecularConfiguration::fUserIdentifier
protected

Definition at line 472 of file G4MolecularConfiguration.hh.

Referenced by CreateMolecularConfiguration(), GetUserID(), and SetUserID().


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