ATLAS Offline Software
IGenParticleFilter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // IGenParticleFilter.h, (c) ATLAS Detector software
8 
9 #ifndef ISF_HEPMC_INTERFACES_IGENPARTICLEFILTER_H
10 #define ISF_HEPMC_INTERFACES_IGENPARTICLEFILTER_H 1
11 
12 // Gaudi
13 #include "GaudiKernel/IAlgTool.h"
14 
15 // Simulation includes
16 #include "ISF_Event/SimSvcID.h"
17 
19 
20 namespace ISF {
21 
31  class IGenParticleFilter : virtual public IAlgTool {
32  public:
33 
35  virtual ~IGenParticleFilter(){}
36 
39 
40 #ifdef HEPMC3
41 
42  virtual bool pass(const HepMC::ConstGenParticlePtr& particle) const = 0;
43 #else
44 
45  virtual bool pass(const HepMC::GenParticle& particle) const = 0;
46 #endif
47 
48  };
49 
50 } // end of namespace
51 
52 #endif // ISF_HEPMC_INTERFACES_IGENPARTICLEFILTER_H
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
ISF::IGenParticleFilter::pass
virtual bool pass(const HepMC::GenParticle &particle) const =0
Returns a boolean if the particle has passed or not.
GenParticle_fwd.h
ISF::IGenParticleFilter::DeclareInterfaceID
DeclareInterfaceID(IGenParticleFilter, 1, 0)
Creates the InterfaceID and interfaceID() method.
HepMC::ConstGenParticlePtr
const GenParticle * ConstGenParticlePtr
Definition: GenParticle.h:38
ISF::IGenParticleFilter
Definition: IGenParticleFilter.h:31
ISF
ISFParticleOrderedQueue.
Definition: PrimaryParticleInformation.h:13
ISF::IGenParticleFilter::~IGenParticleFilter
virtual ~IGenParticleFilter()
Virtual destructor.
Definition: IGenParticleFilter.h:35
SimSvcID.h
GenParticle
@ GenParticle
Definition: TruthClasses.h:30