Geant4  10.02.p03
G4INCL::InteractionAvatar Class Referenceabstract

#include <G4INCLInteractionAvatar.hh>

Inheritance diagram for G4INCL::InteractionAvatar:
Collaboration diagram for G4INCL::InteractionAvatar:

Classes

class  ViolationEEnergyFunctor
 RootFunctor-derived object for enforcing energy conservation in delta production. More...
 
class  ViolationEMomentumFunctor
 RootFunctor-derived object for enforcing energy conservation in N-N. More...
 

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 ()
 
FinalStategetFinalState ()
 
void fillFinalState (FinalState *fs)
 
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 Member Functions

static void deleteBackupParticles ()
 Release the memory allocated for the backup particles. More...
 

Static Public Attributes

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

Protected Member Functions

virtual G4INCL::IChannelgetChannel ()=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 ()
 
void postInteraction (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...
 
 INCL_DECLARE_ALLOCATION_POOL (InteractionAvatar)
 
- Protected Member Functions inherited from G4INCL::IAvatar
 INCL_DECLARE_ALLOCATION_POOL (IAvatar)
 

Protected Attributes

NucleustheNucleus
 
Particleparticle1
 
Particleparticle2
 
ThreeVector boostVector
 
G4double oldTotalEnergy
 
G4double oldXSec
 
G4bool isPiN
 
ParticleList modified
 
ParticleList created
 
ParticleList modifiedAndCreated
 
- Protected Attributes inherited from G4INCL::IAvatar
G4double theTime
 

Static Protected Attributes

static G4ThreadLocal ParticlebackupParticle1
 
static G4ThreadLocal ParticlebackupParticle2
 

Private Attributes

RootFunctorviolationEFunctor
 

Detailed Description

Definition at line 61 of file G4INCLInteractionAvatar.hh.

Constructor & Destructor Documentation

◆ InteractionAvatar() [1/2]

G4INCL::InteractionAvatar::InteractionAvatar ( G4double  ,
G4INCL::Nucleus ,
G4INCL::Particle  
)

◆ InteractionAvatar() [2/2]

G4INCL::InteractionAvatar::InteractionAvatar ( G4double  ,
G4INCL::Nucleus ,
G4INCL::Particle ,
G4INCL::Particle  
)

◆ ~InteractionAvatar()

virtual G4INCL::InteractionAvatar::~InteractionAvatar ( )
virtual

Member Function Documentation

◆ bringParticleInside()

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

◆ deleteBackupParticles()

static void G4INCL::InteractionAvatar::deleteBackupParticles ( )
static

Release the memory allocated for the backup particles.

Here is the caller graph for this function:

◆ enforceEnergyConservation()

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
Here is the caller graph for this function:

◆ getChannel()

virtual G4INCL::IChannel* G4INCL::InteractionAvatar::getChannel ( )
protectedpure virtual

◆ INCL_DECLARE_ALLOCATION_POOL()

G4INCL::InteractionAvatar::INCL_DECLARE_ALLOCATION_POOL ( InteractionAvatar  )
protected

◆ postInteraction()

void G4INCL::InteractionAvatar::postInteraction ( FinalState )
protectedvirtual

Implements G4INCL::IAvatar.

Here is the caller graph for this function:

◆ preInteraction()

void G4INCL::InteractionAvatar::preInteraction ( )
protectedvirtual

Implements G4INCL::IAvatar.

Here is the caller graph for this function:

◆ preInteractionBlocking()

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.

◆ preInteractionLocalEnergy()

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

Apply local-energy transformation, if appropriate.

Parameters
pparticle to apply the transformation to

◆ restoreParticles()

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

Restore the state of both particles.

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

Here is the caller graph for this function:

◆ shouldUseLocalEnergy()

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

true if the given avatar should use local energy

Member Data Documentation

◆ backupParticle1

G4ThreadLocal Particle* G4INCL::InteractionAvatar::backupParticle1
staticprotected

Definition at line 108 of file G4INCLInteractionAvatar.hh.

◆ backupParticle2

G4ThreadLocal Particle * G4INCL::InteractionAvatar::backupParticle2
staticprotected

Definition at line 108 of file G4INCLInteractionAvatar.hh.

◆ boostVector

ThreeVector G4INCL::InteractionAvatar::boostVector
protected

Definition at line 109 of file G4INCLInteractionAvatar.hh.

◆ created

ParticleList G4INCL::InteractionAvatar::created
protected

Definition at line 222 of file G4INCLInteractionAvatar.hh.

◆ isPiN

G4bool G4INCL::InteractionAvatar::isPiN
protected

Definition at line 111 of file G4INCLInteractionAvatar.hh.

◆ locEAccuracy

const G4double G4INCL::InteractionAvatar::locEAccuracy
static

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

Definition at line 68 of file G4INCLInteractionAvatar.hh.

◆ maxIterLocE

const G4int G4INCL::InteractionAvatar::maxIterLocE
static

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

Definition at line 70 of file G4INCLInteractionAvatar.hh.

◆ modified

ParticleList G4INCL::InteractionAvatar::modified
protected

Definition at line 222 of file G4INCLInteractionAvatar.hh.

◆ modifiedAndCreated

ParticleList G4INCL::InteractionAvatar::modifiedAndCreated
protected

Definition at line 222 of file G4INCLInteractionAvatar.hh.

◆ oldTotalEnergy

G4double G4INCL::InteractionAvatar::oldTotalEnergy
protected

Definition at line 110 of file G4INCLInteractionAvatar.hh.

◆ oldXSec

G4double G4INCL::InteractionAvatar::oldXSec
protected

Definition at line 110 of file G4INCLInteractionAvatar.hh.

◆ particle1

Particle* G4INCL::InteractionAvatar::particle1
protected

Definition at line 107 of file G4INCLInteractionAvatar.hh.

◆ particle2

Particle * G4INCL::InteractionAvatar::particle2
protected

Definition at line 107 of file G4INCLInteractionAvatar.hh.

◆ theNucleus

Nucleus* G4INCL::InteractionAvatar::theNucleus
protected

Definition at line 106 of file G4INCLInteractionAvatar.hh.

◆ violationEFunctor

RootFunctor* G4INCL::InteractionAvatar::violationEFunctor
private

Definition at line 207 of file G4INCLInteractionAvatar.hh.


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