Geant4  10.00.p02
G4Molecule Class Reference

Class Description The dynamic molecule holds all the data that change for a molecule It has a pointer to G4MoleculeDefinition object, which holds all the "ground level" information. More...

#include <G4Molecule.hh>

+ Inheritance diagram for G4Molecule:
+ Collaboration diagram for G4Molecule:

Public Member Functions

 ITDef (G4Molecule) void Print() const
 
void * operator new (size_t)
 
void operator delete (void *)
 
 G4Molecule (const G4Molecule &)
 
G4Moleculeoperator= (const G4Molecule &right)
 
G4bool operator== (const G4Molecule &right) const
 
G4bool operator!= (const G4Molecule &right) const
 
G4bool operator< (const G4Molecule &right) const
 The two methods below are the most called of the simulation : compare molecules in the MoleculeStackManager or in the InteractionTable. More...
 
 G4Molecule (G4MoleculeDefinition *molecule)
 To build a molecule at ground state according to a given G4MoleculeDefinition that can be obtained from G4GenericMoleculeManager. More...
 
 G4Molecule (G4MoleculeDefinition *molecule, G4int, G4int)
 To build a molecule at a specific excitation/ionisation state according to a ground state that can be obtained from G4GenericMoleculeManager. More...
 
 G4Molecule (G4MoleculeDefinition *molecule, G4int, G4bool)
 Specific builder for water molecules to be used in Geant4-DNA, the last option Excitation is true if the molecule is excited, is false is the molecule is ionized. More...
 
virtual ~G4Molecule ()
 
const G4StringGetName () const
 Returns the name of the molecule. More...
 
G4int GetAtomsNumber () const
 Returns the nomber of atoms compouning the molecule. More...
 
void SetElectronOccupancy (const G4ElectronOccupancy *)
 Will set up the correct molecularConfiguration given an electron configuration. More...
 
void ExciteMolecule (G4int)
 Method used in Geant4-DNA to excite water molecules. More...
 
void IonizeMolecule (G4int)
 Method used in Geant4-DNA to ionize water molecules. More...
 
void AddElectron (G4int orbit, G4int n=1)
 Add n electrons to a given orbit. More...
 
void RemoveElectron (G4int, G4int number=1)
 Remove n electrons to a given orbit. More...
 
void MoveOneElectron (G4int, G4int)
 Move one electron from an orbit to another. More...
 
G4double GetNbElectrons () const
 Returns the number of electron. More...
 
void PrintState () const
 Show the electronic state of the molecule. More...
 
G4TrackBuildTrack (G4double globalTime, const G4ThreeVector &Position)
 
G4double GetKineticEnergy () const
 
G4double GetDiffusionVelocity () const
 
const std::vector< const
G4MolecularDecayChannel * > * 
GetDecayChannel () const
 
G4int GetMoleculeID () const
 
const G4MoleculeDefinitionGetDefinition () const
 Get molecule definition. More...
 
void SetDiffusionCoefficient (G4double)
 Sets the diffusion coefficient D of the molecule used in diffusion processes to calculate the mean square jump distance between two changes of direction. More...
 
G4double GetDiffusionCoefficient () const
 Returns the diffusion coefficient D. More...
 
void SetDecayTime (G4double)
 Set the decay time of the molecule. More...
 
G4double GetDecayTime () const
 Returns the decay time of the molecule. More...
 
void SetVanDerVaalsRadius (G4double)
 The Van Der Valls Radius of the molecule. More...
 
G4double GetVanDerVaalsRadius () const
 
const G4ElectronOccupancyGetElectronOccupancy () const
 Returns the object ElectronOccupancy describing the electronic configuration of the molecule. More...
 
G4int GetCharge () const
 Returns the charge of molecule. More...
 
void SetMass (G4double)
 Set the total mass of the molecule. More...
 
G4double GetMass () const
 Returns the total mass of the molecule. More...
 
G4MolecularConfigurationGetMolecularConfiguration () const
 
- Public Member Functions inherited from G4IT
 G4IT ()
 
 G4IT (G4Track *)
 
virtual ~G4IT ()
 
void * operator new (size_t)
 
void operator delete (void *aIT)
 
virtual void Print () const
 
virtual G4bool diff (const G4IT &right) const =0
 
virtual G4bool equal (const G4IT &right) const =0
 
G4bool operator< (const G4IT &right) const
 
G4bool operator== (const G4IT &right) const
 
G4bool operator!= (const G4IT &right) const
 
void SetTrack (G4Track *)
 
G4TrackGetTrack ()
 
const G4TrackGetTrack () const
 
void RecordCurrentPositionNTime ()
 
void SetPrevious (G4IT *)
 
void SetNext (G4IT *)
 
G4ITGetPrevious ()
 
G4ITGetNext ()
 
const G4ITGetPrevious () const
 
const G4ITGetNext () const
 
void SetITBox (G4ITBox *)
 
const G4ITBoxGetITBox () const
 
void TakeOutBox ()
 
void SetNode (G4KDNode *)
 
void SetParentID (int, int)
 
void GetParentID (int &, int &)
 
const G4ThreeVectorGetPreStepPosition () const
 
G4double GetPreStepLocalTime () const
 
G4double GetPreStepGlobalTime () const
 
G4KDNodeGetNode () const
 
G4TrackingInformationGetTrackingInfo ()
 
G4TrackListNodeGetTrackListNode ()
 
void SetTrackListNode (G4TrackListNode *node)
 
virtual const G4ITType GetITType () const =0
 
- Public Member Functions inherited from G4VUserTrackInformation
 G4VUserTrackInformation ()
 
 G4VUserTrackInformation (const G4String &infoType)
 
 G4VUserTrackInformation (const G4VUserTrackInformation &)
 
G4VUserTrackInformationoperator= (const G4VUserTrackInformation &)
 
virtual ~G4VUserTrackInformation ()
 
const G4StringGetType () const
 

Static Public Member Functions

static void SetGlobalTemperature (G4double)
 
static G4double GetGlobalTemperature ()
 

Private Member Functions

bool CompareElectronOccupancy (const G4ElectronOccupancy *, const G4int &, const G4int &) const
 
 G4Molecule ()
 Default molecule builder. More...
 

Private Attributes

G4MolecularConfigurationfpMolecularConfiguration
 

Static Private Attributes

static double fgTemperature = 310
 

Additional Inherited Members

- Protected Member Functions inherited from G4IT
 G4IT (const G4IT &)
 
G4IToperator= (const G4IT &)
 
- Protected Attributes inherited from G4IT
G4TrackfpTrack
 
- Protected Attributes inherited from G4VUserTrackInformation
G4StringpType
 

Detailed Description

Class Description The dynamic molecule holds all the data that change for a molecule It has a pointer to G4MoleculeDefinition object, which holds all the "ground level" information.

Definition at line 76 of file G4Molecule.hh.

Constructor & Destructor Documentation

G4Molecule::G4Molecule ( const G4Molecule right)

Definition at line 82 of file G4Molecule.cc.

References fpMolecularConfiguration.

G4Molecule::G4Molecule ( G4MoleculeDefinition molecule)

To build a molecule at ground state according to a given G4MoleculeDefinition that can be obtained from G4GenericMoleculeManager.

Build a molecule at ground state according to a given G4MoleculeDefinition that can be obtained from G4GenericMoleculeManager.

Definition at line 149 of file G4Molecule.cc.

G4Molecule::G4Molecule ( G4MoleculeDefinition moleculeDefinition,
G4int  OrbitalToFree,
G4int  OrbitalToFill 
)

To build a molecule at a specific excitation/ionisation state according to a ground state that can be obtained from G4GenericMoleculeManager.

Build a molecule at a specific excitation/ionisation state according to a ground state that can be obtained from G4GenericMoleculeManager.

Put 0 in the second option if this is a ionisation.

Definition at line 161 of file G4Molecule.cc.

G4Molecule::G4Molecule ( G4MoleculeDefinition molecule,
G4int  Level,
G4bool  Excitation 
)

Specific builder for water molecules to be used in Geant4-DNA, the last option Excitation is true if the molecule is excited, is false is the molecule is ionized.

Definition at line 188 of file G4Molecule.cc.

References fpMolecularConfiguration, G4MoleculeDefinition::GetGroundStateElectronOccupancy(), G4MolecularConfiguration::GetMolecularConfiguration(), and G4ElectronOccupancy::RemoveElectron().

+ Here is the call graph for this function:

G4Molecule::~G4Molecule ( )
virtual

Definition at line 130 of file G4Molecule.cc.

References fpMolecularConfiguration, G4IT::fpTrack, G4Track::GetGlobalTime(), G4MoleculeCounter::GetMoleculeCounter(), and G4MoleculeCounter::RemoveAMoleculeAtTime().

+ Here is the call graph for this function:

G4Molecule::G4Molecule ( )
private

Default molecule builder.

Definition at line 123 of file G4Molecule.cc.

Member Function Documentation

void G4Molecule::AddElectron ( G4int  orbit,
G4int  n = 1 
)

Add n electrons to a given orbit.

Note : You can add as many electrons to a given orbit, the result may be unrealist.

Definition at line 228 of file G4Molecule.cc.

References G4MolecularConfiguration::AddElectron(), and fpMolecularConfiguration.

+ Here is the call graph for this function:

G4Track * G4Molecule::BuildTrack ( G4double  globalTime,
const G4ThreeVector Position 
)

Definition at line 263 of file G4Molecule.cc.

References G4MoleculeCounter::AddAMoleculeAtTime(), FatalErrorInArgument, fpMolecularConfiguration, G4IT::fpTrack, G4Exception(), G4UniformRand, G4MolecularConfiguration::GetDefinition(), GetKineticEnergy(), G4MoleculeCounter::GetMoleculeCounter(), G4MoleculeCounter::InUse(), and G4INCL::Math::pi.

Referenced by G4DNAChemistryManager::CreateSolvatedElectron(), G4DNAChemistryManager::CreateWaterMolecule(), G4DNAMolecularDissociation::DecayIt(), G4DNAMolecularReaction::MakeReaction(), G4DNAChemistryManager::PushMolecule(), and G4DNAChemistryManager::PushMoleculeAtParentTimeAndPlace().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool G4Molecule::CompareElectronOccupancy ( const G4ElectronOccupancy ,
const G4int ,
const G4int  
) const
private
void G4Molecule::ExciteMolecule ( G4int  ExcitedLevel)

Method used in Geant4-DNA to excite water molecules.

Definition at line 216 of file G4Molecule.cc.

References G4MolecularConfiguration::ExciteMolecule(), and fpMolecularConfiguration.

+ Here is the call graph for this function:

G4int G4Molecule::GetAtomsNumber ( ) const

Returns the nomber of atoms compouning the molecule.

Definition at line 248 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetAtomsNumber().

+ Here is the call graph for this function:

G4int G4Molecule::GetCharge ( ) const

Returns the charge of molecule.

Definition at line 359 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetCharge().

+ Here is the call graph for this function:

const vector< const G4MolecularDecayChannel * > * G4Molecule::GetDecayChannel ( ) const

Definition at line 329 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetDecayChannel().

+ Here is the call graph for this function:

G4double G4Molecule::GetDecayTime ( ) const

Returns the decay time of the molecule.

Definition at line 344 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetDecayTime().

+ Here is the call graph for this function:

const G4MoleculeDefinition * G4Molecule::GetDefinition ( ) const

Get molecule definition.

This G4MoleculeDefinition has the ground electronic state of the molecule.

Definition at line 379 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetDefinition().

Referenced by G4MoleculeCounter::AddAMoleculeAtTime(), G4DNAMolecularDissociation::DecayIt(), G4DNAWaterDissociationDisplacer::GetProductsDisplacement(), and G4MoleculeCounter::RemoveAMoleculeAtTime().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4Molecule::GetDiffusionCoefficient ( ) const

Returns the diffusion coefficient D.

Definition at line 389 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetDiffusionCoefficient().

Referenced by G4DNABrownianTransportation::AlongStepGetPhysicalInteractionLength(), G4DNABrownianTransportation::ComputeStep(), G4DNASmoluchowskiReactionModel::FindReaction(), G4DNAMolecularReactionData::G4DNAMolecularReactionData(), G4DNAMolecularReaction::MakeReaction(), and G4DNAMoleculeEncounterStepper::RetrieveResults().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4Molecule::GetDiffusionVelocity ( ) const

Definition at line 308 of file G4Molecule.cc.

References fgTemperature, fpMolecularConfiguration, and G4MolecularConfiguration::GetMass().

Referenced by GetKineticEnergy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const G4ElectronOccupancy * G4Molecule::GetElectronOccupancy ( ) const

Returns the object ElectronOccupancy describing the electronic configuration of the molecule.

Definition at line 374 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetElectronOccupancy().

Referenced by G4DNAMolecularDissociation::DecayIt().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4Molecule::GetGlobalTemperature ( )
static

Definition at line 404 of file G4Molecule.cc.

References fgTemperature.

G4double G4Molecule::GetKineticEnergy ( ) const

Definition at line 298 of file G4Molecule.cc.

References fpMolecularConfiguration, GetDiffusionVelocity(), and G4MolecularConfiguration::GetMass().

Referenced by BuildTrack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4Molecule::GetMass ( ) const

Returns the total mass of the molecule.

Definition at line 369 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetMass().

+ Here is the call graph for this function:

G4MolecularConfiguration * G4Molecule::GetMolecularConfiguration ( ) const

Definition at line 394 of file G4Molecule.cc.

References fpMolecularConfiguration.

Referenced by G4DNASecondOrderReaction::PostStepGetPhysicalInteractionLength().

+ Here is the caller graph for this function:

G4int G4Molecule::GetMoleculeID ( ) const

Definition at line 334 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetMoleculeID().

+ Here is the call graph for this function:

G4double G4Molecule::GetNbElectrons ( ) const

Returns the number of electron.

Definition at line 253 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetNbElectrons().

+ Here is the call graph for this function:

G4double G4Molecule::GetVanDerVaalsRadius ( ) const

Definition at line 354 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetVanDerVaalsRadius().

+ Here is the call graph for this function:

void G4Molecule::IonizeMolecule ( G4int  IonizedLevel)

Method used in Geant4-DNA to ionize water molecules.

Definition at line 223 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::IonizeMolecule().

+ Here is the call graph for this function:

G4Molecule::ITDef ( G4Molecule  ) const
void G4Molecule::MoveOneElectron ( G4int  orbitToFree,
G4int  orbitToFill 
)

Move one electron from an orbit to another.

Definition at line 238 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::MoveOneElectron().

+ Here is the call graph for this function:

void G4Molecule::operator delete ( void *  aMolecule)
inline

Definition at line 261 of file G4Molecule.hh.

References aMoleculeAllocator.

void * G4Molecule::operator new ( size_t  )
inline

Definition at line 253 of file G4Molecule.hh.

References aMoleculeAllocator.

G4bool G4Molecule::operator!= ( const G4Molecule right) const

Definition at line 104 of file G4Molecule.cc.

References right.

G4bool G4Molecule::operator< ( const G4Molecule right) const

The two methods below are the most called of the simulation : compare molecules in the MoleculeStackManager or in the InteractionTable.

Definition at line 114 of file G4Molecule.cc.

References fpMolecularConfiguration.

G4Molecule & G4Molecule::operator= ( const G4Molecule right)

Definition at line 88 of file G4Molecule.cc.

References fpMolecularConfiguration.

G4bool G4Molecule::operator== ( const G4Molecule right) const

Definition at line 95 of file G4Molecule.cc.

References fpMolecularConfiguration.

void G4Molecule::PrintState ( ) const

Show the electronic state of the molecule.

Definition at line 258 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::PrintState().

Referenced by G4MoleculeCounter::RemoveAMoleculeAtTime().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Molecule::RemoveElectron ( G4int  orbit,
G4int  number = 1 
)

Remove n electrons to a given orbit.

Definition at line 233 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::RemoveElectron().

+ Here is the call graph for this function:

void G4Molecule::SetDecayTime ( G4double  dynDecayTime)

Set the decay time of the molecule.

Definition at line 339 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::SetDecayTime().

+ Here is the call graph for this function:

void G4Molecule::SetDiffusionCoefficient ( G4double  dynDiffusionCoefficient)

Sets the diffusion coefficient D of the molecule used in diffusion processes to calculate the mean square jump distance between two changes of direction.

In three dimension : <x^2> = 6 D t where t is the mean jump time between two changes of direction.

Definition at line 384 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::SetDiffusionCoefficient().

+ Here is the call graph for this function:

void G4Molecule::SetElectronOccupancy ( const G4ElectronOccupancy occ)

Will set up the correct molecularConfiguration given an electron configuration.

Definition at line 209 of file G4Molecule.cc.

References fpMolecularConfiguration, G4MolecularConfiguration::GetDefinition(), and G4MolecularConfiguration::GetMolecularConfiguration().

+ Here is the call graph for this function:

void G4Molecule::SetGlobalTemperature ( G4double  temperature)
static

Definition at line 399 of file G4Molecule.cc.

References fgTemperature.

void G4Molecule::SetMass ( G4double  aMass)

Set the total mass of the molecule.

Definition at line 364 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::SetMass().

+ Here is the call graph for this function:

void G4Molecule::SetVanDerVaalsRadius ( G4double  dynVanDerVaalsRadius)

The Van Der Valls Radius of the molecule.

Definition at line 349 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::SetVanDerVaalsRadius().

+ Here is the call graph for this function:

Member Data Documentation

G4double G4Molecule::fgTemperature = 310
staticprivate

Definition at line 241 of file G4Molecule.hh.

Referenced by GetDiffusionVelocity(), GetGlobalTemperature(), and SetGlobalTemperature().


The documentation for this class was generated from the following files: