Geant4  10.00.p02
G4INCL::BinaryCollisionAvatar Class Reference

#include <G4INCLBinaryCollisionAvatar.hh>

+ Inheritance diagram for G4INCL::BinaryCollisionAvatar:
+ Collaboration diagram for G4INCL::BinaryCollisionAvatar:

Public Member Functions

 BinaryCollisionAvatar (G4double, G4double, G4INCL::Nucleus *, G4INCL::Particle *, G4INCL::Particle *)
 
virtual ~BinaryCollisionAvatar ()
 
G4INCL::IChannelgetChannel ()
 
ParticleList getParticles () const
 
virtual void preInteraction ()
 
virtual FinalStatepostInteraction (FinalState *)
 
std::string dump () const
 
- Public Member Functions inherited from G4INCL::InteractionAvatar
 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
 
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 setCutNN (const G4double c)
 
static G4double getCutNN ()
 
static G4double getCutNNSquared ()
 
- Static Public Member Functions inherited from G4INCL::InteractionAvatar
static void deleteBackupParticles ()
 Release the memory allocated for the backup particles. More...
 

Private Attributes

G4double theCrossSection
 
G4bool isParticle1Spectator
 
G4bool isParticle2Spectator
 
G4bool isElastic
 

Static Private Attributes

static G4ThreadLocal G4double cutNN = 1910.0
 
static G4ThreadLocal G4double cutNNSquared = 3648100.0
 

Additional Inherited Members

- Static Public Attributes inherited from G4INCL::InteractionAvatar
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 inherited from G4INCL::InteractionAvatar
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 inherited from G4INCL::InteractionAvatar
NucleustheNucleus
 
Particleparticle1
 
Particleparticle2
 
ThreeVector boostVector
 
G4double oldTotalEnergy
 
G4double oldXSec
 
G4bool isPiN
 
- Protected Attributes inherited from G4INCL::IAvatar
G4double theTime
 
- Static Protected Attributes inherited from G4INCL::InteractionAvatar
static G4ThreadLocal ParticlebackupParticle1 = NULL
 
static G4ThreadLocal ParticlebackupParticle2 = NULL
 

Detailed Description

Definition at line 54 of file G4INCLBinaryCollisionAvatar.hh.

Constructor & Destructor Documentation

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

Definition at line 68 of file G4INCLBinaryCollisionAvatar.cc.

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

+ Here is the call graph for this function:

G4INCL::BinaryCollisionAvatar::~BinaryCollisionAvatar ( )
virtual

Definition at line 78 of file G4INCLBinaryCollisionAvatar.cc.

Member Function Documentation

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

Implements G4INCL::IAvatar.

Definition at line 235 of file G4INCLBinaryCollisionAvatar.cc.

References G4INCL::Particle::dump(), G4INCL::InteractionAvatar::particle1, G4INCL::InteractionAvatar::particle2, and G4INCL::IAvatar::theTime.

+ Here is the call graph for this function:

G4INCL::IChannel * G4INCL::BinaryCollisionAvatar::getChannel ( )
virtual

Check again the distance of approach. In order for the avatar to be realised, we have to perform a check in the CM system. We define a distance four-vector as

\[ (0, \Delta\vec{x}), \]

where $\Delta\vec{x}$ is the distance vector of the particles at their minimum distance of approach (i.e. at the avatar time). By boosting this four-vector to the CM frame of the two particles and we obtain a new four vector

\[ (\Delta t', \Delta\vec{x}'), \]

with a non-zero time component (the collision happens simultaneously for the two particles in the lab system, but not in the CM system). In order for the avatar to be realised, we require that

\[ |\Delta\vec{x}'| \leq \sqrt{\sigma/\pi}.\]

Note that $|\Delta\vec{x}'|\leq|\Delta\vec{x}|$; thus, the condition above is more restrictive than the check that we perform in G4INCL::Propagation::StandardPropagationModel::generateBinaryCollisionAvatar. In other words, the avatar generation cannot miss any physical collision avatars.

Implements G4INCL::InteractionAvatar.

Definition at line 81 of file G4INCLBinaryCollisionAvatar.cc.

References G4INCL::InteractionAvatar::boostVector, cutNNSquared, G4INCL::CrossSections::deltaProduction(), G4INCL::ThreeVector::dot(), G4INCL::CrossSections::elastic(), G4INCL::Book::getAcceptedCollisions(), G4INCL::Store::getBook(), G4INCL::Particle::getPosition(), G4INCL::Nucleus::getStore(), INCL_DEBUG, G4INCL::Particle::isDelta(), isElastic, G4INCL::Particle::isNucleon(), G4INCL::Particle::isPion(), G4INCL::ThreeVector::mag2(), G4INCL::InteractionAvatar::particle1, G4INCL::InteractionAvatar::particle2, G4INCL::Particle::print(), G4INCL::CrossSections::recombination(), G4INCL::InteractionAvatar::restoreParticles(), G4INCL::Random::shoot(), G4INCL::KinematicsUtils::squareTotalEnergyInCM(), G4INCL::Math::tenPi, theCrossSection, and G4INCL::InteractionAvatar::theNucleus.

+ Here is the call graph for this function:

static G4double G4INCL::BinaryCollisionAvatar::getCutNN ( )
inlinestatic

Definition at line 76 of file G4INCLBinaryCollisionAvatar.hh.

References cutNN.

static G4double G4INCL::BinaryCollisionAvatar::getCutNNSquared ( )
inlinestatic

Definition at line 78 of file G4INCLBinaryCollisionAvatar.hh.

References cutNNSquared.

Referenced by G4INCL::StandardPropagationModel::generateBinaryCollisionAvatar().

+ Here is the caller graph for this function:

ParticleList G4INCL::BinaryCollisionAvatar::getParticles ( ) const
inlinevirtual
void G4INCL::BinaryCollisionAvatar::preInteraction ( )
virtual

Implements G4INCL::IAvatar.

Definition at line 188 of file G4INCLBinaryCollisionAvatar.cc.

References isParticle1Spectator, isParticle2Spectator, G4INCL::Particle::isTargetSpectator(), G4INCL::InteractionAvatar::particle1, G4INCL::InteractionAvatar::particle2, and G4INCL::InteractionAvatar::preInteraction().

+ Here is the call graph for this function:

static void G4INCL::BinaryCollisionAvatar::setCutNN ( const G4double  c)
inlinestatic

Definition at line 71 of file G4INCLBinaryCollisionAvatar.hh.

References cutNN, and cutNNSquared.

Referenced by G4INCL::INCL::INCL().

+ Here is the caller graph for this function:

Member Data Documentation

G4ThreadLocal G4double G4INCL::BinaryCollisionAvatar::cutNN = 1910.0
staticprivate

Definition at line 81 of file G4INCLBinaryCollisionAvatar.hh.

Referenced by getCutNN(), and setCutNN().

G4ThreadLocal G4double G4INCL::BinaryCollisionAvatar::cutNNSquared = 3648100.0
staticprivate

Definition at line 82 of file G4INCLBinaryCollisionAvatar.hh.

Referenced by getChannel(), getCutNNSquared(), and setCutNN().

G4bool G4INCL::BinaryCollisionAvatar::isElastic
private

Definition at line 86 of file G4INCLBinaryCollisionAvatar.hh.

Referenced by getChannel(), and postInteraction().

G4bool G4INCL::BinaryCollisionAvatar::isParticle1Spectator
private

Definition at line 84 of file G4INCLBinaryCollisionAvatar.hh.

Referenced by postInteraction(), and preInteraction().

G4bool G4INCL::BinaryCollisionAvatar::isParticle2Spectator
private

Definition at line 85 of file G4INCLBinaryCollisionAvatar.hh.

Referenced by postInteraction(), and preInteraction().

G4double G4INCL::BinaryCollisionAvatar::theCrossSection
private

Definition at line 83 of file G4INCLBinaryCollisionAvatar.hh.

Referenced by getChannel().


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