Marlin  1.17.1
 All Classes Namespaces Functions Variables Enumerations Friends Pages
SimpleParticleFactory.h
1 #ifndef SimpleParticleFactory_h
2 #define SimpleParticleFactory_h 1
3 
4 #include "marlin/MarlinConfig.h"
5 
6 #ifdef MARLIN_CLHEP // only if CLHEP is available !
7 
8 #include "marlin/IRecoParticleFactory.h"
9 #include "marlin/IFourVectorSmearer.h"
10 #include "marlin/FastMCParticleType.h"
11 
12 
13 namespace marlin {
14 
24 
25  public:
26 
28 
29 
31  virtual ~SimpleParticleFactory() {}
32 
33 
36  virtual lcio::ReconstructedParticle* createReconstructedParticle( const lcio::MCParticle* mcp ) ;
37 
38 
42 
43 
46  virtual FastMCParticleType getParticleType( const lcio::MCParticle* mcp ) ;
47 
48 
49 // /** Helper function to determine the charge from the PDG (charge is missing from stdhep files)
50 // */
51 // virtual float getCharge( int pdgCode ) ;
52 
53 
56  virtual void setMomentumCut( double mCut ) ;
57 
58  protected:
59 
60  std::vector<IFourVectorSmearer*> _smearingVec ;
61  double _momentumCut ;
62 
63  };
64 
65 }
66 
67 #endif // MARLIN_CLHEP
68 
69 #endif // SimpleParticleFactory_h
virtual void setMomentumCut(double mCut)
Helper function to determine the charge from the PDG (charge is missing from stdhep files) ...
Definition: SimpleParticleFactory.cc:39
Interface for smearing of four vectors - based on CLHEP::HepLorentzVector.
Definition: IFourVectorSmearer.h:23
Implementation of IRecoParticleFactory that implements the default behaviour as described in SimpleFa...
Definition: SimpleParticleFactory.h:23
virtual lcio::ReconstructedParticle * createReconstructedParticle(const lcio::MCParticle *mcp)
The actual factory method that creates a new ReconstructedParticle.
Definition: SimpleParticleFactory.cc:99
virtual void registerIFourVectorSmearer(IFourVectorSmearer *sm, FastMCParticleType type)
Register a particle four vector smearer for the given type.
Definition: SimpleParticleFactory.cc:43
virtual ~SimpleParticleFactory()
Virtual d&#39;tor.
Definition: SimpleParticleFactory.h:31
FastMCParticleType
Enumeration that defines integer constants for various particle types used in the fast Monte Carlo...
Definition: FastMCParticleType.h:15
virtual FastMCParticleType getParticleType(const lcio::MCParticle *mcp)
Returns the type of the MCParticle.
Definition: SimpleParticleFactory.cc:50
Interface for a factory class that creates a ReconstructedParticle from an MCParticle.
Definition: IRecoParticleFactory.h:19