124 fpRunChem->SetParameterName(
"Number of runs to execute for the chemistry module"
125 "(this works when used in standalone",
true,
true);
215 G4cerr <<
"G4DNAChemistryManager already deleted" <<
G4endl;
228 G4cout <<
"G4DNAChemistryManager::Notify ---> received G4State_Quit"
256 for (
int i = 0 ; i < nbExec ; ++i)
322 description <<
"Global components were not initialized.";
330 description <<
"Thread local components were not initialized.";
408 G4cout <<
"G4DNAChemistryManager::InitializeMaster() is called" <<
G4endl;
415 description <<
"No user chemistry list has been provided.";
416 G4Exception(
"G4DNAChemistryManager::InitializeMaster",
"NO_CHEM_LIST",
447 G4cout <<
"G4DNAChemistryManager: Build the physics tables for "
448 "molecule definition only."
458 G4cout <<
"G4DNAChemistryManager: Close geometry" <<
G4endl;
482 description <<
"No user chemistry list has been provided.";
483 G4Exception(
"G4DNAChemistryManager::InitializeThread",
"NO_CHEM_LIST",
489 G4cout <<
"G4DNAChemistryManager::InitializeThread() is called"
511 G4cout <<
"G4DNAChemistryManager::InitializeFile() is called"
545 std::ios_base::openmode mode)
549 G4cout <<
"G4DNAChemistryManager: Write chemical stage into "
550 << output.data() <<
G4endl;
607 G4int electronicLevel,
614 switch (modification)
637 switch (modification)
675 pFinalPosition ? *pFinalPosition : pIncomingTrack->
GetPosition(),
688 &&
"To inject chemical species, the chemistry must be activated. "
689 "Check chemistry activation before injecting species.");
@ eDissociativeAttachment
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
static constexpr double picosecond
G4GLOB_DLL std::ostream G4cerr
G4GLOB_DLL std::ostream G4cout
void SetPhysChemIO(std::unique_ptr< G4VPhysChemIO > pPhysChemIO)
G4String GetCurrentValue(G4UIcommand *pCommand) override
G4bool IsCounterResetWhenRunEnds() const
void CreateSolvatedElectron(const G4Track *, G4ThreeVector *pFinalPosition=nullptr)
std::unique_ptr< G4UIcmdWithABool > fpActivateChem
std::unique_ptr< G4DNAWaterIonisationStructure > fpIonisationLevel
void InitializeThreadSharedData()
~G4DNAChemistryManager() override
G4bool IsChemistryActivated()
static G4DNAChemistryManager * GetInstanceIfExists()
void HandleStandaloneInitialization()
static G4DNAChemistryManager * Instance()
void UseAsStandalone(G4bool flag)
void PushTrack(G4Track *)
void SetChemistryList(G4VUserChemistryList &)
void ForceThreadReinitialization()
void AddEmptyLineInOutputFile()
void PushMolecule(std::unique_ptr< G4Molecule > pMolecule, G4double time, const G4ThreeVector &position, G4int parentID)
static G4ThreadLocal ThreadLocalData * fpThreadData
void ForceRebuildingPhysicsTable()
static G4bool IsActivated()
std::unique_ptr< G4UIcmdWithoutParameter > fpInitChem
void ResetCounterWhenRunEnds(G4bool resetCounterWhenRunEnds)
G4bool fPhysicsTableBuilt
void SetGlobalTemperature(G4double temperatureKelvin)
void SetGun(G4ITGun *pChemSpeciesGun)
Inject custom species to the simulation.
G4DNAWaterIonisationStructure * GetIonisationLevel()
void Deregister(G4VUserChemistryList &)
G4bool fResetCounterWhenRunEnds
std::unique_ptr< G4UIcmdWithADoubleAndUnit > fpScaleForNewTemperature
std::unique_ptr< G4UIdirectory > fpChemDNADirectory
G4DNAWaterExcitationStructure * GetExcitationLevel()
G4bool fForceThreadReinitialization
void SetNewValue(G4UIcommand *, G4String) override
std::unique_ptr< G4VUserChemistryList > fpUserChemistryList
std::unique_ptr< G4DNAWaterExcitationStructure > fpExcitationLevel
G4bool fMasterInitialized
G4bool Notify(G4ApplicationState requestedState) override
void ForceMasterReinitialization()
void SetChemistryActivation(G4bool)
static void DeleteInstance()
std::unique_ptr< G4UIcmdWithoutParameter > fpSkipReactionsFromChemList
void SetVerbose(G4int verbose)
void TagThreadForReinitialization()
std::unique_ptr< G4UIcmdWithAnInteger > fpRunChem
static G4DNAChemistryManager * fgInstance
void WriteInto(const G4String &, std::ios_base::openmode mode=std::ios_base::out)
void CreateWaterMolecule(ElectronicModification, G4int, const G4Track *)
static G4DNAMolecularReactionTable * GetReactionTable()
static G4DNAMolecularReactionTable * Instance()
static void DeleteInstance()
void ScaleReactionRateForNewTemperature(double temp_K)
G4double ExcitationEnergy(G4int level)
G4double IonisationEnergy(G4int level)
static G4Electron_aq * Definition()
static G4GeometryManager * GetInstance()
G4bool CloseGeometry(G4bool pOptimise=true, G4bool verbose=false, G4VPhysicalVolume *vol=nullptr)
void OpenGeometry(G4VPhysicalVolume *vol=nullptr)
static G4H2O * Definition()
virtual void Push(G4Track *)
static G4ITTrackHolder * Instance()
static void DeleteManager()
static void SetGlobalTemperature(G4double)
static G4double GetGlobalTemperature()
void Finalize(G4MoleculeDefinition *)
void PrepareMolecularConfiguration()
static G4MoleculeTable * Instance()
void IonizeMolecule(G4int)
void AddElectron(G4int orbit, G4int n=1)
G4Track * BuildTrack(G4double globalTime, const G4ThreeVector &Position)
void ExciteMolecule(G4int)
static G4Scheduler * Instance()
void SetTrackStatus(const G4TrackStatus aTrackStatus)
const G4ThreeVector & GetPosition() const
void SetKineticEnergy(const G4double aValue)
void SetParentID(const G4int aValue)
static G4bool GetNewBoolValue(const char *paramString)
static G4String ConvertToString(G4bool boolVal)
static G4int ConvertToInt(const char *st)
static void InitializeInstance()
static void DeleteInstance()
static G4VMoleculeCounter * Instance()
virtual void ResetCounter()=0
G4double energy(const ThreeVector &p, const G4double m)
G4bool IsMultithreadedApplication()
std::unique_ptr< G4VPhysChemIO > fpPhysChemIO
G4bool fThreadInitialized