Geant4  10.03
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...
 
 operator int () const
 
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...
 
 G4Molecule (G4MolecularConfiguration *)
 
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...
 
G4double GetDiffusionCoefficient (const G4Material *, double temperature) 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...
 
const G4StringGetLabel () const
 Returns the label of the molecule configuration. More...
 
void SetLabel (const G4String &label)
 
void ChangeConfigurationToLabel (const G4String &label)
 
G4MolecularConfigurationGetMolecularConfiguration () const
 
- Public Member Functions inherited from G4IT
 G4IT ()
 
 G4IT (G4Track *)
 
virtual ~G4IT ()
 
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 ()
 
const G4ThreeVectorGetPosition () const
 
double operator[] (int i) const
 
const G4ThreeVectorGetPreStepPosition () const
 
G4double GetPreStepLocalTime () const
 
G4double GetPreStepGlobalTime () const
 
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 *)
 
G4KDNode_BaseGetNode () const
 
void SetParentID (int, int)
 
void GetParentID (int &, int &)
 
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 G4MoleculeGetMolecule (const G4Track *)
 

Private Member Functions

 G4Molecule ()
 Default molecule builder. More...
 

Private Attributes

G4MolecularConfigurationfpMolecularConfiguration
 

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 94 of file G4Molecule.hh.

Constructor & Destructor Documentation

G4Molecule::G4Molecule ( const G4Molecule right)

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

G4Molecule::G4Molecule ( G4MoleculeDefinition molDef,
int  charge 
)

Definition at line 185 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetOrCreateMolecularConfiguration().

+ 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 199 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 246 of file G4Molecule.cc.

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

+ Here is the call graph for this function:

G4Molecule::G4Molecule ( G4MolecularConfiguration molConf)

Definition at line 289 of file G4Molecule.cc.

References fpMolecularConfiguration.

G4Molecule::~G4Molecule ( )
virtual

Definition at line 153 of file G4Molecule.cc.

References fpMolecularConfiguration, G4IT::fpTrack, G4Track::GetGlobalTime(), G4Track::GetPosition(), and G4VMoleculeCounter::Instance().

+ Here is the call graph for this function:

G4Molecule::G4Molecule ( )
private

Default molecule builder.

Definition at line 144 of file G4Molecule.cc.

References fpMolecularConfiguration.

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 325 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 384 of file G4Molecule.cc.

References FatalErrorInArgument, fpMolecularConfiguration, G4IT::fpTrack, G4Exception(), G4UniformRand, G4MolecularConfiguration::GetDefinition(), GetKineticEnergy(), G4Track::GetPosition(), G4VMoleculeCounter::Instance(), G4VMoleculeCounter::InUse(), pi, and G4Track::SetUserInformation().

Referenced by G4MoleculeGun::BuildAndPushTrack(), 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:

void G4Molecule::ChangeConfigurationToLabel ( const G4String label)

Definition at line 604 of file G4Molecule.cc.

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

Referenced by G4DNAElectronHoleRecombination::MakeReaction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Molecule::ExciteMolecule ( G4int  ExcitedLevel)

Method used in Geant4-DNA to excite water molecules.

Definition at line 307 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 363 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 511 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 462 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 490 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 539 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetDefinition().

Referenced by G4DNAMolecularDissociation::DecayIt().

+ 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 553 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetDiffusionCoefficient().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4Molecule::GetDiffusionCoefficient ( const G4Material mat,
double  temperature 
) const

Returns the diffusion coefficient D.

Definition at line 560 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetDiffusionCoefficient().

+ Here is the call graph for this function:

G4double G4Molecule::GetDiffusionVelocity ( ) const

Definition at line 437 of file G4Molecule.cc.

References fpMolecularConfiguration, G4MolecularConfiguration::GetGlobalTemperature(), 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 532 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetElectronOccupancy().

+ Here is the call graph for this function:

G4int G4Molecule::GetFakeParticleID ( ) const

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

References fpMolecularConfiguration, and G4MolecularConfiguration::GetFormatedName().

+ Here is the call graph for this function:

virtual G4ITType G4Molecule::GetITSubType ( ) const
inlinevirtual

Reimplemented from G4IT.

Definition at line 124 of file G4Molecule.hh.

References GetMoleculeID().

+ Here is the call graph for this function:

G4double G4Molecule::GetKineticEnergy ( ) const

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

const G4String & G4Molecule::GetLabel ( ) const

Returns the label of the molecule configuration.

Definition at line 590 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetLabel().

+ Here is the call graph for this function:

G4double G4Molecule::GetMass ( ) const

Returns the total mass of the molecule.

Definition at line 525 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetMass().

+ Here is the call graph for this function:

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

Definition at line 83 of file G4Molecule.cc.

References GetIT().

+ Here is the call graph for this function:

G4int G4Molecule::GetMoleculeID ( ) const

Definition at line 476 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetMoleculeID().

Referenced by G4DNAElectronHoleRecombination::FindReactant(), GetITSubType(), and operator int().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const G4String & G4Molecule::GetName ( void  ) const
virtual

Returns the name of the molecule.

Implements G4IT.

Definition at line 349 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetName().

Referenced by G4DNAMoleculeEncounterStepper::CalculateStep(), G4DNAMoleculeEncounterStepper::CheckAndRecordResults(), G4DNABrownianTransportation::ComputeStep(), G4DNAMolecularDissociation::DecayIt(), G4DNABrownianTransportation::Diffusion(), G4DNASmoluchowskiReactionModel::FindReaction(), G4DNASecondOrderReaction::PostStepDoIt(), G4DNABrownianTransportation::PostStepDoIt(), G4DNAIndirectHit::Print(), G4DNAChemistryManager::PushMolecule(), and G4DNAChemistryManager::PushMoleculeAtParentTimeAndPlace().

+ 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 370 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::GetNbElectrons().

+ Here is the call graph for this function:

G4double G4Molecule::GetVanDerVaalsRadius ( ) const

Definition at line 504 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 317 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 341 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 312 of file G4Molecule.hh.

References aMoleculeAllocator.

G4Molecule::operator int ( ) const
inline

Definition at line 119 of file G4Molecule.hh.

References GetMoleculeID().

+ Here is the call graph for this function:

void * G4Molecule::operator new ( size_t  )
inline

Definition at line 304 of file G4Molecule.hh.

References aMoleculeAllocator.

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

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

References fpMolecularConfiguration.

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

Definition at line 105 of file G4Molecule.cc.

References fpMolecularConfiguration.

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

Definition at line 114 of file G4Molecule.cc.

References fpMolecularConfiguration.

void G4Molecule::PrintState ( ) const

Show the electronic state of the molecule.

Definition at line 377 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::PrintState().

Referenced by G4DNAMolecularDissociation::DecayIt().

+ 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 333 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 483 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 546 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 296 of file G4Molecule.cc.

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

+ Here is the call graph for this function:

void G4Molecule::SetLabel ( const G4String label)

Definition at line 597 of file G4Molecule.cc.

References fpMolecularConfiguration, and G4MolecularConfiguration::SetLabel().

+ Here is the call graph for this function:

void G4Molecule::SetMass ( G4double  aMass)

Set the total mass of the molecule.

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

References fpMolecularConfiguration, and G4MolecularConfiguration::SetVanDerVaalsRadius().

+ Here is the call graph for this function:

Member Data Documentation


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