39 std::unique_ptr<JumpingData>&& jumping)
43 std::move(jumping), nullptr))
51 <<
" index : " << fIndex <<
" action : ";
52 if(std::get<0>(fData) ==
nullptr)
55 << std::get<1>(fData)->GetReactant2()->GetName() <<
" -> "
56 << std::get<1>(fData)->GetProducts()->size() <<
G4endl;
61 << std::get<0>(fData)->second <<
G4endl;
66 std::unique_ptr<Event>
const& lhs)
const
68 return rhs->GetTime() < lhs->GetTime();
78 auto pEvent = std::make_unique<Event>(time, index, pReactionData);
83 std::unique_ptr<Event::JumpingData> jum)
85 auto pEvent = std::make_unique<Event>(time, index, std::move(jum));
91 auto it = fEventMap.find(key);
92 if(it != fEventMap.end())
94 fEventSet.erase(it->second);
101 auto index = (*iter)->GetIndex();
108 auto key = pEvent->GetIndex();
110 auto it = fEventSet.emplace(std::move(pEvent));
111 fEventMap[key] = std::get<0>(it);
121 G4cout <<
"*****************************************************" <<
G4endl;
122 G4cout <<
"G4DNAEventSet::PrintEventSet() of : "<< this->
size()<<
" events "<<
G4endl;
123 for(
const auto& it : fEventSet)
128 G4cout <<
"*****************************************************" <<
G4endl;
G4GLOB_DLL std::ostream G4cout
Event(const G4double &time, const Index &index, ReactionData *)
std::pair< MolType, Index > JumpingData
void RemoveEventOfVoxel(const Index &key)
void AddEvent(std::unique_ptr< Event > pEvent)
void CreateEvent(const G4double &time, const Index &index, Event::ReactionData *pReactionData)
void RemoveEvent(EventSet::iterator iter)
G4bool operator()(std::unique_ptr< Event > const &rhs, std::unique_ptr< Event > const &lhs) const