1 #ifndef SLIC_MCPARTICLE_MANAGER_HH_
2 #define SLIC_MCPARTICLE_MANAGER_HH_ 1
9 #include "EVENT/LCCollection.h"
10 #include "IMPL/LCCollectionVec.h"
11 #include "IMPL/MCParticleImpl.h"
12 #include "EVENT/MCParticle.h"
17 #include "G4PrimaryParticle.hh"
26 using EVENT::LCCollection;
27 using EVENT::MCParticle;
28 using IMPL::MCParticleImpl;
29 using IMPL::LCCollectionVec;
116 _mcpVec =
new LCCollectionVec(EVENT::LCIO::MCPARTICLE);
132 inline int indexOf(G4PrimaryParticle* primary) {
141 void generateEvent(LCCollectionVec* mcparticles, G4Event* event);
162 std::set<G4PrimaryParticle*>
createPrimary(G4PrimaryParticle* parent, MCParticle* mcp);
175 bool isDaughter(G4PrimaryParticle* particle,
const std::set<G4PrimaryParticle*>& primaries);
Management of global MCParticle information.
int indexOf(MCParticle *particle)
std::vector< G4PrimaryParticle * > _primaryVec
virtual ~MCParticleManager()
void applyLorentzTransformation(LCCollection *mcparticles, const G4double angle)
void addMCParticleTrackID(G4int trackId, MCParticle *particle)
void generateEvent(LCCollectionVec *mcparticles, G4Event *event)
PrimaryParticleMap _primaryMap
PrimaryParticleMap * getPrimaryParticleMap()
G4double smearZPosition(const G4double rms)
void setMCParticleCollection(LCCollectionVec *mcpVec)
LCCollectionVec * _inputVec
int indexOf(G4PrimaryParticle *primary)
std::set< G4PrimaryParticle * > createPrimary(G4PrimaryParticle *parent, MCParticle *mcp)
void createMCParticleCollection()
G4PrimaryVertex * createVertex(MCParticle *mcp)
bool isDaughter(G4PrimaryParticle *particle, const std::set< G4PrimaryParticle * > &primaries)
LCCollectionVec * _mcpVec
LCCollectionVec * getMCParticleCollection()
MCParticle * findMCParticle(G4int trackId)
Base class for slic code modules that provides common functionality, such as logging to an output str...
map< G4PrimaryParticle *, MCParticle * > MCParticleMap
set< MCParticle * > MCParticleSet
map< MCParticle *, G4PrimaryParticle * > PrimaryParticleMap
PrimaryParticleMap::iterator PrimaryParticleMapIterator
map< G4int, MCParticle * > TrackIDMap