Geant4  9.6.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
G4INCL::InteractionAvatar Class Referenceabstract

#include <G4INCLInteractionAvatar.hh>

Inheritance diagram for G4INCL::InteractionAvatar:
Inheritance graph
[legend]
Collaboration diagram for G4INCL::InteractionAvatar:
Collaboration graph
[legend]

Public Member Functions

 InteractionAvatar (G4double, G4INCL::Nucleus *, G4INCL::Particle *)
 
 InteractionAvatar (G4double, G4INCL::Nucleus *, G4INCL::Particle *, G4INCL::Particle *)
 
virtual ~InteractionAvatar ()
 
- Public Member Functions inherited from G4INCL::IAvatar
 IAvatar ()
 
 IAvatar (G4double time)
 
virtual ~IAvatar ()
 
G4INCL::FinalStategetFinalState ()
 
G4double getTime () const
 
virtual ParticleList getParticles () const =0
 
virtual std::string dump () const =0
 
AvatarType getType () const
 
G4bool isACollision () const
 
G4bool isADecay () const
 
void setType (AvatarType t)
 
long getID () const
 
std::string toString ()
 

Static Public Attributes

static const G4double locEAccuracy = 1.E-4
 Target accuracy in the determination of the local-energy Q-value. More...
 
static const G4int maxIterLocE = 50
 Max number of iterations for the determination of the local-energy Q-value. More...
 

Protected Member Functions

virtual G4INCL::IChannelgetChannel () const =0
 
G4bool bringParticleInside (Particle *const p)
 
void preInteractionLocalEnergy (Particle *const p)
 Apply local-energy transformation, if appropriate. More...
 
void preInteractionBlocking ()
 Store the state of the particles before the interaction. More...
 
void preInteraction ()
 
FinalStatepostInteraction (FinalState *)
 
void restoreParticles () const
 Restore the state of both particles. More...
 
G4bool shouldUseLocalEnergy () const
 true if the given avatar should use local energy More...
 
G4bool enforceEnergyConservation (FinalState *const fs)
 Enforce energy conservation. More...
 

Protected Attributes

G4INCL::NucleustheNucleus
 
G4INCL::Particleparticle1
 
G4INCL::Particleparticle2
 
ThreeVector boostVector
 
ParticleType oldParticle1Type
 
ParticleType oldParticle2Type
 
G4double oldParticle1Energy
 
G4double oldParticle2Energy
 
G4double oldTotalEnergy
 
G4double oldXSec
 
G4double oldParticle1Potential
 
G4double oldParticle2Potential
 
G4double oldParticle1Mass
 
G4double oldParticle2Mass
 
G4double oldParticle1Helicity
 
G4double oldParticle2Helicity
 
ThreeVector oldParticle1Momentum
 
ThreeVector oldParticle2Momentum
 
ThreeVector oldParticle1Position
 
ThreeVector oldParticle2Position
 
G4bool isPiN
 
- Protected Attributes inherited from G4INCL::IAvatar
G4double theTime
 

Detailed Description

Definition at line 59 of file G4INCLInteractionAvatar.hh.

Constructor & Destructor Documentation

G4INCL::InteractionAvatar::InteractionAvatar ( G4double  time,
G4INCL::Nucleus n,
G4INCL::Particle p1 
)

Definition at line 62 of file G4INCLInteractionAvatar.cc.

G4INCL::InteractionAvatar::InteractionAvatar ( G4double  time,
G4INCL::Nucleus n,
G4INCL::Particle p1,
G4INCL::Particle p2 
)

Definition at line 68 of file G4INCLInteractionAvatar.cc.

G4INCL::InteractionAvatar::~InteractionAvatar ( )
virtual

Definition at line 76 of file G4INCLInteractionAvatar.cc.

Member Function Documentation

G4bool G4INCL::InteractionAvatar::bringParticleInside ( Particle *const  p)
protected

Definition at line 129 of file G4INCLInteractionAvatar.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4bool G4INCL::InteractionAvatar::enforceEnergyConservation ( FinalState *const  fs)
protected

Enforce energy conservation.

Final states generated by the channels might violate energy conservation because of different reasons (energy-dependent potentials, local energy...). This conservation law must therefore be enforced by hand. We do so by rescaling the momenta of the final-state particles in the CM frame. If this turns out to be impossible, this method returns false.

Returns
true if the algorithm succeeded

Definition at line 343 of file G4INCLInteractionAvatar.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

virtual G4INCL::IChannel* G4INCL::InteractionAvatar::getChannel ( ) const
protectedpure virtual
FinalState * G4INCL::InteractionAvatar::postInteraction ( FinalState fs)
protectedvirtual

Implements G4INCL::IAvatar.

Definition at line 154 of file G4INCLInteractionAvatar.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4INCL::InteractionAvatar::preInteraction ( )
protectedvirtual

Implements G4INCL::IAvatar.

Definition at line 111 of file G4INCLInteractionAvatar.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4INCL::InteractionAvatar::preInteractionBlocking ( )
protected

Store the state of the particles before the interaction.

If the interaction cannot be realised for any reason, we will need to restore the particle state as it was before. This is done by calling the restoreParticles() method.

Definition at line 79 of file G4INCLInteractionAvatar.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4INCL::InteractionAvatar::preInteractionLocalEnergy ( Particle *const  p)
protected

Apply local-energy transformation, if appropriate.

Parameters
pparticle to apply the transformation to

Definition at line 104 of file G4INCLInteractionAvatar.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void G4INCL::InteractionAvatar::restoreParticles ( ) const
protected

Restore the state of both particles.

The state must first be stored by calling preInteractionBlocking().

Definition at line 323 of file G4INCLInteractionAvatar.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4bool G4INCL::InteractionAvatar::shouldUseLocalEnergy ( ) const
inlineprotected

true if the given avatar should use local energy

Definition at line 99 of file G4INCLInteractionAvatar.hh.

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

ThreeVector G4INCL::InteractionAvatar::boostVector
protected

Definition at line 114 of file G4INCLInteractionAvatar.hh.

G4bool G4INCL::InteractionAvatar::isPiN
protected

Definition at line 122 of file G4INCLInteractionAvatar.hh.

const G4double G4INCL::InteractionAvatar::locEAccuracy = 1.E-4
static

Target accuracy in the determination of the local-energy Q-value.

Definition at line 66 of file G4INCLInteractionAvatar.hh.

const G4int G4INCL::InteractionAvatar::maxIterLocE = 50
static

Max number of iterations for the determination of the local-energy Q-value.

Definition at line 68 of file G4INCLInteractionAvatar.hh.

G4double G4INCL::InteractionAvatar::oldParticle1Energy
protected

Definition at line 116 of file G4INCLInteractionAvatar.hh.

G4double G4INCL::InteractionAvatar::oldParticle1Helicity
protected

Definition at line 119 of file G4INCLInteractionAvatar.hh.

G4double G4INCL::InteractionAvatar::oldParticle1Mass
protected

Definition at line 118 of file G4INCLInteractionAvatar.hh.

ThreeVector G4INCL::InteractionAvatar::oldParticle1Momentum
protected

Definition at line 120 of file G4INCLInteractionAvatar.hh.

ThreeVector G4INCL::InteractionAvatar::oldParticle1Position
protected

Definition at line 121 of file G4INCLInteractionAvatar.hh.

G4double G4INCL::InteractionAvatar::oldParticle1Potential
protected

Definition at line 117 of file G4INCLInteractionAvatar.hh.

ParticleType G4INCL::InteractionAvatar::oldParticle1Type
protected

Definition at line 115 of file G4INCLInteractionAvatar.hh.

G4double G4INCL::InteractionAvatar::oldParticle2Energy
protected

Definition at line 116 of file G4INCLInteractionAvatar.hh.

G4double G4INCL::InteractionAvatar::oldParticle2Helicity
protected

Definition at line 119 of file G4INCLInteractionAvatar.hh.

G4double G4INCL::InteractionAvatar::oldParticle2Mass
protected

Definition at line 118 of file G4INCLInteractionAvatar.hh.

ThreeVector G4INCL::InteractionAvatar::oldParticle2Momentum
protected

Definition at line 120 of file G4INCLInteractionAvatar.hh.

ThreeVector G4INCL::InteractionAvatar::oldParticle2Position
protected

Definition at line 121 of file G4INCLInteractionAvatar.hh.

G4double G4INCL::InteractionAvatar::oldParticle2Potential
protected

Definition at line 117 of file G4INCLInteractionAvatar.hh.

ParticleType G4INCL::InteractionAvatar::oldParticle2Type
protected

Definition at line 115 of file G4INCLInteractionAvatar.hh.

G4double G4INCL::InteractionAvatar::oldTotalEnergy
protected

Definition at line 116 of file G4INCLInteractionAvatar.hh.

G4double G4INCL::InteractionAvatar::oldXSec
protected

Definition at line 116 of file G4INCLInteractionAvatar.hh.

G4INCL::Particle* G4INCL::InteractionAvatar::particle1
protected

Definition at line 113 of file G4INCLInteractionAvatar.hh.

G4INCL::Particle * G4INCL::InteractionAvatar::particle2
protected

Definition at line 113 of file G4INCLInteractionAvatar.hh.

G4INCL::Nucleus* G4INCL::InteractionAvatar::theNucleus
protected

Definition at line 112 of file G4INCLInteractionAvatar.hh.


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