39 #ifndef G4MolecularConfiguration_
40 #define G4MolecularConfiguration_ 1
44 #include <CLHEP/Utility/memory.h>
61 if ( totalOcc1!= totalOcc2)
63 return totalOcc1<totalOcc2;
67 G4int occupancy1 = -1 ;
68 G4int occupancy2 = -1 ;
78 if (occupancy1 != occupancy2)
80 return occupancy1 < occupancy2;
85 if (i >= sizeOrbit)
return false;
158 const std::vector <const G4MolecularDecayChannel*>*
GetDecayChannel()
const;
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
G4MolecularConfiguration * ChangeConfiguration(const G4ElectronOccupancy &newElectronOccupancy)
static G4MolecularConfiguration * GetMolecularConfiguration(const G4MoleculeDefinition *, const G4ElectronOccupancy &electronOccupancy)
G4double fDynDiffusionCoefficient
G4double GetNbElectrons() const
Returns the number of electron.
G4int GetSizeOfOrbit() const
const G4ElectronOccupancy * GetElectronOccupancy() const
Returns the object ElectronOccupancy describing the electronic configuration of the molecule...
const std::vector< const G4MolecularDecayChannel * > * GetDecayChannel() const
MolecularConfigurationTable fTable
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.
std::map< const G4MoleculeDefinition *, std::map< G4ElectronOccupancy, G4MolecularConfiguration *, comparator > > MolecularConfigurationTable
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 G4MolecularConfigurationManager * GetManager()
G4int GetMoleculeID() const
G4MolecularConfigurationManager()
G4double GetMass() const
Returns the total mass of the molecule.
static G4ThreadLocal G4MolecularConfigurationManager * fgManager
void SetMass(G4double)
Set the total mass of the molecule.
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
G4MolecularConfiguration(const G4MoleculeDefinition *, const G4ElectronOccupancy &)
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.
const G4MoleculeDefinition * fMoleculeDefinition
G4double GetVanDerVaalsRadius() const