DeclareInterfaceID(IParticleHelper, 1, 0)
Creates the InterfaceID and interfaceID() method.
virtual ISFParticle * createParticle(const Amg::Vector3D &x, const Amg::Vector3D &p, double pMass, double pCharge, int pPdgId, int status, double pTime, const ISFParticle &parent, int bc=HepMC::UNDEFINED_ID, int id=0, TruthBinding *tBinding=nullptr, const HepMcParticleLink *partLink=nullptr) const =0
Create a new particle.
virtual ~IParticleHelper()
Virtual destructor.
a link optimized in size for a GenParticle in a McEventCollection
virtual ISFParticle * updatedParticle(const ISFParticle &origIsp, const Amg::Vector3D &updatedPos, const Amg::Vector3D &updatedMom, double deltaTime=0.) const =0
An updated particle (e.g.
virtual ISFParticle * createParticle(const HepGeom::Point3D< double > &x, const HepGeom::Vector3D< double > &p, double pMass, double pCharge, int pPdgId, int status, double pTime, const ISFParticle &parent, int bc=HepMC::UNDEFINED_ID, int id=0, TruthBinding *tBinding=nullptr, const HepMcParticleLink *partLink=nullptr) const =0
Create a new particle.
virtual ISFParticle * createParticle(double x, double y, double z, double px, double py, double pz, double pMass, double pCharge, int pPdgId, int status, double pTime, const ISFParticle &parent, int bc=HepMC::UNDEFINED_ID, int id=0, TruthBinding *tBinding=nullptr, const HepMcParticleLink *partLink=nullptr) const =0
Create a new particle.
virtual ISFParticle * updatedParticle(const ISFParticle &origIsp, const HepGeom::Point3D< double > &updatedPos, const HepGeom::Vector3D< double > &updatedMom, double deltaTime=0.) const =0
An updated particle (e.g.