Geant4  10.00.p03
G4DNAChemistryManager Class Reference

G4DNAChemistryManager is called from the physics models. More...

#include <G4DNAChemistryManager.hh>

+ Collaboration diagram for G4DNAChemistryManager:

Public Member Functions

void WriteInto (const G4String &, std::ios_base::openmode mode=std::ios_base::out)
 Tells the chemMan to write into a file the position and electronic state of the water molecule and the position thermalized or not of the solvated electron. More...
 
void CloseFile ()
 Close the file specified with WriteInto. More...
 
G4bool IsChemistryActived ()
 
void SetChemistryActivation (G4bool)
 
void CreateWaterMolecule (ElectronicModification, G4int, const G4Track *)
 Method used by DNA physics model to create a water molecule. More...
 
void CreateSolvatedElectron (const G4Track *, G4ThreeVector *finalPosition=0)
 On the same idea as the previous method but for solvated electron. More...
 
void PushMolecule (G4Molecule *&molecule, double time, const G4ThreeVector &position, int parentID)
 WARNING : In case chemistry is not activated, PushMolecule will take care of deleting the transfered molecule. More...
 
void PushMoleculeAtParentTimeAndPlace (G4Molecule *&molecule, const G4Track *)
 WARNING : In case chemistry is not activated, PushMoleculeAtParentTimeAndPlace will take care of deleting the transfered molecule. More...
 
void AddEmptyLineInOuputFile ()
 

Static Public Member Functions

static G4DNAChemistryManagerInstance ()
 
static void DeleteInstance ()
 You should rather use DeleteInstance than the destructor of this class. More...
 

Protected Member Functions

G4DNAWaterExcitationStructureGetExcitationLevel ()
 
G4DNAWaterIonisationStructureGetIonisationLevel ()
 
void InitializeFile ()
 
 G4DNAChemistryManager ()
 

Private Member Functions

 ~G4DNAChemistryManager ()
 

Private Attributes

bool fActiveChemistry
 
G4bool fWriteFile
 
G4DNAWaterExcitationStructurefExcitationLevel
 
G4DNAWaterIonisationStructurefIonisationLevel
 

Static Private Attributes

static std::auto_ptr
< G4DNAChemistryManager
fInstance
 
static G4ThreadLocal
std::ofstream * 
fOutput = 0
 

Friends

class std::auto_ptr< G4DNAChemistryManager >
 

Detailed Description

G4DNAChemistryManager is called from the physics models.

It creates the water molecules and the solvated electrons and and send them to synchronous step manager to be treated in the chemistry stage. For this, the fActiveChemistry flag needs to be on. It is also possible to give already molecule's pointers already built. G4DNAChemistryManager will then be in charge of creating the track and loading it to the IT system. The user can also ask to create a file containing a information about the creation of water molecules and solvated electrons.

Definition at line 71 of file G4DNAChemistryManager.hh.

Constructor & Destructor Documentation

G4DNAChemistryManager::~G4DNAChemistryManager ( )
private

Definition at line 82 of file G4DNAChemistryManager.cc.

References G4MoleculeHandleManager::DeleteInstance(), G4MoleculeCounter::DeleteInstance(), G4DNAMolecularReactionTable::DeleteInstance(), G4MolecularConfiguration::DeleteManager(), fExcitationLevel, fInstance, and fIonisationLevel.

+ Here is the call graph for this function:

G4DNAChemistryManager::G4DNAChemistryManager ( )
protected

Definition at line 60 of file G4DNAChemistryManager.cc.

References fExcitationLevel, fIonisationLevel, and fWriteFile.

Referenced by Instance().

+ Here is the caller graph for this function:

Member Function Documentation

void G4DNAChemistryManager::AddEmptyLineInOuputFile ( )

Definition at line 335 of file G4DNAChemistryManager.cc.

References fOutput, fWriteFile, and G4endl.

void G4DNAChemistryManager::CloseFile ( )

Close the file specified with WriteInto.

Definition at line 132 of file G4DNAChemistryManager.cc.

References fOutput, and fWriteFile.

void G4DNAChemistryManager::CreateSolvatedElectron ( const G4Track theIncomingTrack,
G4ThreeVector finalPosition = 0 
)

On the same idea as the previous method but for solvated electron.

This method should be used by the physics model of the ElectronSolvatation process.

Definition at line 225 of file G4DNAChemistryManager.cc.

References G4Molecule::BuildTrack(), G4Electron_aq::Definition(), eV, fActiveChemistry, fAlive, fOutput, fWriteFile, G4endl, G4Track::GetKineticEnergy(), G4Track::GetPosition(), G4Track::GetTrackID(), G4ITTrackHolder::Instance(), G4ITManager< T >::Instance(), nanometer, picosecond, and G4ITTrackHolder::PushTrack().

Referenced by G4DNATransformElectronModel::SampleSecondaries(), and G4DNAOneStepSolvatationModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4DNAChemistryManager::CreateWaterMolecule ( ElectronicModification  modification,
G4int  electronicLevel,
const G4Track theIncomingTrack 
)

Method used by DNA physics model to create a water molecule.

The ElectronicModification is a flag telling wheter the molecule is ionized or excited, the electronic level is calculated by the model and the IncomingTrack is the track responsible for the creation of this molecule, for instance an electron.

Definition at line 160 of file G4DNAChemistryManager.cc.

References G4Molecule::BuildTrack(), G4H2O::Definition(), eDissociativeAttachment, eExcitedMolecule, eIonizedMolecule, G4INCL::KinematicsUtils::energy(), eV, G4DNAWaterExcitationStructure::ExcitationEnergy(), fActiveChemistry, fOutput, fStopButAlive, fWriteFile, G4endl, GetExcitationLevel(), GetIonisationLevel(), G4Track::GetPosition(), G4Track::GetTrackID(), G4ITTrackHolder::Instance(), G4DNAWaterIonisationStructure::IonisationEnergy(), left, nanometer, picosecond, G4ITTrackHolder::PushTrack(), and right.

Referenced by G4DNAEmfietzoglouExcitationModel::SampleSecondaries(), G4DNAMillerGreenExcitationModel::SampleSecondaries(), G4DNABornExcitationModel::SampleSecondaries(), G4DNAMeltonAttachmentModel::SampleSecondaries(), G4DNARuddIonisationModel::SampleSecondaries(), G4DNARuddIonisationExtendedModel::SampleSecondaries(), and G4DNABornIonisationModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4DNAChemistryManager::DeleteInstance ( )
static

You should rather use DeleteInstance than the destructor of this class.

Definition at line 93 of file G4DNAChemistryManager.cc.

References chemManExistence, and fInstance.

G4DNAWaterExcitationStructure * G4DNAChemistryManager::GetExcitationLevel ( )
protected

Definition at line 142 of file G4DNAChemistryManager.cc.

References fExcitationLevel.

Referenced by CreateWaterMolecule().

+ Here is the caller graph for this function:

G4DNAWaterIonisationStructure * G4DNAChemistryManager::GetIonisationLevel ( )
protected

Definition at line 151 of file G4DNAChemistryManager.cc.

References fIonisationLevel.

Referenced by CreateWaterMolecule().

+ Here is the caller graph for this function:

void G4DNAChemistryManager::InitializeFile ( )
protected

Definition at line 102 of file G4DNAChemistryManager.cc.

References fOutput, G4endl, and left.

G4DNAChemistryManager * G4DNAChemistryManager::Instance ( void  )
static

Definition at line 68 of file G4DNAChemistryManager.cc.

References chemManExistence, fInstance, G4DNAChemistryManager(), and G4TemplateAutoLock< M, L, U >::unlock().

Referenced by G4DNAEmfietzoglouExcitationModel::SampleSecondaries(), G4DNAMillerGreenExcitationModel::SampleSecondaries(), G4DNABornExcitationModel::SampleSecondaries(), G4DNAMeltonAttachmentModel::SampleSecondaries(), G4DNARuddIonisationModel::SampleSecondaries(), G4DNARuddIonisationExtendedModel::SampleSecondaries(), G4DNABornIonisationModel::SampleSecondaries(), G4DNATransformElectronModel::SampleSecondaries(), and G4DNAOneStepSolvatationModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4DNAChemistryManager::IsChemistryActived ( )
inline

Definition at line 159 of file G4DNAChemistryManager.hh.

References fActiveChemistry.

void G4DNAChemistryManager::PushMolecule ( G4Molecule *&  molecule,
double  time,
const G4ThreeVector position,
int  parentID 
)

WARNING : In case chemistry is not activated, PushMolecule will take care of deleting the transfered molecule.

Before calling this method, it is also possible to check if the chemistry is activated through IsChemistryActived(). This method will create the track corresponding to the transfered molecule and will be in charge of loading the new track to the system.

Definition at line 271 of file G4DNAChemistryManager.cc.

References G4Molecule::BuildTrack(), fActiveChemistry, fAlive, fOutput, fWriteFile, G4endl, G4Molecule::GetName(), G4ITTrackHolder::Instance(), G4ITManager< T >::Instance(), nanometer, and G4ITTrackHolder::PushTrack().

+ Here is the call graph for this function:

void G4DNAChemistryManager::PushMoleculeAtParentTimeAndPlace ( G4Molecule *&  molecule,
const G4Track theIncomingTrack 
)

WARNING : In case chemistry is not activated, PushMoleculeAtParentTimeAndPlace will take care of deleting the transfered molecule.

Before calling this method, it is also possible to check if the chemistry is activated through IsChemistryActived(). This method will create the track corresponding to the transfered molecule and will be in charge of loading the new track to the system.

Definition at line 303 of file G4DNAChemistryManager.cc.

References G4Molecule::BuildTrack(), eV, fActiveChemistry, fAlive, fOutput, fWriteFile, G4endl, G4Track::GetGlobalTime(), G4Track::GetKineticEnergy(), G4Molecule::GetName(), G4Track::GetPosition(), G4Track::GetTrackID(), G4ITTrackHolder::Instance(), G4ITManager< T >::Instance(), nanometer, and G4ITTrackHolder::PushTrack().

+ Here is the call graph for this function:

void G4DNAChemistryManager::SetChemistryActivation ( G4bool  flag)
inline

Definition at line 164 of file G4DNAChemistryManager.hh.

References fActiveChemistry.

void G4DNAChemistryManager::WriteInto ( const G4String ,
std::ios_base::openmode  mode = std::ios_base::out 
)

Tells the chemMan to write into a file the position and electronic state of the water molecule and the position thermalized or not of the solvated electron.

Definition at line 124 of file G4DNAChemistryManager.cc.

References G4String::data(), fOutput, and fWriteFile.

+ Here is the call graph for this function:

Friends And Related Function Documentation

friend class std::auto_ptr< G4DNAChemistryManager >
friend

Definition at line 73 of file G4DNAChemistryManager.hh.

Member Data Documentation

bool G4DNAChemistryManager::fActiveChemistry
private
G4DNAWaterExcitationStructure* G4DNAChemistryManager::fExcitationLevel
private
auto_ptr< G4DNAChemistryManager > G4DNAChemistryManager::fInstance
staticprivate

Definition at line 150 of file G4DNAChemistryManager.hh.

Referenced by DeleteInstance(), Instance(), and ~G4DNAChemistryManager().

G4DNAWaterIonisationStructure* G4DNAChemistryManager::fIonisationLevel
private
G4ThreadLocal std::ofstream * G4DNAChemistryManager::fOutput = 0
staticprivate

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