84 G4cout <<
"The user track information is a molecule" <<
G4endl;
95 if (&right ==
this)
return *
this;
111 return !(*
this ==
right);
177 G4int OrbitalToFill) :
186 if (OrbitalToFill != 0)
189 dynElectronOccupancy.AddElectron(OrbitalToFill - 1, 1);
193 if (OrbitalToFill == 0)
195 dynElectronOccupancy.RemoveElectron(OrbitalToFree - 1, 1);
201 moleculeDefinition, dynElectronOccupancy);
207 "G4Molecule::G4Molecule(G4MoleculeDefinition * moleculeDefinition, "
208 "G4int OrbitalToFree, G4int OrbitalToFill)",
209 "G4Molecule_wrong_usage_of_constructor",
211 "If you want to use this constructor, the molecule definition has to be "
212 "first defined with electron occupancies");
231 if (Excitation ==
true)
234 dynElectronOccupancy.AddElectron(5, 1);
238 if (Excitation ==
false)
240 dynElectronOccupancy.RemoveElectron(Level, 1);
246 moleculeDefinition, dynElectronOccupancy);
252 "G4Molecule::G4Molecule(G4MoleculeDefinition * moleculeDefinition, "
253 "G4int OrbitalToFree, G4int OrbitalToFill)",
254 "G4Molecule_wrong_usage_of_constructor",
256 "If you want to use this constructor, the molecule definition has to be "
257 "first defined with electron occupancies");
300 orbitToFree, orbitToFill);
334 "A track was already assigned to this molecule");
343 G4double xMomentum = cos(phi) * sin(theta);
344 G4double yMomentum = sin(theta) * sin(phi);
347 G4ThreeVector MomentumDirection(xMomentum, yMomentum, zMomentum);
399 const vector<const G4MolecularDissociationChannel*>*
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.
void SetDiffusionCoefficient(G4double)
Sets the diffusion coefficient D of the molecule used in diffusion processes to calculate the mean sq...
const std::vector< const G4MolecularDissociationChannel * > * GetDecayChannel() const
G4bool operator!=(const G4Molecule &right) const
CLHEP::Hep3Vector G4ThreeVector
G4Molecule()
Default molecule builder.
virtual void AddAMoleculeAtTime(const G4Molecule &, G4double)
G4bool operator<(const G4Molecule &right) const
The two methods below are the most called of the simulation : compare molecules in the MoleculeStackM...
static G4Molecule * GetMolecule(const G4Track *)
G4double GetMass() const
Returns the total mass of the molecule.
void SetMass(G4double)
Set the total mass of the molecule.
G4MolecularConfiguration * fpMolecularConfiguration
G4double GetDiffusionCoefficient() const
Returns the diffusion coefficient D.
static G4MoleculeCounter * GetMoleculeCounter()
G4double GetNbElectrons() const
Returns the number of electron.
G4double GetNbElectrons() const
Returns the number of electron.
const std::vector< const G4MolecularDissociationChannel * > * GetDecayChannel() const
G4MolecularConfiguration * GetMolecularConfiguration() const
const G4ElectronOccupancy * GetElectronOccupancy() const
Returns the object ElectronOccupancy describing the electronic configuration of the molecule...
static G4double GetGlobalTemperature()
G4int GetFakeParticleID() const
const G4String & GetName() const
Returns the name of the molecule.
G4IT * GetIT(const G4Track *track)
void MoveOneElectron(G4int, G4int)
Move one electron from an orbit to another.
G4GLOB_DLL std::ostream G4cout
G4MolecularConfiguration * IonizeMolecule(G4int)
Method used in Geant4-DNA to ionize water molecules.
void SetElectronOccupancy(const G4ElectronOccupancy *)
Will set up the correct molecularConfiguration given an electron configuration.
G4int GetAtomsNumber() const
Returns the nomber of atoms compouning the molecule.
G4MolecularConfiguration * AddElectron(G4int orbit, G4int n=1)
Add n electrons to a given orbit.
G4int GetFakeParticleID() const
ITImp(G4Molecule) G4ThreadLocal G4Allocator< G4Molecule > *aMoleculeAllocator=0
G4Molecule * GetMolecule(const G4Track &track)
void SetVanDerVaalsRadius(G4double)
The Van Der Valls Radius of the molecule.
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...
static G4MolecularConfiguration * GetMolecularConfiguration(const G4MoleculeDefinition *)
G4Molecule & operator=(const G4Molecule &right)
G4double GetGlobalTime() const
G4int GetMoleculeID() const
void IonizeMolecule(G4int)
Method used in Geant4-DNA to ionize water molecules.
const G4MoleculeDefinition * GetDefinition() const
Get molecule definition.
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4Track * BuildTrack(G4double globalTime, const G4ThreeVector &Position)
G4double GetMass() const
Returns the total mass of the molecule.
const G4String & GetFormatedName() const
Returns the formated name of the molecule.
G4int GetCharge() const
Returns the charge of molecule.
const G4String & GetFormatedName() const
Returns the formated name of the molecule.
void SetMass(G4double)
Set the total mass of the molecule.
G4double GetKineticEnergy() const
void RemoveElectron(G4int, G4int number=1)
Remove n electrons to a given orbit.
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.
G4DLLIMPORT G4ThreadLocal G4Allocator< G4Molecule > * aMoleculeAllocator
void PrintState() const
Show the electronic state of the molecule.
const G4MoleculeDefinition * GetDefinition() const
G4double GetDiffusionVelocity() const
Class Description The dynamic molecule holds all the data that change for a molecule It has a pointer...
G4double GetDecayTime() const
Returns the decay time of the molecule.
const G4ElectronOccupancy * GetGroundStateElectronOccupancy() const
const G4ElectronOccupancy * GetElectronOccupancy() const
Returns the object ElectronOccupancy describing the electronic configuration of the molecule...
void SetUserInformation(G4VUserTrackInformation *aValue)
G4MolecularConfiguration * RemoveElectron(G4int, G4int number=1)
Remove n electrons to a given orbit.
G4double GetVanDerVaalsRadius() const
static void SetGlobalTemperature(G4double)
virtual void RemoveAMoleculeAtTime(const G4Molecule &, G4double)
G4double GetDecayTime() const
Returns the decay time of the molecule.
G4MolecularConfiguration * ExciteMolecule(G4int)
Method used in Geant4-DNA to excite water molecules.
virtual void Print() const
void AddElectron(G4int orbit, G4int n=1)
Add n electrons to a given orbit.
G4bool operator==(const G4Molecule &right) const
void SetDecayTime(G4double)
Set the decay time of the molecule.
G4int RemoveElectron(G4int orbit, G4int number=1)
static double fgTemperature
G4double GetVanDerVaalsRadius() const
void ExciteMolecule(G4int)
Method used in Geant4-DNA to excite water molecules.
G4int GetMoleculeID() const