46 auto iter = node.find(type);
47 if(iter != node.end())
51 G4cout <<
"G4DNAUpdateSystemModel::KillMolecule::molecule : "
52 << type->
GetName() <<
" index : " << index
53 <<
" number : " << iter->second <<
G4endl;
66 if(pScavengerMaterial !=
nullptr)
74 G4cout <<
"This molecule is not belong scavengers or particle-base"
85 auto iter = node.find(type);
86 if(iter != node.end())
90 G4cout <<
"G4DNAUpdateSystemModel::KillMolecule::molecule : "
91 << type->
GetName() <<
" index : " << index
92 <<
" number : " << iter->second <<
G4endl;
100 G4cout <<
"This molecule is not belong particle-base" <<
G4endl;
110 if(pScavengerMaterial !=
nullptr && pScavengerMaterial->find(type))
118 auto iter = node.find(type);
119 if(iter != node.end())
138 auto iter = node.find(type);
139 if(iter != node.end())
158 <<
" Reaction : " << reactant1->GetName() <<
" + "
159 << reactant2->GetName() <<
" -> ";
165 for(
size_t j = 0; j < (size_t) nbProducts; ++j)
189 G4cout <<
"*********G4DNAUpdateSystemModel::DEBUG::GetNumberOfType("
193 G4cout <<
"G4MoleculeCounter::GetCurrentNumberOf ("
229 G4cout <<
"*********G4DNAUpdateSystemModel::DEBUG::GetNumberOfType("
230 << reactant1->GetName()
232 G4cout <<
"G4MoleculeCounter::GetCurrentNumberOf ("
233 << reactant1->GetName() <<
") : "
247 G4cout <<
"*********G4DNAUpdateSystemModel::DEBUG::GetNumberOfType("
248 << reactant2->GetName()
250 G4cout <<
"G4MoleculeCounter::GetCurrentNumberOf ("
251 << reactant2->GetName() <<
") : "
263 auto reactant = std::get<0>(data);
264 auto JunpToIndex = std::get<1>(data);
269 <<
" Jumping : " << reactant->GetName() <<
" from " << index
270 <<
" -> " << JunpToIndex <<
G4endl;
274 JumpIn(JunpToIndex, reactant);
G4GLOB_DLL std::ostream G4cout
G4Voxel::MapList & GetVoxelMapList(Key key)
G4int GetNumberOfType(G4Voxel::MolType type) const
Reactant * GetProduct(G4int i) const
Reactant * GetReactant1() const
Reactant * GetReactant2() const
G4int GetNbProducts() const
void ReduceNumberMoleculePerVolumeUnitForMaterialConf(MolType, G4double)
void AddNumberMoleculePerVolumeUnitForMaterialConf(MolType, G4double)
void JumpIn(const Index &index, MolType)
void JumpTo(const Index &index, MolType type)
std::pair< MolType, Index > JumpingData
void CreateMolecule(const Index &index, MolType)
void SetMesh(G4DNAMesh *)
void KillMolecule(const Index &index, MolType type)
void UpdateSystem(const Index &index, const ReactionData &data)
const G4String & GetName() const
static G4MoleculeCounter * Instance()
static G4Scheduler * Instance()
G4VScavengerMaterial * GetScavengerMaterial() const
virtual void RemoveAMoleculeAtTime(Reactant *, G4double time, const G4ThreeVector *position=nullptr, int number=1)=0
static G4VMoleculeCounter * Instance()
virtual void AddAMoleculeAtTime(Reactant *, G4double time, const G4ThreeVector *position=nullptr, int number=1)=0