Geant4  10.01.p03
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...
 
virtual G4ITType GetITSubType () const
 
 G4Molecule (G4MoleculeDefinition *molecule)
 To build a molecule at ground state according to a given G4MoleculeDefinition that can be obtained from G4GenericMoleculeManager. More...
 
 G4Molecule (G4MoleculeDefinition *molDef, int charge)
 
 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...
 
const G4StringGetFormatedName () const
 Returns the formated 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
G4MolecularDissociationChannel * > * 
GetDecayChannel () const
 
G4int GetFakeParticleID () 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
 
virtual const G4ThreeVectorGetPosition () const
 
double operator[] (int i) 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_Base *)
 
void SetParentID (int, int)
 
void GetParentID (int &, int &)
 
const G4ThreeVectorGetPreStepPosition () const
 
G4double GetPreStepLocalTime () const
 
G4double GetPreStepGlobalTime () const
 
G4KDNode_BaseGetNode () const
 
G4TrackingInformationGetTrackingInfo ()
 
G4TrackListNodeGetListNode ()
 
void SetListNode (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 ()
 
static G4MoleculeGetMolecule (const G4Track *)
 

Private Member Functions

 G4Molecule ()
 Default molecule builder. More...
 

Private Attributes

G4MolecularConfigurationfpMolecularConfiguration
 

Static Private Attributes

static double fgTemperature = 310
 

Additional Inherited Members

- Public Types inherited from G4IT
enum  ELimited {
  kDoNot, kUnique, kSharedTransport, kSharedOther,
  kUndefLimited
}
 
- 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 93 of file G4Molecule.hh.

Constructor & Destructor Documentation

G4Molecule::G4Molecule ( const G4Molecule right)

Definition at line 87 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 155 of file G4Molecule.cc.

G4Molecule::G4Molecule ( G4MoleculeDefinition molDef,
int  charge 
)

Definition at line 163 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetMolecularConfiguration().

+ Here is the call graph for this function:

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 175 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 221 of file G4Molecule.cc.

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

+ Here is the call graph for this function:

G4Molecule::~G4Molecule ( )
virtual

Definition at line 136 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 128 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 285 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 
)
void G4Molecule::ExciteMolecule ( G4int  ExcitedLevel)

Method used in Geant4-DNA to excite water molecules.

Definition at line 271 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 313 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 435 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetCharge().

+ Here is the call graph for this function:

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

Definition at line 400 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetDecayChannel().

Referenced by G4DNAMolecularDissociation::DecayIt().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4Molecule::GetDecayTime ( ) const

Returns the decay time of the molecule.

Definition at line 420 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetDecayTime().

Referenced by G4DNAMolecularDissociation::GetMeanLifeTime().

+ Here is the call graph for this function:

+ Here is the caller 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 455 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 465 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetDiffusionCoefficient().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4Molecule::GetDiffusionVelocity ( ) const

Definition at line 378 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 450 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:

G4int G4Molecule::GetFakeParticleID ( ) const

Definition at line 405 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetFakeParticleID().

+ Here is the call graph for this function:

const G4String & G4Molecule::GetFormatedName ( ) const

Returns the formated name of the molecule.

Definition at line 308 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetFormatedName().

+ Here is the call graph for this function:

G4double G4Molecule::GetGlobalTemperature ( )
static

Definition at line 480 of file G4Molecule.cc.

References fgTemperature.

virtual G4ITType G4Molecule::GetITSubType ( ) const
inlinevirtual

Reimplemented from G4IT.

Definition at line 118 of file G4Molecule.hh.

References GetMoleculeID().

+ Here is the call graph for this function:

G4double G4Molecule::GetKineticEnergy ( ) const

Definition at line 368 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 445 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetMass().

+ Here is the call graph for this function:

G4MolecularConfiguration * G4Molecule::GetMolecularConfiguration ( ) const

Definition at line 470 of file G4Molecule.cc.

References fpMolecularConfiguration.

Referenced by G4DNASecondOrderReaction::PostStepGetPhysicalInteractionLength().

+ Here is the caller graph for this function:

G4Molecule * G4Molecule::GetMolecule ( const G4Track track)
static

Definition at line 77 of file G4Molecule.cc.

References GetIT().

+ Here is the call graph for this function:

G4int G4Molecule::GetMoleculeID ( ) const

Definition at line 410 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetMoleculeID().

Referenced by GetITSubType(), and G4MoleculeTable::RecordMoleculeModel().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4Molecule::GetNbElectrons ( ) const

Returns the number of electron.

Definition at line 318 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetNbElectrons().

+ Here is the call graph for this function:

G4double G4Molecule::GetVanDerVaalsRadius ( ) const

Definition at line 430 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 279 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 297 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 288 of file G4Molecule.hh.

References aMoleculeAllocator.

void * G4Molecule::operator new ( size_t  )
inline

Definition at line 280 of file G4Molecule.hh.

References aMoleculeAllocator.

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

Definition at line 109 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 119 of file G4Molecule.cc.

References fpMolecularConfiguration.

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

Definition at line 93 of file G4Molecule.cc.

References fpMolecularConfiguration.

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

Definition at line 100 of file G4Molecule.cc.

References fpMolecularConfiguration.

void G4Molecule::PrintState ( ) const

Show the electronic state of the molecule.

Definition at line 323 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 291 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 415 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 460 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::SetDiffusionCoefficient().

Referenced by G4MoleculeTable::CreateMoleculeModel().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Molecule::SetElectronOccupancy ( const G4ElectronOccupancy occ)

Will set up the correct molecularConfiguration given an electron configuration.

Definition at line 262 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 475 of file G4Molecule.cc.

References fgTemperature.

void G4Molecule::SetMass ( G4double  aMass)

Set the total mass of the molecule.

Definition at line 440 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::SetMass().

Referenced by G4EmDNAChemistry::ConstructMolecule().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Molecule::SetVanDerVaalsRadius ( G4double  dynVanDerVaalsRadius)

The Van Der Valls Radius of the molecule.

Definition at line 425 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 270 of file G4Molecule.hh.

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


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