Base class for any interaction model between a particle and a tracker layer. More...
#include <InteractionModel.h>
Public Member Functions | |
const std::string | getName () |
Return (unique) name of this interaction. More... | |
virtual void | interact (Particle &particle, const SimplifiedGeometry &layer, std::vector< std::unique_ptr< Particle > > &secondaries, const RandomEngineAndDistribution &random)=0 |
Perform the interaction. More... | |
InteractionModel (std::string name) | |
Constructor. More... | |
virtual void | registerProducts (edm::ProducesCollector) const |
In case interaction produces and stores content in the event (e.g. TrackerSimHits). More... | |
virtual void | storeProducts (edm::Event &iEvent) |
In case interaction produces and stores content in the event (e.g. TrackerSimHits). More... | |
virtual | ~InteractionModel () |
Default destructor. More... | |
Private Attributes | |
const std::string | name_ |
A unique name for every instance of any interaction. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &o, const InteractionModel &model) |
Basic information output. More... | |
Base class for any interaction model between a particle and a tracker layer.
Every instance should have a distinct std::string name.
Definition at line 29 of file InteractionModel.h.
|
inline |
Constructor.
name | Enique name for every instance. |
Definition at line 35 of file InteractionModel.h.
|
inlinevirtual |
|
inline |
Return (unique) name of this interaction.
Definition at line 59 of file InteractionModel.h.
References name_.
Referenced by plotting.Plot::draw().
|
pure virtual |
Perform the interaction.
particle | The particle that interacts with the matter. |
layer | The detector layer that interacts with the particle. |
secondaries | Particles that are produced in the interaction (if any). |
random | The Random Engine. |
Implemented in fastsim::NuclearInteractionFTF, fastsim::NuclearInteraction, fastsim::MuonBremsstrahlung, fastsim::MultipleScattering, fastsim::Bremsstrahlung, fastsim::EnergyLoss, and fastsim::PairProduction.
|
inlinevirtual |
In case interaction produces and stores content in the event (e.g. TrackerSimHits).
Reimplemented in fastsim::TrackerSimHitProducer.
Definition at line 53 of file InteractionModel.h.
|
inlinevirtual |
In case interaction produces and stores content in the event (e.g. TrackerSimHits).
Reimplemented in fastsim::TrackerSimHitProducer.
Definition at line 56 of file InteractionModel.h.
|
friend |
Basic information output.
|
private |
A unique name for every instance of any interaction.
Definition at line 65 of file InteractionModel.h.
Referenced by getName(), and fastsim::operator<<().