92 G4cout <<
"The user track information is a molecule" <<
G4endl;
107 if (&right ==
this)
return *
this;
127 return !(*
this ==
right);
197 G4int OrbitalToFill) :
206 if (OrbitalToFill != 0)
209 dynElectronOccupancy.AddElectron(OrbitalToFill - 1, 1);
213 if (OrbitalToFill == 0)
215 dynElectronOccupancy.RemoveElectron(OrbitalToFree - 1, 1);
221 moleculeDefinition, dynElectronOccupancy);
227 "G4Molecule::G4Molecule(G4MoleculeDefinition * moleculeDefinition, "
228 "G4int OrbitalToFree, G4int OrbitalToFill)",
229 "G4Molecule_wrong_usage_of_constructor",
231 "If you want to use this constructor, the molecule definition has to be "
232 "first defined with electron occupancies");
252 if (Excitation ==
true)
255 dynElectronOccupancy.AddElectron(5, 1);
259 if (Excitation ==
false)
261 dynElectronOccupancy.RemoveElectron(Level, 1);
267 moleculeDefinition, dynElectronOccupancy);
273 "G4Molecule::G4Molecule(G4MoleculeDefinition * moleculeDefinition, "
274 "G4int OrbitalToFree, G4int OrbitalToFill)",
275 "G4Molecule_wrong_usage_of_constructor",
277 "If you want to use this constructor, the molecule definition has to be "
278 "first defined with electron occupancies");
340 orbitToFree, orbitToFill);
386 "A track was already assigned to this molecule");
395 G4double xMomentum = cos(phi) * sin(theta);
396 G4double yMomentum = sin(theta) * sin(phi);
399 G4ThreeVector MomentumDirection(xMomentum, yMomentum, zMomentum);
445 return sqrt(3 * k_Boltzmann *
457 const vector<const G4MolecularDissociationChannel*>*
557 double temperature)
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 SetLabel(const G4String &)
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.
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.
void SetLabel(const G4String &label)
static G4MolecularConfiguration * GetMolecularConfiguration(const G4MoleculeDefinition *, const G4String &label)
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
virtual void RemoveAMoleculeAtTime(G4MolecularConfiguration *, G4double time, int number=1)
G4MolecularConfiguration * GetMolecularConfiguration() const
const G4ElectronOccupancy * GetElectronOccupancy() const
Returns the object ElectronOccupancy describing the electronic configuration of the molecule...
G4int GetFakeParticleID() const
static G4double GetGlobalTemperature()
void ChangeConfigurationToLabel(const G4String &label)
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.
const G4String & GetLabel() const
Returns the label of the molecule configuration.
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
G4ThreadLocal/G4double G4Molecule::fgTemperature = 310; // 310*kelvin;
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...
virtual void AddAMoleculeAtTime(G4MolecularConfiguration *, G4double time, int number=1)
G4Molecule & operator=(const G4Molecule &right)
G4double GetGlobalTime() const
G4int GetMoleculeID() const
void IonizeMolecule(G4int)
Method used in Geant4-DNA to ionize water molecules.
static G4MolecularConfiguration * GetOrCreateMolecularConfiguration(const G4MoleculeDefinition *)
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
const G4String & GetLabel() 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
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)
G4double GetVanDerVaalsRadius() const
void ExciteMolecule(G4int)
Method used in Geant4-DNA to excite water molecules.
G4int GetMoleculeID() const