00001
00002
00003 #ifndef SLIC_LCIOMCPFILTER_HH
00004 #define SLIC_LCIOMCPFILTER_HH 1
00005
00006
00007 #include "Module.hh"
00008
00009
00010 #include "EVENT/LCEvent.h"
00011 #include "EVENT/LCCollection.h"
00012 #include "EVENT/MCParticle.h"
00013 #include "IMPL/MCParticleImpl.h"
00014
00015 namespace slic
00016 {
00021 class LcioMcpFilter : public Module
00022 {
00023
00024 public:
00025
00026 LcioMcpFilter();
00027 virtual ~LcioMcpFilter();
00028
00029 public:
00030
00031 EVENT::LCCollection* filterSimParticles(EVENT::LCCollection* mcpColl);
00032 IMPL::MCParticleImpl* makeMcp(EVENT::MCParticle* mcp, EVENT::LCCollection* mcpColl);
00033 void addSimDaughters(EVENT::MCParticle* mcp, EVENT::MCParticle* parMcp, EVENT::LCCollection* mcpColl);
00034
00035 bool wasAdded(EVENT::MCParticle* mcp);
00036
00037 private:
00038 std::vector<EVENT::MCParticle*> m_mcpList;
00039 };
00040 }
00041
00042 #endif