46 #ifndef G4MolecularConfiguration_
47 #define G4MolecularConfiguration_ 1
51 #include <CLHEP/Utility/memory.h>
68 if (totalOcc1 != totalOcc2)
70 return totalOcc1 < totalOcc2;
74 G4int occupancy1 = -1;
75 G4int occupancy2 = -1;
85 if (occupancy1 != occupancy2)
87 return occupancy1 < occupancy2;
92 if (i >= sizeOrbit)
return false;
173 const std::vector<const G4MolecularDissociationChannel*>*
GetDecayChannel()
const;
277 typedef std::map<
const G4MoleculeDefinition*,
The pointer G4MolecularConfiguration will be shared by all the molecules having the same molecule def...
G4double GetDiffusionCoefficient() const
Returns the diffusion coefficient D.
void PrintState() const
Display the electronic state of the molecule.
G4int GetCharge() const
Returns the charge of molecule.
const G4String & GetName() const
Returns the name of the molecule.
G4int GetTotalOccupancy() const
~G4MolecularConfiguration()
G4double fDynVanDerVaalsRadius
MolChargeConfigurationTable fChargeTable
G4MolecularConfiguration * ChangeConfiguration(const G4ElectronOccupancy &newElectronOccupancy)
G4Mutex fMoleculeCreationMutex
G4int SetMolecularConfiguration(const G4MoleculeDefinition *molDef, const G4ElectronOccupancy &eOcc, G4MolecularConfiguration *molConf)
static G4Mutex fManagerCreationMutex
G4double fDynDiffusionCoefficient
G4double GetNbElectrons() const
Returns the number of electron.
G4int GetSizeOfOrbit() const
const std::vector< const G4MolecularDissociationChannel * > * GetDecayChannel() 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...
std::map< const G4MoleculeDefinition *, std::map< int, G4MolecularConfiguration *, comparator > > MolChargeConfigurationTable
G4int GetFakeParticleID() const
static G4MolecularConfigurationManager * fgManager
bool operator()(const G4ElectronOccupancy &occ1, const G4ElectronOccupancy &occ2) const
G4int GetOccupancy(G4int orbit) const
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.
MolecularConfigurationTable fTable
void CheckElectronOccupancy(const char *line) const
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)
G4MolecularConfigurationManager()
static G4MolecularConfiguration * GetMolecularConfiguration(const G4MoleculeDefinition *)
static G4MolecularConfigurationManager * GetManager()
G4int GetMoleculeID() const
G4double GetMass() const
Returns the total mass of the molecule.
const G4String & GetFormatedName() const
Returns the formated name of the molecule.
void SetMass(G4double)
Set the total mass of the molecule.
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 G4MoleculeDefinition * GetDefinition() const
std::map< const G4MoleculeDefinition *, std::map< G4ElectronOccupancy, G4MolecularConfiguration *, comparator > > MolecularConfigurationTable
G4MolecularConfiguration(const G4MoleculeDefinition *, const G4ElectronOccupancy &)
G4MolecularConfiguration * GetMolecularConfiguration(const G4MoleculeDefinition *molDef, const G4ElectronOccupancy &eOcc)
G4double GetDecayTime() const
Returns the decay time of the molecule.
G4MolecularConfiguration * RemoveElectron(G4int, G4int number=1)
Remove n electrons to a given orbit.
const G4ElectronOccupancy * fElectronOccupancy
G4MolecularConfiguration * ExciteMolecule(G4int)
Method used in Geant4-DNA to excite water molecules.
~G4MolecularConfigurationManager()
const G4MoleculeDefinition * fMoleculeDefinition
G4double GetVanDerVaalsRadius() const