46 #ifndef G4MolecularConfiguration_ 
   47 #define G4MolecularConfiguration_ 1 
   68     if (totalOcc1 != totalOcc2)
 
   70       return totalOcc1 < totalOcc2;
 
   74       G4int occupancy1 = -1;
 
   75       G4int occupancy2 = -1;
 
   77       for (
G4int i = 0; i < sizeOrbit; i++)
 
   82         if (occupancy1 != occupancy2)
 
   84           return occupancy1 < occupancy2;
 
  132                                  bool& wasAlreadyCreated);
 
  139                                  bool& wasAlreadyCreated);
 
  146                                  bool& wasAlreadyCreated);
 
  152                                  bool& wasAlreadyCreated);
 
  227   const std::vector<const G4MolecularDissociationChannel*>*
 
  252                                           double temperature) 
const;
 
  433     typedef std::map<int,
 
  435     typedef std::map<
const G4MoleculeDefinition*,
 
  442     typedef std::map<
const G4MoleculeDefinition*,
 
  447     typedef std::map<G4String, G4MolecularConfiguration*> 
UserIDTable;
 
  554   assert(fLabel == 0 || *fLabel == 
"");
 
  593                                                   double temperature)
 const 
  595   return fDiffParam(material, temperature, 
this);
 
The pointer G4MolecularConfiguration will be shared by all the molecules having the same molecule def...
 
G4double GetDiffusionCoefficient() const 
Returns the diffusion coefficient D. 
 
void SetLabel(const G4String &)
 
void PrintState() const 
Display the electronic state of the molecule. 
 
G4int GetCharge() const 
Returns the charge of molecule. 
 
static G4MolecularConfiguration * Load(std::istream &)
 
const G4String & GetName() const 
Returns the name of the molecule. 
 
G4int GetTotalOccupancy() const 
 
void Serialize(std::ostream &)
 
~G4MolecularConfiguration()
 
MolChargeConfTable fChargeTable
 
void CreateDefaultDiffCoeffParam()
 
G4double fDynVanDerVaalsRadius
 
G4MolecularConfiguration * ChangeConfiguration(const G4ElectronOccupancy &newElectronOccupancy)
 
G4Mutex fMoleculeCreationMutex
 
static double fgTemperature
 
static G4Mutex fManagerCreationMutex
 
static G4MolecularConfiguration * GetMolecularConfiguration(const G4MoleculeDefinition *, const G4String &label)
 
G4double fDynDiffusionCoefficient
 
void AddUserID(const G4String &name, G4MolecularConfiguration *molecule)
 
std::function< double(const G4Material *, double, const G4MolecularConfiguration *)> G4DiffCoeffParam
 
std::vector< G4MolecularConfiguration * > fMolConfPerID
 
G4double GetNbElectrons() const 
Returns the number of electron. 
 
G4int GetSizeOfOrbit() const 
 
const std::vector< const G4MolecularDissociationChannel * > * GetDecayChannel() const 
 
G4MolecularConfiguration * GetOrCreateMolecularConfiguration(const G4MoleculeDefinition *molDef, const G4ElectronOccupancy &eOcc)
 
const G4String & GetUserID() const 
 
const G4ElectronOccupancy * FindCommonElectronOccupancy(const G4MoleculeDefinition *molDef, const G4ElectronOccupancy &eOcc)
 
const G4ElectronOccupancy * GetElectronOccupancy() const 
Returns the object ElectronOccupancy describing the electronic configuration of the molecule...
 
G4int Insert(const G4MoleculeDefinition *molDef, const G4ElectronOccupancy &eOcc, G4MolecularConfiguration *molConf)
 
void SetUserID(const G4String &userID)
 
G4double(* function)(G4double)
 
G4DiffCoeffParam fDiffParam
 
G4int GetFakeParticleID() const 
 
static G4double GetGlobalTemperature()
 
static std::map< G4String, G4MolecularConfiguration * > & GetUserIDTable()
 
static G4MolecularConfigurationManager * fgManager
 
std::map< G4String, G4MolecularConfiguration * > & GetUserIDTable()
 
bool operator()(const G4ElectronOccupancy &occ1, const G4ElectronOccupancy &occ2) const 
 
static void ScaleAllDiffusionCoefficientsOnWater(double temperature_K)
 
void RecordNewlyLabeledConfiguration(G4MolecularConfiguration *molConf)
 
G4int GetOccupancy(G4int orbit) const 
 
static int GetNumberOfSpecies()
 
G4MolecularConfiguration * IonizeMolecule(G4int)
Method used in Geant4-DNA to ionize water molecules. 
 
G4MolecularConfiguration * AddElectron(G4int orbit, G4int n=1)
Add n electrons to a given orbit. 
 
static void FinalizeAll()
 
void CheckElectronOccupancy(const char *line) const 
 
static double DiffCoeffWater(double temperature_K)
 
int GetNumberOfCreatedSpecies()
 
static void DeleteManager()
 
G4MolecularConfiguration * MoveOneElectron(G4int, G4int)
Move one electron from an orbit to another. 
 
void SetDiffusionCoefficient(G4double)
Sets the diffusion coefficient D of the molecule used in diffusion processes to calculate the mean sq...
 
G4MolecularConfiguration & operator=(G4MolecularConfiguration &right)
 
static void SetGlobalTemperature(G4double)
 
G4MolecularConfigurationManager()
 
static G4MolecularConfigurationManager * GetManager()
 
G4int GetMoleculeID() const 
 
static G4MolecularConfiguration * GetOrCreateMolecularConfiguration(const G4MoleculeDefinition *)
 
static double ReturnDefaultDiffCoeff(const G4Material *, double, const G4MolecularConfiguration *molConf)
 
G4MolecularConfiguration(const G4MoleculeDefinition *, const G4ElectronOccupancy &, const G4String &label="")
 
G4double GetMass() const 
Returns the total mass of the molecule. 
 
MolElectronConfTable fElecOccTable
 
const G4String & GetFormatedName() const 
Returns the formated name of the molecule. 
 
std::map< G4ElectronOccupancy, G4MolecularConfiguration *, comparator > ElectronOccupancyTable
 
void SetMass(G4double)
Set the total mass of the molecule. 
 
MolLabelConfTable fLabelTable
 
void RemoveMolecularConfigurationFromTable(G4MolecularConfiguration *)
 
void SetDecayTime(G4double)
Set the decay time of the molecule. 
 
void SetVanDerVaalsRadius(G4double)
The Van Der Valls Radius of the molecule. 
 
G4int GetAtomsNumber() const 
Returns the nomber of atoms compouning the molecule. 
 
const std::vector< G4MolecularConfiguration * > & GetAllSpecies()
 
const G4MoleculeDefinition * GetDefinition() const 
 
std::map< const G4MoleculeDefinition *, ElectronOccupancyTable > MolElectronConfTable
 
const G4String & GetLabel() const 
 
void Unserialize(std::istream &)
 
G4MolecularConfiguration * GetMolecularConfiguration(const G4MoleculeDefinition *molDef, const G4ElectronOccupancy &eOcc)
 
std::map< G4String, G4MolecularConfiguration * > UserIDTable
 
std::map< const G4MoleculeDefinition *, ChargeTable > MolChargeConfTable
 
G4double GetDecayTime() const 
Returns the decay time of the molecule. 
 
G4MolecularConfiguration * RemoveElectron(G4int, G4int number=1)
Remove n electrons to a given orbit. 
 
std::map< const G4String, G4MolecularConfiguration * > LabelTable
 
const G4ElectronOccupancy * fElectronOccupancy
 
G4MolecularConfiguration * ExciteMolecule(G4int)
Method used in Geant4-DNA to excite water molecules. 
 
~G4MolecularConfigurationManager()
 
void MakeExceptionIfFinalized()
 
const G4MoleculeDefinition * fMoleculeDefinition
 
void AddDiffCoeffParameterization(const G4DiffCoeffParam &)
 
std::map< int, G4MolecularConfiguration * > ChargeTable
 
G4double GetVanDerVaalsRadius() const 
 
static G4MolecularConfiguration * CreateMolecularConfiguration(const G4String &userIdentifier, const G4MoleculeDefinition *, bool &wasAlreadyCreated)
 
std::map< const G4MoleculeDefinition *, std::map< const G4String, G4MolecularConfiguration * > > MolLabelConfTable