76 fpPhysChemIO =
nullptr;
77 fThreadInitialized_tl =
false;
84 if(fpPhysChemIO)
delete fpPhysChemIO;
85 fThreadInitialized_tl =
false;
92 if(fpThreadData->fpPhysChemIO)
93 delete fpThreadData->fpPhysChemIO;
94 fpThreadData->fpPhysChemIO = physChemIO;
256 G4cout <<
"G4DNAChemistryManager already deleted" <<
G4endl;
268 G4cout <<
"G4DNAChemistryManager::Notify ---> received G4State_Quit"
319 ConvertToDimensionedDouble(value));
351 description <<
"Global components were not initialized.";
359 description <<
"Thread local components were not initialized.";
428 G4cout <<
"G4DNAChemistryManager::InitializeMaster() is called" <<
G4endl;
453 description <<
"No user chemistry list has been provided.";
454 G4Exception(
"G4DNAChemistryManager::InitializeMaster",
"NO_CHEM_LIST",
472 G4cout <<
"G4DNAChemistryManager::InitializeThread() is called"
480 G4cout <<
"G4DNAChemistryManager: Build the physics tables for "
490 G4cout <<
"G4DNAChemistryManager: Close geometry"
512 description <<
"No user chemistry list has been provided.";
513 G4Exception(
"G4DNAChemistryManager::InitializeThread",
"NO_CHEM_LIST",
529 G4cout <<
"G4DNAChemistryManager::InitializeFile() is called"
569 ios_base::openmode mode)
573 G4cout <<
"G4DNAChemistryManager: Write chemical stage into "
632 G4int electronicLevel,
633 const G4Track* theIncomingTrack)
638 switch (modification)
661 switch (modification)
664 H2O -> AddElectron(5,1);
667 H2O -> ExciteMolecule(4-electronicLevel);
670 H2O -> IonizeMolecule(4-electronicLevel);
677 H2OTrack -> SetParentID(theIncomingTrack->
GetTrackID());
679 H2OTrack -> SetKineticEnergy(0.);
708 e_aqTrack -> SetTrackStatus(
fAlive);
709 e_aqTrack -> SetParentID(theIncomingTrack->
GetTrackID());
726 track -> SetTrackStatus(
fAlive);
727 track -> SetParentID(parentID);
742 const G4Track* theIncomingTrack)
750 track -> SetTrackStatus(
fAlive);
751 track -> SetParentID(theIncomingTrack->
GetTrackID());
767 ScaleReactionRateForNewTemperature(temp_K);
static G4MoleculeTable * Instance()
G4bool IsChemistryActivated()
static G4DNAMolecularReactionTable * Instance()
std::ostringstream G4ExceptionDescription
G4bool fResetCounterWhenRunEnds
static void DeleteManager()
void Gun(G4ITGun *, bool physicsTableToBuild=true)
G4UIcmdWithoutParameter * fpSkipReactionsFromChemList
void Finalize(G4MoleculeDefinition *)
virtual G4bool Notify(G4ApplicationState requestedState)
G4bool fBuildPhysicsTable
G4DNAWaterExcitationStructure * GetExcitationLevel()
static G4DNAChemistryManager * GetInstanceIfExists()
void SetGlobalTemperature(G4double temp_K)
void WriteInto(const G4String &, std::ios_base::openmode mode=std::ios_base::out)
static G4Electron_aq * Definition()
G4UIdirectory * fpChemDNADirectory
virtual void CreateSolvatedElectron(const G4Track *, G4ThreeVector *finalPosition=0)=0
G4bool fPhysicsTableBuilt
G4double IonisationEnergy(G4int level)
static void SetGlobalTemperature(G4double)
static G4bool GetNewBoolValue(const char *paramString)
G4UIcmdWithoutParameter * fpInitChem
static void DeleteInstance()
G4DNAWaterIonisationStructure * GetIonisationLevel()
virtual G4String GetCurrentValue(G4UIcommand *command)
void CreateSolvatedElectron(const G4Track *, G4ThreeVector *finalPosition=0)
virtual void CloseFile()=0
void PushMoleculeAtParentTimeAndPlace(G4Molecule *&molecule, const G4Track *)
static G4DNAChemistryManager * fgInstance
const XML_Char int const XML_Char * value
G4double ExcitationEnergy(G4int level)
static G4VITTrackHolder * Instance()
static G4GeometryManager * GetInstance()
const char * data() const
G4double GetGlobalTime() const
void CreateWaterMolecule(ElectronicModification, G4int, const G4Track *)
const G4ThreeVector & GetPosition() const
virtual void ConstructDissociationChannels()
static void DeleteInstance()
G4bool fMasterInitialized
void OpenGeometry(G4VPhysicalVolume *vol=0)
static void Activated(G4bool flag=true)
void PrepareMolecularConfiguration()
bool IsPhysicsConstructor()
static G4String ConvertToString(G4bool boolVal)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4VUserChemistryList * fpUserChemistryList
G4bool IsMultithreadedApplication()
G4UIcmdWithABool * fpActivateChem
virtual void ConstructTimeStepModel(G4DNAMolecularReactionTable *reactionTable)=0
virtual void CreateWaterMolecule(G4int electronicModif, G4int, G4double energy, const G4Track *)=0
G4bool CloseGeometry(G4bool pOptimise=true, G4bool verbose=false, G4VPhysicalVolume *vol=0)
static G4H2O * Definition()
G4GLOB_DLL std::ostream G4cout
G4UIcmdWithoutParameter * fpRunChem
virtual ~G4DNAChemistryManager()
virtual void Push(G4Track *)
static void DeleteInstance()
virtual void ResetCounter()=0
G4UIcmdWithADoubleAndUnit * fpScaleForNewTemperature
virtual void ConstructReactionTable(G4DNAMolecularReactionTable *reactionTable)=0
virtual void InitializeFile()=0
virtual void SetNewValue(G4UIcommand *, G4String)
static G4DNAMolecularReactionTable * GetReactionTable()
G4Track * BuildTrack(G4double globalTime, const G4ThreeVector &Position)
G4DNAWaterExcitationStructure * fpExcitationLevel
static constexpr double picosecond
G4VPhysChemIO * fpPhysChemIO
virtual void WriteInto(const G4String &, std::ios_base::openmode mode=std::ios_base::out)=0
void AddEmptyLineInOuputFile()
G4bool fThreadInitialized_tl
static G4DNAChemistryManager * Instance()
G4DNAWaterIonisationStructure * fpIonisationLevel
static G4Scheduler * Instance()
static void InitializeInstance()
void SetChemistryActivation(G4bool)
static G4ThreadLocal ThreadLocalData * fpThreadData
void SetPhysChemIO(G4VPhysChemIO *physChemIO)
static G4VMoleculeCounter * Instance()
virtual void AddEmptyLineInOuputFile()
G4bool fForceThreadReinitialization
void PushMolecule(G4Molecule *&molecule, G4double time, const G4ThreeVector &position, G4int parentID)
static G4bool IsActivated()