ITransportedParticleFactory.h

Go to the documentation of this file.
00001 #ifndef ATLFAST_ITRANSPORTEDPARTICLEFACTORY_H
00002 #define ATLFAST_ITRANSPORTEDPARTICLEFACTORY_H
00003 
00004 #include "AtlfastEvent/ITransportedParticle.h"
00005 #include "HepMC/GenParticle.h"
00006 
00007 #include <vector>
00008 
00009 namespace Atlfast{
00010   
00011   // Define a unary predicate object type:
00012   class IsThisAMonopole{
00013   public:
00014     IsThisAMonopole(int id):m_id(id){};
00015     // operator() will return true if the absolute values for
00016     // the input particle and monopoleID are equal
00017     bool operator()(int id) const { return id*id == m_id*m_id; }
00018   private:
00019     int m_id;
00020   };
00021   
00022   class ITransportedParticleFactory {
00023   public:
00024     ITransportedParticleFactory(){};
00025     ~ITransportedParticleFactory(){};
00026     static ITransportedParticle* create(const HepMC::GenParticle* const &gen_particle, const std::vector<int>&);
00027   };
00028   
00029 }
00030 
00031 #endif

Generated on Fri Sep 21 13:00:09 2007 for AtlfastEvent by  doxygen 1.5.1