Geant4 11.1.1
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 ()
 
void UnFinalize ()
 
void SetUserID (const G4String &userID)
 
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 PrintAll ()
 
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 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:446

◆ 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 1427 of file G4MolecularConfiguration.cc.

1428{
1429 fLabel = 0; // TODO: for now not serialized
1430 Unserialize(in);
1434 {
1439
1440 if(fLabel)
1441 {
1443 }
1444 }
1445 else if(fLabel)
1446 {
1448 }
1449 else if(fDynCharge)
1450 {
1452 }
1453}
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 583 of file G4MolecularConfiguration.hh.

585{
586 fDiffParam = para;
587}

◆ 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 807 of file G4MolecularConfiguration.cc.

808{
809 if (fElectronOccupancy == 0)
810 {
811 G4String functionName(function);
812 G4ExceptionDescription description;
813 description
814 << "No G4ElectronOccupancy was defined for molecule definition : "
816 << ". The definition was probably defined using the charge state, "
817 "rather than electron state.";
818
819 G4Exception(functionName, "", FatalErrorInArgument, description);
820 }
821}
G4double(*)(G4double) function
@ FatalErrorInArgument
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:59
std::ostringstream G4ExceptionDescription
Definition: G4Exception.hh:40

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

◆ CreateDefaultDiffCoeffParam()

void G4MolecularConfiguration::CreateDefaultDiffCoeffParam ( )
protected

Definition at line 1499 of file G4MolecularConfiguration.cc.

1500{
1501 if(bool(fDiffParam) == false)
1502 {
1504 }
1505}

Referenced by Finalize().

◆ CreateMolecularConfiguration() [1/4]

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

Definition at line 1081 of file G4MolecularConfiguration.cc.

1085{
1086 wasAlreadyCreated = false;
1087 G4MolecularConfiguration* preRegisteredMolConf =
1088 GetManager()->GetMolecularConfiguration(userIdentifier);
1089
1090 if(preRegisteredMolConf)
1091 {
1092 if(preRegisteredMolConf->GetDefinition() == molDef)
1093 {
1094 wasAlreadyCreated = true;
1095 return preRegisteredMolConf;
1096 }
1097 }
1098
1100 {
1101 const G4ElectronOccupancy& elecOcc = *molDef
1103 G4MolecularConfiguration* molConf =
1104 GetManager()->GetMolecularConfiguration(molDef, elecOcc);
1105
1106 if(molConf)
1107 {
1108 if(molConf->fUserIdentifier == "")
1109 {
1110 molConf->fUserIdentifier = userIdentifier;
1111 }
1112 else if(molConf->fUserIdentifier != userIdentifier)
1113 {
1115 errMsg << "A molecular configuration for the definition named "
1116 << molDef->GetName() << " has already been created "
1117 "and recorded with a different user ID "
1118 << molConf->fUserIdentifier;
1119 G4Exception("G4MolecularConfiguration::CreateMolecularConfiguration",
1120 "DOUBLE_CREATION",
1122 errMsg);
1123 }
1124// TODO exception
1126 errMsg << "A molecular configuration for the definition named "
1127 << molDef->GetName() << " has already been created.";
1128 G4Exception("G4MolecularConfiguration::CreateMolecularConfiguration",
1129 "DOUBLE_CREATION",
1131 errMsg);
1132 wasAlreadyCreated = true;
1133 return molConf;
1134 }
1135 else
1136 {
1137 // G4cout << "Create molConf for " << molDef->GetName() << G4endl;
1139 elecOcc);
1140 newConf->fUserIdentifier = userIdentifier;
1141
1142 GetManager()->AddUserID(userIdentifier, newConf);
1143
1144// G4MoleculeTable::Instance()->RecordMolecularConfiguration(userIdentifier,
1145// newConf);
1146 return newConf;
1147 }
1148 }
1149 else
1150 {
1151 return CreateMolecularConfiguration(userIdentifier,
1152 molDef,
1153 molDef->GetName(),
1154 molDef->GetCharge(),
1155 wasAlreadyCreated);
1156 }
1157}
@ 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(), G4MoleculeDefinition::NewConfigurationWithElectronOccupancy(), and G4MoleculeTableMessenger::SetNewValue().

◆ CreateMolecularConfiguration() [2/4]

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

Definition at line 1162 of file G4MolecularConfiguration.cc.

1167{
1168 assert(label != "");
1169 wasAlreadyCreated = false;
1170
1171 G4MolecularConfiguration* molConf =
1172 GetManager()->GetMolecularConfiguration(molDef, label);
1173 if(molConf)
1174 {
1175 if(molConf->fLabel
1176 && *molConf->fLabel == label)
1177 {
1178 wasAlreadyCreated = true;
1179 return molConf;
1180 }
1181 else if(molConf->fLabel == 0)
1182 {
1183 wasAlreadyCreated = true;
1184 molConf->SetLabel(label);
1185 return molConf;
1186 }
1187 else if(*molConf->fLabel == "")
1188 {
1189 wasAlreadyCreated = true;
1190 molConf->SetLabel(label);
1191 return molConf;
1192 }
1193
1194 molConf->PrintState();
1195 G4ExceptionDescription errMsg ;
1196 errMsg << "A molecular configuration for the definition named "
1197 << molDef->GetName()
1198 << " has already been created "
1199 "with user ID "
1200 << molConf->fUserIdentifier << " and label "
1201 << molConf->GetLabel();
1202 G4Exception("G4MolecularConfiguration::CreateMolecularConfiguration",
1203 "DOUBLE_CREATION",
1205 errMsg);
1206 // KILL APP
1207 }
1208 else
1209 {
1210 G4MolecularConfiguration* newConf =
1211 new G4MolecularConfiguration(molDef,
1212 label,
1213 molDef->GetCharge());
1214 newConf->fUserIdentifier = userIdentifier;
1215
1216 GetManager()->AddUserID(userIdentifier, newConf);
1217
1218// G4MoleculeTable::Instance()->
1219// RecordMolecularConfiguration(userIdentifier, newConf);
1220 return newConf;
1221 }
1222 return molConf;
1223}
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 1228 of file G4MolecularConfiguration.cc.

1234{
1235 assert(label != "");
1236 wasAlreadyCreated = false;
1237
1238 G4MolecularConfiguration* molConf =
1239 GetManager()->GetMolecularConfiguration(molDef, eOcc);
1240
1241 if(molConf)
1242 {
1243 if(molConf->GetElectronOccupancy())
1244 {
1245 if(*molConf->GetElectronOccupancy() == eOcc)
1246 {
1247 if(molConf->fLabel && *molConf->fLabel == label)
1248 {
1249 wasAlreadyCreated = true;
1250 return molConf;
1251 }
1252 else if(molConf->fLabel == 0)
1253 {
1254 wasAlreadyCreated = true;
1255 molConf->SetLabel(label);
1256 return molConf;
1257 }
1258 else if(*molConf->fLabel == "")
1259 {
1260 wasAlreadyCreated = true;
1261 molConf->SetLabel(label);
1262 return molConf;
1263 }
1264 }
1265 }
1266
1267
1268 molConf->PrintState();
1269 G4ExceptionDescription errMsg ;
1270 errMsg << "A molecular configuration for the definition named "
1271 << molDef->GetName()
1272 << " has already been created "
1273 "with user ID "
1274 << molConf->fUserIdentifier
1275 << " and possible different electronic state";
1276 G4Exception("G4MolecularConfiguration::CreateMolecularConfiguration",
1277 "DOUBLE_CREATION",
1279 errMsg);
1280 }
1281 else
1282 {
1283 G4MolecularConfiguration* newConf =
1284 new G4MolecularConfiguration(molDef,
1285 eOcc,
1286 label);
1287 newConf->fUserIdentifier = userIdentifier;
1288
1289 GetManager()->AddUserID(userIdentifier, newConf);
1290
1291// G4MoleculeTable::Instance()->
1292// RecordMolecularConfiguration(userIdentifier, newConf);
1293 return newConf;
1294 }
1295 return molConf;
1296}
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 989 of file G4MolecularConfiguration.cc.

994{
995 wasAlreadyCreated = false;
996 G4MolecularConfiguration* molConf =
997 GetManager()->GetMolecularConfiguration(molDef, charge);
998
999 if (molConf)
1000 {
1001 if(molConf->fLabel == 0)
1002 {
1003 molConf->SetLabel(label);
1005 wMsg << "The molecular configuration for the definition named "
1006 << molDef->GetName()
1007 << " with charge " << charge << " has already been created "
1008 "but with NO label";
1009 G4Exception("G4MolecularConfiguration::CreateMolecularConfiguration",
1010 "DOUBLE_CREATION",
1012 wMsg);
1013 }
1014 else if(*(molConf->fLabel) == "" )
1015 {
1016 molConf->SetLabel(label);
1017 }
1018 else if(*(molConf->fLabel) != label)
1019 {
1020 G4ExceptionDescription errMsg ;
1021 errMsg << "The molecular configuration for the definition named "
1022 << molDef->GetName()
1023 << " with charge " << charge << " has already been created "
1024 "but with a different label :"
1025 << molConf->GetLabel();
1026 G4Exception("G4MolecularConfiguration::CreateMolecularConfiguration",
1027 "DOUBLE_CREATION",
1029 errMsg);
1030 // KILL APP
1031 }
1032
1033 if(molConf->fUserIdentifier == "")
1034 {
1035 molConf->fUserIdentifier = userIdentifier;
1036
1038 wMsg << "The molecular configuration for the definition named "
1039 << molDef->GetName()
1040 << " with label " << label << " has already been created.";
1041 G4Exception("G4MolecularConfiguration::CreateMolecularConfiguration",
1042 "DOUBLE_CREATION",
1044 wMsg);
1045 }
1046 else if(molConf->fUserIdentifier != userIdentifier)
1047 {
1048 G4ExceptionDescription errMsg ;
1049 errMsg << "The molecular configuration for the definition named "
1050 << molDef->GetName()
1051 << " with label " << label << " has already been created "
1052 "BUT with a different user ID :"
1053 << molConf->fUserIdentifier;
1054 G4Exception("G4MolecularConfiguration::CreateMolecularConfiguration",
1055 "DOUBLE_CREATION",
1057 errMsg);
1058 // KILL APP
1059 }
1060
1061 wasAlreadyCreated = true;
1062 return molConf;
1063 }
1064 else
1065 {
1066 G4MolecularConfiguration* newConf =
1067 new G4MolecularConfiguration(molDef, label, charge);
1068 newConf->fUserIdentifier = userIdentifier;
1069
1070 GetManager()->AddUserID(userIdentifier, newConf);
1071
1072// G4MoleculeTable::Instance()->RecordMolecularConfiguration(userIdentifier,
1073// newConf);
1074 return newConf;
1075 }
1076}

◆ DeleteManager()

void G4MolecularConfiguration::DeleteManager ( )
static

◆ DiffCoeffWater()

double G4MolecularConfiguration::DiffCoeffWater ( double  temperature_K)
static

Definition at line 1466 of file G4MolecularConfiguration.cc.

1467{
1468 return pow(10, 4.311
1469 - 2.722e3/temperature_K
1470 + 8.565e5/(temperature_K *temperature_K)
1471 - 1.181e8/(temperature_K*temperature_K*temperature_K ))*1e-9*m2/s;
1472}

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 572 of file G4MolecularConfiguration.hh.

◆ FinalizeAll()

void G4MolecularConfiguration::FinalizeAll ( )
static

Definition at line 1545 of file G4MolecularConfiguration.cc.

1546{
1547 const std::vector<G4MolecularConfiguration*>& species =
1549
1550 for(std::size_t i = 0; i < species.size() ; ++i)
1551 {
1552 species[i]->Finalize();
1553 }
1554
1555}
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 720 of file G4MolecularConfiguration.cc.

721{
723}

Referenced by G4Molecule::GetAtomsNumber().

◆ GetCharge()

G4int G4MolecularConfiguration::GetCharge ( ) const
inline

Returns the charge of molecule.

Definition at line 529 of file G4MolecularConfiguration.hh.

530{
531 return fDynCharge;
532}

Referenced by G4DNAMolecularReactionData::ComputeEffectiveRadius(), and G4Molecule::GetCharge().

◆ GetDecayTime()

G4double G4MolecularConfiguration::GetDecayTime ( ) const
inline

Returns the decay time of the molecule.

Definition at line 513 of file G4MolecularConfiguration.hh.

514{
515 return fDynDecayTime;
516}

Referenced by G4Molecule::GetDecayTime().

◆ GetDefinition()

◆ GetDiffusionCoefficient() [1/2]

◆ GetDiffusionCoefficient() [2/2]

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

Definition at line 590 of file G4MolecularConfiguration.hh.

592{
593 return fDiffParam(material, temperature, this);
594}

◆ GetDissociationChannels()

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

Definition at line 773 of file G4MolecularConfiguration.cc.

774{
775 // if (fElectronOccupancy == 0) return 0;
777}
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 491 of file G4MolecularConfiguration.hh.

492{
493 return fElectronOccupancy;
494}

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

◆ GetFakeParticleID()

G4int G4MolecularConfiguration::GetFakeParticleID ( ) const

Definition at line 781 of file G4MolecularConfiguration.cc.

782{
784 else G4Exception("G4MolecularConfiguration::GetMoleculeID",
785 "",
787 "You should first enter a molecule definition");
788
789 return INT_MAX;
790}
#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 713 of file G4MolecularConfiguration.cc.

714{
715 return fFormatedName;
716}

Referenced by G4Molecule::GetFormatedName().

◆ GetGlobalTemperature()

G4double G4MolecularConfiguration::GetGlobalTemperature ( )
static

◆ GetLabel()

const G4String & G4MolecularConfiguration::GetLabel ( ) const
inline

Definition at line 564 of file G4MolecularConfiguration.hh.

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

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(), PrintAll(), and SetUserID().

◆ GetMass()

G4double G4MolecularConfiguration::GetMass ( ) const
inline

Returns the total mass of the molecule.

Definition at line 540 of file G4MolecularConfiguration.hh.

541{
542 return fDynMass;
543}

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

◆ GetMolecularConfiguration() [1/3]

◆ GetMolecularConfiguration() [2/3]

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

Definition at line 1538 of file G4MolecularConfiguration.cc.

1539{
1540 return GetManager()->GetMolecularConfiguration(userID);
1541}

◆ GetMolecularConfiguration() [3/3]

G4MolecularConfiguration * G4MolecularConfiguration::GetMolecularConfiguration ( int  moleculeID)
static

Definition at line 981 of file G4MolecularConfiguration.cc.

982{
983 return GetManager()->GetMolecularConfiguration(moleculeID);
984}

◆ GetMoleculeID()

G4int G4MolecularConfiguration::GetMoleculeID ( ) const
inline

◆ GetName()

◆ GetNbElectrons()

G4double G4MolecularConfiguration::GetNbElectrons ( ) const

Returns the number of electron.

Definition at line 727 of file G4MolecularConfiguration.cc.

728{
729 CheckElectronOccupancy(__func__);
731}

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(), G4Molecule::SetElectronOccupancy(), and G4MoleculeTableMessenger::SetNewValue().

◆ 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 578 of file G4MolecularConfiguration.hh.

579{
580 return fUserIdentifier;
581}

◆ 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 1420 of file G4MolecularConfiguration.cc.

1421{
1422 return new G4MolecularConfiguration(in);
1423}

◆ 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}

◆ PrintAll()

void G4MolecularConfiguration::PrintAll ( )
static

Definition at line 1557 of file G4MolecularConfiguration.cc.

1558{
1559 const std::vector<G4MolecularConfiguration*>& species =
1561 G4cout<<G4endl;
1562 G4cout<<"Molecular Config"<<std::setw(25)<<" | Diffusion Coefficient (m2 / s) "<<std::setw(20)<<" | Radius (nm) "<<G4endl;
1563 G4cout<<"__________________________________________"
1564 "___________________________________"<<G4endl;
1565 for(std::size_t i = 0; i < species.size() ; ++i)
1566 {
1567 G4cout<<species[i]->GetName()
1568 <<std::setw(G4int(30 - species[i]->GetName().length()))
1569 <<right<<species[i]->GetDiffusionCoefficient() * 1.0e3<<std::setw(30)
1570 <<species[i]->GetVanDerVaalsRadius()/CLHEP::nm<<G4endl;
1571 G4cout<<"__________________________________________"
1572 "___________________________________"<<G4endl;
1573 }
1574
1575}
int G4int
Definition: G4Types.hh:85
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout

Referenced by G4MoleculeTableMessenger::SetNewValue().

◆ PrintState()

void G4MolecularConfiguration::PrintState ( ) const

Display the electronic state of the molecule.

Definition at line 735 of file G4MolecularConfiguration.cc.

736{
737 G4cout << "-------------- Start Printing State " << GetName()
738 << " ---------------" << G4endl;
739
741 {
742 G4cout << "--------------Print electronic state of " << GetName()
743 << "---------------" << G4endl;
746 {
747 G4cout<<"At ground state"<<G4endl;
748 }
749 }
750 else
751 {
752 G4cout << "--- No electron occupancy set up ---" << G4endl;
753 }
754
755 G4cout << "Charge :"
756 << fDynCharge
757 << G4endl;
758
759 if(fLabel)
760 {
761 G4cout << "Label :"
762 << GetLabel()
763 << G4endl;
764 }
765 G4cout << "-------------- End Of State " << GetName()
766 << " -----------------------" << G4endl;
767}

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 1477 of file G4MolecularConfiguration.cc.

1479{
1480 double D_water_0 = DiffCoeffWater(fgTemperature);
1481 double D_water_f = DiffCoeffWater(temperature_K);
1482
1483 G4cout << "Scaling factor = " << D_water_f/D_water_0 << G4endl;
1484
1487
1488 while(it())
1489 {
1490 G4MolecularConfiguration* conf = it.value();
1491 double D_0 = conf->GetDiffusionCoefficient() ;
1492 double D_f = D_water_f * D_0 /D_water_0;
1493 conf->SetDiffusionCoefficient(D_f);
1494 };
1495}
static double DiffCoeffWater(double temperature_K)
static G4MoleculeTable * Instance()
G4ConfigurationIterator GetConfigurationIterator()

Referenced by SetGlobalTemperature().

◆ Serialize()

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

Definition at line 1370 of file G4MolecularConfiguration.cc.

1371{
1372 G4String moleculeName = fMoleculeDefinition->GetName();
1373 WRITE(out, moleculeName);
1374
1375// if(fLabel)
1376// out << fLabel;
1377// else
1378// out << "";
1381 WRITE(out,fDynDecayTime);
1382 WRITE(out,fDynMass);
1383 WRITE(out,fDynCharge);
1384 WRITE(out,fMoleculeID);
1385 WRITE(out,fFormatedName);
1386 WRITE(out,fName);
1387 WRITE(out,fIsFinalized);
1388}
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 507 of file G4MolecularConfiguration.hh.

508{
510 fDynDecayTime = dynDecayTime;
511}

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 496 of file G4MolecularConfiguration.hh.

497{
499 fDynDiffusionCoefficient = dynDiffusionCoefficient;
500}

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

◆ SetGlobalTemperature()

void G4MolecularConfiguration::SetGlobalTemperature ( G4double  temperature)
static

Definition at line 1509 of file G4MolecularConfiguration.cc.

1510{
1512 fgTemperature = temperature;
1513}
static void ScaleAllDiffusionCoefficientsOnWater(double temperature_K)

Referenced by G4DNAChemistryManager::SetGlobalTemperature().

◆ SetLabel()

void G4MolecularConfiguration::SetLabel ( const G4String label)
inline

Definition at line 550 of file G4MolecularConfiguration.hh.

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

Referenced by CreateMolecularConfiguration(), and G4MolecularConfiguration().

◆ SetMass()

void G4MolecularConfiguration::SetMass ( G4double  aMass)
inline

◆ SetUserID()

void G4MolecularConfiguration::SetUserID ( const G4String userID)

Definition at line 1457 of file G4MolecularConfiguration.cc.

1458{
1459 fUserIdentifier = userID;
1460 GetManager()->AddUserID(userID, this);
1461// G4MoleculeTable::Instance()->RecordMolecularConfiguration(userID, this);
1462}

Referenced by GetOrCreateMolecularConfiguration().

◆ SetVanDerVaalsRadius()

void G4MolecularConfiguration::SetVanDerVaalsRadius ( G4double  dynVanDerVaalsRadius)
inline

The Van Der Valls Radius of the molecule

Definition at line 518 of file G4MolecularConfiguration.hh.

519{
521 fDynVanDerVaalsRadius = dynVanDerVaalsRadius;
522}

Referenced by G4EmDNAChemistry_option3::ConstructMolecule().

◆ UnFinalize()

void G4MolecularConfiguration::UnFinalize ( )
inline

Definition at line 596 of file G4MolecularConfiguration.hh.

597{
598 fIsFinalized = false;
599}

◆ Unserialize()

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

Definition at line 1392 of file G4MolecularConfiguration.cc.

1393{
1394 G4String moleculeName;
1395 READ(in, moleculeName);
1398
1399// G4String label;
1400//
1401// in.read((char*)(&label), sizeof(label));
1402//
1403// if(label)
1404// fLabel = new G4String(label);
1405// else
1406// fLabel = 0;
1409 READ(in,fDynDecayTime);
1410 READ(in,fDynMass);
1411 READ(in,fDynCharge);
1412 READ(in,fMoleculeID);
1413 READ(in,fFormatedName);
1414 READ(in,fName);
1415 READ(in,fIsFinalized);
1416}
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 474 of file G4MolecularConfiguration.hh.

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


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