Geant4-11
Public Types | Public Member Functions | Private Attributes
G4DNAEventSet Class Reference

#include <G4DNAEventSet.hh>

Inheritance diagram for G4DNAEventSet:
IEventSet

Public Types

using EventMap = std::map< Key, EventSet::iterator >
 
using EventSet = std::set< std::unique_ptr< Event >, comparatorEventSet >
 
using Key = unsigned int
 

Public Member Functions

void AddEvent (std::unique_ptr< Event > pEvent)
 
EventSet::iterator begin ()
 
EventSet::const_iterator begin () const
 
void CreateEvent (G4double time, Key index, Event::ReactionData *pReactionData)
 
void CreateEvent (G4double time, Key index, std::unique_ptr< Event::JumpingData > jum)
 
G4bool Empty ()
 
EventSet::iterator end ()
 
EventSet::const_iterator end () const
 
 G4DNAEventSet ()
 
void PrintEventSet ()
 
EventSet::reverse_iterator rbegin ()
 
void RemoveEvent (EventSet::iterator iter)
 
void RemoveEventOfVoxel (const size_t &key)
 
void RemoveEventSet ()
 
EventSet::reverse_iterator rend ()
 
size_t size ()
 
virtual ~G4DNAEventSet ()
 

Private Attributes

EventMap fEventMap
 
EventSet fEventSet
 

Detailed Description

Definition at line 81 of file G4DNAEventSet.hh.

Member Typedef Documentation

◆ EventMap

using G4DNAEventSet::EventMap = std::map<Key, EventSet::iterator>

Definition at line 86 of file G4DNAEventSet.hh.

◆ EventSet

using G4DNAEventSet::EventSet = std::set<std::unique_ptr<Event>, comparatorEventSet>

Definition at line 85 of file G4DNAEventSet.hh.

◆ Key

using G4DNAEventSet::Key = unsigned int

Definition at line 84 of file G4DNAEventSet.hh.

Constructor & Destructor Documentation

◆ G4DNAEventSet()

G4DNAEventSet::G4DNAEventSet ( )

Definition at line 71 of file G4DNAEventSet.cc.

◆ ~G4DNAEventSet()

G4DNAEventSet::~G4DNAEventSet ( )
virtual

Definition at line 116 of file G4DNAEventSet.cc.

116{ RemoveEventSet(); }
void RemoveEventSet()

References RemoveEventSet().

Member Function Documentation

◆ AddEvent()

void G4DNAEventSet::AddEvent ( std::unique_ptr< Event pEvent)

Definition at line 105 of file G4DNAEventSet.cc.

106{
107 // idea is no 2 events in one key (or index)
108 auto key = pEvent->GetKey();
110 auto it = fEventSet.emplace(std::move(pEvent));
111 fEventMap[key] = std::get<0>(it);
112}
EventMap fEventMap
void RemoveEventOfVoxel(const size_t &key)

References fEventMap, fEventSet, and RemoveEventOfVoxel().

Referenced by CreateEvent().

◆ begin() [1/2]

EventSet::iterator G4DNAEventSet::begin ( )
inline

Definition at line 104 of file G4DNAEventSet.hh.

104{ return fEventSet.begin(); }

References fEventSet.

◆ begin() [2/2]

EventSet::const_iterator G4DNAEventSet::begin ( ) const
inline

Definition at line 111 of file G4DNAEventSet.hh.

111{ return fEventSet.begin(); }

References fEventSet.

◆ CreateEvent() [1/2]

void G4DNAEventSet::CreateEvent ( G4double  time,
Key  index,
Event::ReactionData pReactionData 
)

Definition at line 75 of file G4DNAEventSet.cc.

77{
78 auto pEvent = std::make_unique<Event>(time, key, pReactionData);
79 AddEvent(std::move(pEvent));
80}
void AddEvent(std::unique_ptr< Event > pEvent)

References AddEvent().

Referenced by G4DNAGillespieDirectMethod::CreateEvent().

◆ CreateEvent() [2/2]

void G4DNAEventSet::CreateEvent ( G4double  time,
Key  index,
std::unique_ptr< Event::JumpingData jum 
)

Definition at line 82 of file G4DNAEventSet.cc.

84{
85 auto pEvent = std::make_unique<Event>(time, key, std::move(jum));
86 AddEvent(std::move(pEvent));
87}

References AddEvent().

◆ Empty()

G4bool G4DNAEventSet::Empty ( )
inline

Definition at line 115 of file G4DNAEventSet.hh.

115{ return fEventSet.empty(); }

References fEventSet.

◆ end() [1/2]

EventSet::iterator G4DNAEventSet::end ( )
inline

Definition at line 103 of file G4DNAEventSet.hh.

103{ return fEventSet.end(); }

References fEventSet.

◆ end() [2/2]

EventSet::const_iterator G4DNAEventSet::end ( ) const
inline

Definition at line 109 of file G4DNAEventSet.hh.

109{ return fEventSet.end(); }

References fEventSet.

◆ PrintEventSet()

void G4DNAEventSet::PrintEventSet ( )

Definition at line 118 of file G4DNAEventSet.cc.

119{
120 G4cout << "G4DNAEventSet::PrintEventSet()" << G4endl;
121 for(const auto& it : fEventSet)
122 {
123 (*it).PrintEvent();
124 }
125 G4cout << "End PrintEventSet()" << G4endl;
126 G4cout << G4endl;
127}
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout

References fEventSet, G4cout, and G4endl.

◆ rbegin()

EventSet::reverse_iterator G4DNAEventSet::rbegin ( )
inline

Definition at line 107 of file G4DNAEventSet.hh.

107{ return fEventSet.rbegin(); }

References fEventSet.

◆ RemoveEvent()

void G4DNAEventSet::RemoveEvent ( EventSet::iterator  iter)

Definition at line 99 of file G4DNAEventSet.cc.

100{
101 auto key = (*iter)->GetKey();
103}

References RemoveEventOfVoxel().

◆ RemoveEventOfVoxel()

void G4DNAEventSet::RemoveEventOfVoxel ( const size_t &  key)

Definition at line 89 of file G4DNAEventSet.cc.

90{
91 auto it = fEventMap.find(key);
92 if(it != fEventMap.end())
93 {
94 fEventSet.erase(it->second);
95 fEventMap.erase(it);
96 }
97}

References fEventMap, and fEventSet.

Referenced by AddEvent(), and RemoveEvent().

◆ RemoveEventSet()

void G4DNAEventSet::RemoveEventSet ( )
inline

Definition at line 96 of file G4DNAEventSet.hh.

97 {
98 fEventSet.clear();
99 fEventMap.clear();
100 }

References fEventMap, and fEventSet.

Referenced by ~G4DNAEventSet().

◆ rend()

EventSet::reverse_iterator G4DNAEventSet::rend ( )
inline

Definition at line 106 of file G4DNAEventSet.hh.

106{ return fEventSet.rend(); }

References fEventSet.

◆ size()

size_t G4DNAEventSet::size ( )
inline

Definition at line 113 of file G4DNAEventSet.hh.

113{ return fEventSet.size(); }

References fEventSet.

Field Documentation

◆ fEventMap

EventMap G4DNAEventSet::fEventMap
private

Definition at line 122 of file G4DNAEventSet.hh.

Referenced by AddEvent(), RemoveEventOfVoxel(), and RemoveEventSet().

◆ fEventSet

EventSet G4DNAEventSet::fEventSet
private

The documentation for this class was generated from the following files: