Geant4
10.00.p03
|
G4DNAChemistryManager is called from the physics models. More...
#include <G4DNAChemistryManager.hh>
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 G4DNAChemistryManager * | Instance () |
static void | DeleteInstance () |
You should rather use DeleteInstance than the destructor of this class. More... | |
Protected Member Functions | |
G4DNAWaterExcitationStructure * | GetExcitationLevel () |
G4DNAWaterIonisationStructure * | GetIonisationLevel () |
void | InitializeFile () |
G4DNAChemistryManager () | |
Private Member Functions | |
~G4DNAChemistryManager () | |
Private Attributes | |
bool | fActiveChemistry |
G4bool | fWriteFile |
G4DNAWaterExcitationStructure * | fExcitationLevel |
G4DNAWaterIonisationStructure * | fIonisationLevel |
Static Private Attributes | |
static std::auto_ptr < G4DNAChemistryManager > | fInstance |
static G4ThreadLocal std::ofstream * | fOutput = 0 |
Friends | |
class | std::auto_ptr< G4DNAChemistryManager > |
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.
|
private |
Definition at line 82 of file G4DNAChemistryManager.cc.
References G4MoleculeHandleManager::DeleteInstance(), G4MoleculeCounter::DeleteInstance(), G4DNAMolecularReactionTable::DeleteInstance(), G4MolecularConfiguration::DeleteManager(), fExcitationLevel, fInstance, and fIonisationLevel.
|
protected |
Definition at line 60 of file G4DNAChemistryManager.cc.
References fExcitationLevel, fIonisationLevel, and fWriteFile.
Referenced by Instance().
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().
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().
|
static |
You should rather use DeleteInstance than the destructor of this class.
Definition at line 93 of file G4DNAChemistryManager.cc.
References chemManExistence, and fInstance.
|
protected |
Definition at line 142 of file G4DNAChemistryManager.cc.
References fExcitationLevel.
Referenced by CreateWaterMolecule().
|
protected |
Definition at line 151 of file G4DNAChemistryManager.cc.
References fIonisationLevel.
Referenced by CreateWaterMolecule().
|
protected |
Definition at line 102 of file G4DNAChemistryManager.cc.
|
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().
|
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().
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().
|
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.
|
friend |
Definition at line 73 of file G4DNAChemistryManager.hh.
|
private |
Definition at line 151 of file G4DNAChemistryManager.hh.
Referenced by CreateSolvatedElectron(), CreateWaterMolecule(), IsChemistryActived(), PushMolecule(), PushMoleculeAtParentTimeAndPlace(), and SetChemistryActivation().
|
private |
Definition at line 155 of file G4DNAChemistryManager.hh.
Referenced by G4DNAChemistryManager(), GetExcitationLevel(), and ~G4DNAChemistryManager().
|
staticprivate |
Definition at line 150 of file G4DNAChemistryManager.hh.
Referenced by DeleteInstance(), Instance(), and ~G4DNAChemistryManager().
|
private |
Definition at line 156 of file G4DNAChemistryManager.hh.
Referenced by G4DNAChemistryManager(), GetIonisationLevel(), and ~G4DNAChemistryManager().
|
staticprivate |
Definition at line 153 of file G4DNAChemistryManager.hh.
Referenced by AddEmptyLineInOuputFile(), CloseFile(), CreateSolvatedElectron(), CreateWaterMolecule(), InitializeFile(), PushMolecule(), PushMoleculeAtParentTimeAndPlace(), and WriteInto().
|
private |
Definition at line 152 of file G4DNAChemistryManager.hh.
Referenced by AddEmptyLineInOuputFile(), CloseFile(), CreateSolvatedElectron(), CreateWaterMolecule(), G4DNAChemistryManager(), PushMolecule(), PushMoleculeAtParentTimeAndPlace(), and WriteInto().