Geant4  10.02
G4INCL::SurfaceAvatar Class Reference

Surface avatar. More...

#include <G4INCLSurfaceAvatar.hh>

+ Inheritance diagram for G4INCL::SurfaceAvatar:
+ Collaboration diagram for G4INCL::SurfaceAvatar:

Public Member Functions

 SurfaceAvatar (G4INCL::Particle *aParticle, G4double time, G4INCL::Nucleus *aNucleus)
 
virtual ~SurfaceAvatar ()
 
IChannelgetChannel ()
 
void fillFinalState (FinalState *fs)
 
virtual void preInteraction ()
 
virtual void postInteraction (FinalState *)
 
ParticleList getParticles () const
 
std::string dump () const
 
G4double getTransmissionProbability (Particle const *const particle)
 Calculate the transmission probability for the particle. More...
 
G4double getCosRefractionAngle () const
 Get the cosine of the refraction angle (precalculated by initializeRefractionVariables) More...
 
G4double getOutgoingMomentum () const
 Get the outgoing momentum (precalculated by initializeRefractionVariables) More...
 
- Public Member Functions inherited from G4INCL::IAvatar
 IAvatar ()
 
 IAvatar (G4double time)
 
virtual ~IAvatar ()
 
FinalStategetFinalState ()
 
void fillFinalState (FinalState *fs)
 
G4double getTime () const
 
AvatarType getType () const
 
G4bool isACollision () const
 
G4bool isADecay () const
 
void setType (AvatarType t)
 
long getID () const
 
std::string toString ()
 

Private Member Functions

void initializeRefractionVariables (Particle const *const particle)
 
 INCL_DECLARE_ALLOCATION_POOL (SurfaceAvatar)
 

Private Attributes

G4INCL::ParticletheParticle
 
G4INCL::NucleustheNucleus
 
G4double particlePIn
 
G4double particlePOut
 
G4double particleTOut
 
G4double TMinusV
 
G4double TMinusV2
 
G4double particleMass
 
G4double sinIncidentAngle
 
G4double cosIncidentAngle
 
G4double sinRefractionAngle
 
G4double cosRefractionAngle
 
G4double refractionIndexRatio
 
G4bool internalReflection
 

Additional Inherited Members

- Protected Member Functions inherited from G4INCL::IAvatar
 INCL_DECLARE_ALLOCATION_POOL (IAvatar)
 
- Protected Attributes inherited from G4INCL::IAvatar
G4double theTime
 

Detailed Description

Surface avatar.

The reflection avatar is created when a particle reaches the boundary of the nucleus. At this point it can either be reflected from the boundary or exit the nucleus.

Definition at line 62 of file G4INCLSurfaceAvatar.hh.

Constructor & Destructor Documentation

G4INCL::SurfaceAvatar::SurfaceAvatar ( G4INCL::Particle aParticle,
G4double  time,
G4INCL::Nucleus aNucleus 
)

Definition at line 55 of file G4INCLSurfaceAvatar.cc.

References G4INCL::IAvatar::setType(), and G4INCL::SurfaceAvatarType.

+ Here is the call graph for this function:

G4INCL::SurfaceAvatar::~SurfaceAvatar ( )
virtual

Definition at line 73 of file G4INCLSurfaceAvatar.cc.

Member Function Documentation

std::string G4INCL::SurfaceAvatar::dump ( ) const
virtual

Implements G4INCL::IAvatar.

Definition at line 192 of file G4INCLSurfaceAvatar.cc.

References G4INCL::Particle::dump(), theParticle, and G4INCL::IAvatar::theTime.

+ Here is the call graph for this function:

void G4INCL::SurfaceAvatar::fillFinalState ( FinalState fs)

Definition at line 166 of file G4INCLSurfaceAvatar.cc.

References G4INCL::IChannel::fillFinalState(), and getChannel().

+ Here is the call graph for this function:

G4double G4INCL::SurfaceAvatar::getCosRefractionAngle ( ) const
inline

Get the cosine of the refraction angle (precalculated by initializeRefractionVariables)

Definition at line 85 of file G4INCLSurfaceAvatar.hh.

References cosRefractionAngle.

G4double G4INCL::SurfaceAvatar::getOutgoingMomentum ( ) const
inline

Get the outgoing momentum (precalculated by initializeRefractionVariables)

Definition at line 88 of file G4INCLSurfaceAvatar.hh.

References particlePOut.

ParticleList G4INCL::SurfaceAvatar::getParticles ( ) const
inlinevirtual

Implements G4INCL::IAvatar.

Definition at line 73 of file G4INCLSurfaceAvatar.hh.

References theParticle.

G4double G4INCL::SurfaceAvatar::getTransmissionProbability ( Particle const *const  particle)

Calculate the transmission probability for the particle.

Definition at line 201 of file G4INCLSurfaceAvatar.cc.

References G4INCL::Math::arcCos(), cosIncidentAngle, cosRefractionAngle, G4INCL::Particle::getA(), G4INCL::Store::getConfig(), G4INCL::Particle::getEmissionQValueCorrection(), G4INCL::Particle::getKineticEnergy(), G4INCL::Particle::getMass(), G4INCL::Particle::getMomentum(), G4INCL::Particle::getPotentialEnergy(), G4INCL::Config::getRefraction(), G4INCL::Nucleus::getStore(), G4INCL::Nucleus::getTransmissionBarrier(), G4INCL::Particle::getZ(), INCL_DEBUG, initializeRefractionVariables(), internalReflection, G4INCL::ThreeVector::mag2(), particleMass, particlePIn, particlePOut, particleTOut, refractionIndexRatio, theNucleus, TMinusV, TMinusV2, and x.

Referenced by getChannel().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4INCL::SurfaceAvatar::INCL_DECLARE_ALLOCATION_POOL ( SurfaceAvatar  )
private
void G4INCL::SurfaceAvatar::initializeRefractionVariables ( Particle const *const  particle)
private

Definition at line 272 of file G4INCLSurfaceAvatar.cc.

References cosIncidentAngle, cosRefractionAngle, G4INCL::Particle::getCosRPAngle(), INCL_DEBUG, internalReflection, particlePIn, particlePOut, refractionIndexRatio, sinIncidentAngle, and sinRefractionAngle.

Referenced by getTransmissionProbability().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4INCL::SurfaceAvatar::postInteraction ( FinalState fs)
virtual

Implements G4INCL::IAvatar.

Definition at line 172 of file G4INCLSurfaceAvatar.cc.

References G4INCL::Book::decrementCascading(), G4INCL::Store::getBook(), G4INCL::FinalState::getOutgoingParticles(), G4INCL::Cluster::getParticles(), G4INCL::Nucleus::getStore(), G4INCL::Particle::isCluster(), G4INCL::Particle::isTargetSpectator(), G4INCL::Particle::rpCorrelate(), theNucleus, and theParticle.

+ Here is the call graph for this function:

void G4INCL::SurfaceAvatar::preInteraction ( )
virtual

Implements G4INCL::IAvatar.

Definition at line 170 of file G4INCLSurfaceAvatar.cc.

Member Data Documentation

G4double G4INCL::SurfaceAvatar::cosIncidentAngle
private
G4double G4INCL::SurfaceAvatar::cosRefractionAngle
private
G4bool G4INCL::SurfaceAvatar::internalReflection
private
G4double G4INCL::SurfaceAvatar::particleMass
private

Definition at line 102 of file G4INCLSurfaceAvatar.hh.

Referenced by getTransmissionProbability().

G4double G4INCL::SurfaceAvatar::particlePIn
private
G4double G4INCL::SurfaceAvatar::particlePOut
private
G4double G4INCL::SurfaceAvatar::particleTOut
private

Definition at line 99 of file G4INCLSurfaceAvatar.hh.

Referenced by getTransmissionProbability().

G4double G4INCL::SurfaceAvatar::refractionIndexRatio
private
G4double G4INCL::SurfaceAvatar::sinIncidentAngle
private

Definition at line 103 of file G4INCLSurfaceAvatar.hh.

Referenced by initializeRefractionVariables().

G4double G4INCL::SurfaceAvatar::sinRefractionAngle
private

Definition at line 105 of file G4INCLSurfaceAvatar.hh.

Referenced by initializeRefractionVariables().

G4INCL::Nucleus* G4INCL::SurfaceAvatar::theNucleus
private

Definition at line 95 of file G4INCLSurfaceAvatar.hh.

Referenced by getChannel(), getTransmissionProbability(), and postInteraction().

G4INCL::Particle* G4INCL::SurfaceAvatar::theParticle
private

Definition at line 94 of file G4INCLSurfaceAvatar.hh.

Referenced by dump(), getChannel(), getParticles(), and postInteraction().

G4double G4INCL::SurfaceAvatar::TMinusV
private

Definition at line 100 of file G4INCLSurfaceAvatar.hh.

Referenced by getChannel(), and getTransmissionProbability().

G4double G4INCL::SurfaceAvatar::TMinusV2
private

Definition at line 101 of file G4INCLSurfaceAvatar.hh.

Referenced by getTransmissionProbability().


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