OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Member Functions | Protected Attributes | Private Attributes | List of all members
ParticleMatterInteractionHandler Class Referenceabstract

#include <ParticleMatterInteractionHandler.hh>

Inheritance diagram for ParticleMatterInteractionHandler:
Inheritance graph
[legend]
Collaboration diagram for ParticleMatterInteractionHandler:
Collaboration graph
[legend]

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, size_t numParticlesInSimulation=0)=0
 
virtual const std::string getType () const =0
 
virtual void print (Inform &os)=0
 
virtual bool stillActive ()=0
 
virtual bool stillAlive (PartBunchBase< double, 3 > *bunch)=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 (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 More...
 

Private Attributes

const std::string name_m
 

Detailed Description

Definition at line 13 of file ParticleMatterInteractionHandler.hh.

Constructor & Destructor Documentation

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

Definition at line 46 of file ParticleMatterInteractionHandler.hh.

virtual ParticleMatterInteractionHandler::~ParticleMatterInteractionHandler ( )
inlinevirtual

Definition at line 16 of file ParticleMatterInteractionHandler.hh.

Member Function Documentation

virtual void ParticleMatterInteractionHandler::apply ( PartBunchBase< double, 3 > *  bunch,
const std::pair< Vector_t, double > &  boundingSphere,
size_t  numParticlesInSimulation = 0 
)
pure virtual
virtual bool ParticleMatterInteractionHandler::computeEnergyLoss ( Vector_t P,
const double  deltat,
bool  includeFluctuations = true 
) const
pure virtual
ElementBase * ParticleMatterInteractionHandler::getElement ( )
inline
bool ParticleMatterInteractionHandler::getFlagAllParticlesIn ( ) const
inline

Definition at line 68 of file ParticleMatterInteractionHandler.hh.

References allParticleInMat_m.

virtual std::string ParticleMatterInteractionHandler::getName ( )
pure virtual
virtual unsigned int ParticleMatterInteractionHandler::getNumEntered ( )
pure virtual
virtual size_t ParticleMatterInteractionHandler::getParticlesInMat ( )
pure virtual
virtual unsigned ParticleMatterInteractionHandler::getRediffused ( )
pure virtual
virtual double ParticleMatterInteractionHandler::getTime ( )
pure virtual
virtual const std::string ParticleMatterInteractionHandler::getType ( ) const
pure virtual
virtual void ParticleMatterInteractionHandler::print ( Inform os)
pure virtual
void ParticleMatterInteractionHandler::setFlagAllParticlesIn ( bool  p)
inline
virtual bool ParticleMatterInteractionHandler::stillActive ( )
pure virtual
virtual bool ParticleMatterInteractionHandler::stillAlive ( PartBunchBase< double, 3 > *  bunch)
pure virtual
void ParticleMatterInteractionHandler::updateElement ( ElementBase newref)
inline

Member Data Documentation

bool ParticleMatterInteractionHandler::allParticleInMat_m
protected

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

Definition at line 39 of file ParticleMatterInteractionHandler.hh.

Referenced by CollimatorPhysics::applyNonDKS(), getFlagAllParticlesIn(), and setFlagAllParticlesIn().

ElementBase* ParticleMatterInteractionHandler::element_ref_m
protected
const std::string ParticleMatterInteractionHandler::name_m
private

Definition at line 41 of file ParticleMatterInteractionHandler.hh.


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