9#ifndef ISF_FATRASINTERFACES_IHADRONICINTERACTIONPROCESSOR_H
10#define ISF_FATRASINTERFACES_IHADRONICINTERACTIONPROCESSOR_H
13#include "GaudiKernel/IAlgTool.h"
50 double p,
double E,
double charge,
64 bool processSecondaries=
true)
const ;
double charge(const T &p)
std::vector< size_t > vec
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
The generic ISF particle definition,.
Material with information about thickness of material.
A common object to be contained by.
Interface definition for the handling of nuclear/hadronic interactions, to be used by the MC based ma...
DeclareInterfaceID(IHadronicInteractionProcessor, 1, 0)
Creates the InterfaceID and interfaceID() method.
virtual bool hadronicInteraction(const Amg::Vector3D &position, const Amg::Vector3D &momentum, double p, double E, double charge, const Trk::MaterialProperties &mprop, double pathCorrection, Trk::ParticleHypothesis particle=Trk::pion) const =0
interface for processing of the nuclear interactions
virtual ISF::ISFParticleVector doHadIntOnLayer(const ISF::ISFParticle *parent, double time, const Amg::Vector3D &position, const Amg::Vector3D &momentum, const Trk::Material *mat, Trk::ParticleHypothesis particle=Trk::pion) const
interface for processing of the presampled nuclear interactions on layer
virtual bool recordHadState(double time, double p, const Amg::Vector3D &vertex, const Amg::Vector3D &momDir, Trk::ParticleHypothesis particle=Trk::pion) const
interface for processing of the presampled nuclear interactions
virtual bool doHadronicInteraction(double time, const Amg::Vector3D &position, const Amg::Vector3D &momentum, const Trk::Material *ematprop, Trk::ParticleHypothesis particle=Trk::pion, bool processSecondaries=true) const
interface for processing of the presampled nuclear interactions
virtual ~IHadronicInteractionProcessor()
Virtual destructor.
Eigen::Matrix< double, 3, 1 > Vector3D
std::vector< ISF::ISFParticle * > ISFParticleVector
ISFParticle vector.
Ensure that the ATLAS eigen extensions are properly loaded.
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.