61 fActiveChemistry(false)
104 *
fOutput << std::setprecision(6) << std::scientific;
106 << setw(10) <<
"Molecule"
107 << setw(14) <<
"Elec Modif"
108 << setw(13) <<
"Energy (eV)"
109 << setw(22) <<
"X pos of parent [nm]"
110 << setw(22) <<
"Y pos of parent [nm]"
111 << setw(22) <<
"Z pos of parent [nm]"
112 << setw(14) <<
"X pos [nm]"
113 << setw(14) <<
"Y pos [nm]"
114 << setw(14) <<
"Z pos [nm]"
117 << setw(13) <<
"1)io/ex=0/1"
120 << setw(13) <<
"2)level=0...5"
125 ios_base::openmode mode)
161 G4int electronicLevel,
162 const G4Track* theIncomingTrack)
168 switch (modification)
183 <<
left << modification
185 <<
right <<electronicLevel
188 << std::setprecision(2) << std::fixed
189 << setw(13) << energy/
eV
190 << std::setprecision(6) << std::scientific
201 switch (modification)
204 H2O -> AddElectron(5,1);
207 H2O -> ExciteMolecule(electronicLevel);
210 H2O -> IonizeMolecule(electronicLevel);
217 H2OTrack -> SetParentID(theIncomingTrack->
GetTrackID());
219 H2OTrack -> SetKineticEnergy(0.);
234 << std::setprecision(2) << std::fixed
236 << std::setprecision(6) << std::scientific
241 if(finalPosition != 0)
244 << setw(14)<< (finalPosition->y())/
nanometer
245 << setw(14)<< (finalPosition->z())/
nanometer ;
263 e_aqTrack -> SetTrackStatus(
fAlive);
264 e_aqTrack -> SetParentID(theIncomingTrack->
GetTrackID());
276 *
fOutput << setw(11)<< parentID
277 << setw(10)<< molecule->
GetName()
279 << std::setprecision(2) << std::fixed
281 << std::setprecision(6) << std::scientific
291 track -> SetTrackStatus(
fAlive);
292 track -> SetParentID(parentID);
304 const G4Track* theIncomingTrack)
309 << setw(10)<< molecule->
GetName()
311 << std::setprecision(2) << std::fixed
313 << std::setprecision(6) << std::scientific
323 track -> SetTrackStatus(
fAlive);
324 track -> SetParentID(theIncomingTrack->
GetTrackID());
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 th...
void PushMoleculeAtParentTimeAndPlace(G4Molecule *&molecule, const G4Track *)
WARNING : In case chemistry is not activated, PushMoleculeAtParentTimeAndPlace will take care of dele...
static void DeleteInstance()
static G4Electron_aq * Definition()
G4double ExcitationEnergy(G4int level)
static G4H2O * Definition()
static std::auto_ptr< G4DNAChemistryManager > fInstance
CLHEP::Hep3Vector G4ThreeVector
void CreateSolvatedElectron(const G4Track *, G4ThreeVector *finalPosition=0)
On the same idea as the previous method but for solvated electron.
static const double nanometer
G4DNAChemistryManager is called from the physics models.
const G4ThreeVector & GetPosition() const
void AddEmptyLineInOuputFile()
G4DNAWaterExcitationStructure * GetExcitationLevel()
const G4String & GetName() const
Returns the name of the molecule.
G4double GetKineticEnergy() const
static G4ThreadLocal std::ofstream * fOutput
static void DeleteInstance()
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 ...
static void DeleteManager()
static void DeleteInstance()
You should rather use DeleteInstance than the destructor of this class.
G4double GetGlobalTime() const
G4double IonisationEnergy(G4int level)
static G4ITManager< T > * Instance()
G4Track * BuildTrack(G4double globalTime, const G4ThreeVector &Position)
const char * data() const
static G4DNAChemistryManager * Instance()
G4DNAWaterExcitationStructure * fExcitationLevel
G4double energy(const ThreeVector &p, const G4double m)
void CreateWaterMolecule(ElectronicModification, G4int, const G4Track *)
Method used by DNA physics model to create a water molecule.
void CloseFile()
Close the file specified with WriteInto.
G4DNAWaterIonisationStructure * fIonisationLevel
static G4ITTrackHolder * Instance()
Class Description The dynamic molecule holds all the data that change for a molecule It has a pointer...
virtual void PushTrack(G4Track *)
static const double picosecond
G4DNAWaterIonisationStructure * GetIonisationLevel()
static void DeleteInstance()