OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
ParticleMatterInteractionHandler Class Referenceabstract

#include <ParticleMatterInteractionHandler.h>

Inheritance diagram for ParticleMatterInteractionHandler:
Collaboration diagram for ParticleMatterInteractionHandler:

Public Member Functions

 ParticleMatterInteractionHandler (std::string name, ElementBase *elref)
virtual ~ParticleMatterInteractionHandler ()
virtual void apply (PartBunchBase< double, 3 > *bunch, const std::pair< Vector_t, double > &boundingSphere)=0
virtual const std::string getType () const =0
virtual void print (Inform &os)=0
virtual bool stillActive ()=0
virtual double getTime ()=0
virtual std::string getName ()=0
virtual size_t getParticlesInMat ()=0
virtual unsigned getRediffused ()=0
virtual unsigned int getNumEntered ()=0
void setFlagAllParticlesIn (bool p)
bool getFlagAllParticlesIn () const
void updateElement (ElementBase *newref)
ElementBasegetElement ()
virtual bool computeEnergyLoss (PartBunchBase< double, 3 > *bunch, Vector_t &P, const double deltat, bool includeFluctuations=true) const =0

Protected Attributes

ElementBaseelement_ref_m
bool allParticleInMat_m
 if all particles are in matter stay inside the particle matter interaction
const std::string name_m
std::unique_ptr< InsideTesterhitTester_m

Detailed Description

Definition at line 38 of file ParticleMatterInteractionHandler.h.

Constructor & Destructor Documentation

◆ ParticleMatterInteractionHandler()

ParticleMatterInteractionHandler::ParticleMatterInteractionHandler ( std::string name,
ElementBase * elref )
inline

◆ ~ParticleMatterInteractionHandler()

virtual ParticleMatterInteractionHandler::~ParticleMatterInteractionHandler ( )
inlinevirtual

Definition at line 42 of file ParticleMatterInteractionHandler.h.

Member Function Documentation

◆ apply()

virtual void ParticleMatterInteractionHandler::apply ( PartBunchBase< double, 3 > * bunch,
const std::pair< Vector_t, double > & boundingSphere )
pure virtual

◆ computeEnergyLoss()

virtual bool ParticleMatterInteractionHandler::computeEnergyLoss ( PartBunchBase< double, 3 > * bunch,
Vector_t & P,
const double deltat,
bool includeFluctuations = true ) const
pure virtual

◆ getElement()

ElementBase * ParticleMatterInteractionHandler::getElement ( )
inline

Definition at line 86 of file ParticleMatterInteractionHandler.h.

References element_ref_m.

◆ getFlagAllParticlesIn()

bool ParticleMatterInteractionHandler::getFlagAllParticlesIn ( ) const
inline

Definition at line 96 of file ParticleMatterInteractionHandler.h.

References allParticleInMat_m.

◆ getName()

virtual std::string ParticleMatterInteractionHandler::getName ( )
pure virtual

◆ getNumEntered()

virtual unsigned int ParticleMatterInteractionHandler::getNumEntered ( )
pure virtual

◆ getParticlesInMat()

virtual size_t ParticleMatterInteractionHandler::getParticlesInMat ( )
pure virtual

◆ getRediffused()

virtual unsigned ParticleMatterInteractionHandler::getRediffused ( )
pure virtual

◆ getTime()

virtual double ParticleMatterInteractionHandler::getTime ( )
pure virtual

◆ getType()

virtual const std::string ParticleMatterInteractionHandler::getType ( ) const
pure virtual

◆ print()

virtual void ParticleMatterInteractionHandler::print ( Inform & os)
pure virtual

◆ setFlagAllParticlesIn()

void ParticleMatterInteractionHandler::setFlagAllParticlesIn ( bool p)
inline

◆ stillActive()

virtual bool ParticleMatterInteractionHandler::stillActive ( )
pure virtual

◆ updateElement()

void ParticleMatterInteractionHandler::updateElement ( ElementBase * newref)
inline

Definition at line 81 of file ParticleMatterInteractionHandler.h.

References element_ref_m.

Member Data Documentation

◆ allParticleInMat_m

bool ParticleMatterInteractionHandler::allParticleInMat_m
protected

if all particles are in matter stay inside the particle matter interaction

Definition at line 66 of file ParticleMatterInteractionHandler.h.

Referenced by ScatteringPhysics::apply(), getFlagAllParticlesIn(), ParticleMatterInteractionHandler(), and setFlagAllParticlesIn().

◆ element_ref_m

◆ hitTester_m

◆ name_m

const std::string ParticleMatterInteractionHandler::name_m
protected

The documentation for this class was generated from the following file: