SLIC
6.1.1
Simulation for the Linear Collider (SLIC) - Geant4 simulation application
src
LcioEventSource.cc
Go to the documentation of this file.
1
#include "
LcioEventSource.hh
"
2
3
// SLIC
4
#include "
MCParticleManager.hh
"
5
6
// LCIO
7
#include "UTIL/LCTOOLS.h"
8
9
namespace
slic
{
10
11
LcioEventSource::LcioEventSource
(
const
std::string& fname) :
12
EventSourceWithInputFile
(
"LcioEventSource"
, fname), m_eventGenerator(0) {
13
}
14
15
LcioEventSource::~LcioEventSource
() {
16
delete
m_eventGenerator
;
17
}
18
19
// open the current file
20
void
LcioEventSource::open
() {
21
m_eventGenerator
=
new
MCParticleGenerator
(
m_filename
);
22
m_fileIsOpen
=
true
;
23
}
24
25
// close the current file
26
void
LcioEventSource::close
() {
27
delete
m_eventGenerator
;
28
m_eventGenerator
= 0;
29
m_fileIsOpen
=
false
;
30
}
31
32
// read the next event
33
void
LcioEventSource::readNextEvent
() {
34
m_eventGenerator
->
readNextEvent
();
35
if
(
m_eventGenerator
->
getCurrentEvent
() == 0) {
36
m_eof
=
true
;
37
}
38
}
39
40
void
LcioEventSource::printCurrentEvent
() {
41
if
(
MCParticleManager::instance
()->getMCParticleCollection() != NULL)
42
UTIL::LCTOOLS::printMCParticles(
MCParticleManager::instance
()->getMCParticleCollection());
43
}
44
45
void
LcioEventSource::generate
(G4Event* anEvent) {
46
m_eventGenerator
->
generateEvent
(anEvent);
47
}
48
49
void
LcioEventSource::beginRun
(
const
G4Run* aRun) {
50
// do superclass action
51
EventSourceWithInputFile::beginRun
(aRun);
52
}
53
54
void
LcioEventSource::beginEvent
(
const
G4Event* anEvent) {
55
EventSourceWithInputFile::beginEvent
(anEvent);
56
}
57
58
}
LcioEventSource.hh
MCParticleManager.hh
Singleton< MCParticleManager >::instance
static MCParticleManager * instance()
slic::EventSourceWithInputFile
An EventSource with an associated input file, such as StdHep or LCIO event files.
Definition:
EventSourceWithInputFile.hh:15
slic::EventSourceWithInputFile::m_fileIsOpen
bool m_fileIsOpen
Definition:
EventSourceWithInputFile.hh:105
slic::EventSourceWithInputFile::m_eof
bool m_eof
Definition:
EventSourceWithInputFile.hh:104
slic::EventSourceWithInputFile::beginRun
void beginRun(const G4Run *run)
Definition:
EventSourceWithInputFile.cc:68
slic::EventSourceWithInputFile::m_filename
std::string m_filename
Definition:
EventSourceWithInputFile.hh:101
slic::EventSourceWithInputFile::beginEvent
void beginEvent(const G4Event *event)
Definition:
EventSourceWithInputFile.cc:64
slic::LcioEventSource::printCurrentEvent
void printCurrentEvent()
Definition:
LcioEventSource.cc:40
slic::LcioEventSource::close
void close()
Definition:
LcioEventSource.cc:26
slic::LcioEventSource::generate
void generate(G4Event *anEvent)
Definition:
LcioEventSource.cc:45
slic::LcioEventSource::readNextEvent
void readNextEvent()
Definition:
LcioEventSource.cc:33
slic::LcioEventSource::beginEvent
void beginEvent(const G4Event *anEvent)
Definition:
LcioEventSource.cc:54
slic::LcioEventSource::open
void open()
Definition:
LcioEventSource.cc:20
slic::LcioEventSource::~LcioEventSource
virtual ~LcioEventSource()
Definition:
LcioEventSource.cc:15
slic::LcioEventSource::LcioEventSource
LcioEventSource(const std::string &fname="")
Definition:
LcioEventSource.cc:11
slic::LcioEventSource::beginRun
void beginRun(const G4Run *aRun)
Definition:
LcioEventSource.cc:49
slic::LcioEventSource::m_eventGenerator
MCParticleGenerator * m_eventGenerator
Definition:
LcioEventSource.hh:74
slic::MCParticleGenerator
Converts from MCParticle collection into a G4Event.
Definition:
MCParticleGenerator.hh:31
slic::MCParticleGenerator::readNextEvent
void readNextEvent()
Definition:
MCParticleGenerator.cc:40
slic::MCParticleGenerator::getCurrentEvent
LCEvent * getCurrentEvent()
Definition:
MCParticleGenerator.cc:44
slic::MCParticleGenerator::generateEvent
void generateEvent(G4Event *event)
Definition:
MCParticleGenerator.cc:48
slic
Definition:
CommandLineOption.hh:9
Generated by
1.9.1