Geant4  v4-10.4-release
 모두 클래스 네임스페이스들 파일들 함수 변수 타입정의 열거형 타입 열거형 멤버 Friends 매크로 그룹들 페이지들
Public 멤버 함수 | 정적 Public 멤버 함수 | 정적 Public 속성 | Protected 멤버 함수 | Protected 속성 | 정적 Protected 속성 | Private 속성 | 정적 Private 속성 | 모든 멤버 목록
G4INCL::BinaryCollisionAvatar 클래스 참조

#include <G4INCLBinaryCollisionAvatar.hh>

G4INCL::BinaryCollisionAvatar에 대한 상속 다이어그램 :
G4INCL::InteractionAvatar G4INCL::IAvatar

Public 멤버 함수

 BinaryCollisionAvatar (G4double, G4double, G4INCL::Nucleus *, G4INCL::Particle *, G4INCL::Particle *)
 
virtual ~BinaryCollisionAvatar ()
 
G4INCL::IChannelgetChannel ()
 
ParticleList getParticles () const
 
virtual void preInteraction ()
 
virtual void postInteraction (FinalState *)
 
std::string dump () const
 
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 ()
 

정적 Public 멤버 함수

static void setCutNN (const G4double c)
 
static G4double getCutNN ()
 
static G4double getCutNNSquared ()
 
static G4double getBias ()
 Get the bias. 더 자세히 ...
 
static void setBias (const G4double b)
 Set the bias. 더 자세히 ...
 
static void deleteBackupParticles ()
 Release the memory allocated for the backup particles. 더 자세히 ...
 

정적 Public 속성

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

Protected 멤버 함수

G4bool bringParticleInside (Particle *const p)
 
void preInteractionLocalEnergy (Particle *const p)
 Apply local-energy transformation, if appropriate. 더 자세히 ...
 
void preInteractionBlocking ()
 Store the state of the particles before the interaction. 더 자세히 ...
 
void restoreParticles () const
 Restore the state of both particles. 더 자세히 ...
 
G4bool shouldUseLocalEnergy () const
 true if the given avatar should use local energy 더 자세히 ...
 
G4bool enforceEnergyConservation (FinalState *const fs)
 Enforce energy conservation. 더 자세히 ...
 

Protected 속성

NucleustheNucleus
 
Particleparticle1
 
Particleparticle2
 
ThreeVector boostVector
 
G4double oldTotalEnergy
 
G4double oldXSec
 
G4bool isPiN
 
G4double weight
 
ParticleList modified
 
ParticleList created
 
ParticleList modifiedAndCreated
 
ParticleList Destroyed
 
ParticleList ModifiedAndDestroyed
 
G4double theTime
 

정적 Protected 속성

static G4ThreadLocal ParticlebackupParticle1 = NULL
 
static G4ThreadLocal ParticlebackupParticle2 = NULL
 

Private 속성

G4double theCrossSection
 
G4bool isParticle1Spectator
 
G4bool isParticle2Spectator
 
G4bool isElastic
 

정적 Private 속성

static G4ThreadLocal G4double cutNN = 1910.0
 
static G4ThreadLocal G4double cutNNSquared = 3648100.0
 
static G4ThreadLocal G4double bias = 1.
 

상세한 설명

G4INCLBinaryCollisionAvatar.hh 파일의 56 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

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

G4INCLBinaryCollisionAvatar.cc 파일의 124 번째 라인에서 정의되었습니다.

다음을 참조함 : G4INCL::CollisionAvatarType, G4INCL::IAvatar::setType().

G4INCL::BinaryCollisionAvatar::~BinaryCollisionAvatar ( )
virtual

G4INCLBinaryCollisionAvatar.cc 파일의 134 번째 라인에서 정의되었습니다.

멤버 함수 문서화

G4bool G4INCL::InteractionAvatar::bringParticleInside ( Particle *const  p)
protectedinherited
void G4INCL::InteractionAvatar::deleteBackupParticles ( )
staticinherited

Release the memory allocated for the backup particles.

G4INCLInteractionAvatar.cc 파일의 87 번째 라인에서 정의되었습니다.

다음을 참조함 : G4INCL::InteractionAvatar::backupParticle1, G4INCL::InteractionAvatar::backupParticle2.

다음에 의해서 참조됨 : G4INCL::INCL::~INCL().

std::string G4INCL::BinaryCollisionAvatar::dump ( ) const
virtual
G4bool G4INCL::InteractionAvatar::enforceEnergyConservation ( FinalState *const  fs)
protectedinherited

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.

반환값
true if the algorithm succeeded

G4INCLInteractionAvatar.cc 파일의 359 번째 라인에서 정의되었습니다.

다음을 참조함 : G4INCL::InteractionAvatar::boostVector, G4INCL::Store::getBook(), G4INCL::Particle::getMass(), G4INCL::Nucleus::getStore(), G4INCL::FinalState::getTotalEnergyBeforeInteraction(), INCL_DEBUG, G4INCL::Book::incrementEnergyViolationInteraction(), G4INCL::ParticleTable::minDeltaMass, G4INCL::InteractionAvatar::modified, G4INCL::InteractionAvatar::modifiedAndCreated, G4INCL::InteractionAvatar::shouldUseLocalEnergy(), G4INCL::RootFinder::solve(), G4INCL::RootFinder::Solution::success, G4INCL::InteractionAvatar::theNucleus, G4INCL::InteractionAvatar::violationEFunctor, G4INCL::RootFinder::Solution::x.

다음에 의해서 참조됨 : G4INCL::DecayAvatar::postInteraction(), G4INCL::InteractionAvatar::postInteraction().

void G4INCL::IAvatar::fillFinalState ( FinalState fs)
inherited
static G4double G4INCL::BinaryCollisionAvatar::getBias ( )
inlinestatic

Get the bias.

G4INCLBinaryCollisionAvatar.hh 파일의 83 번째 라인에서 정의되었습니다.

다음을 참조함 : bias.

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.

G4INCL::InteractionAvatar를 구현.

G4INCLBinaryCollisionAvatar.cc 파일의 137 번째 라인에서 정의되었습니다.

다음을 참조함 : bias, G4INCL::InteractionAvatar::boostVector, cutNNSquared, G4INCL::ThreeVector::dot(), G4INCL::CrossSections::elastic(), G4INCL::CrossSections::etaNToPiN(), G4INCL::CrossSections::etaNToPiPiN(), G4INCL::Book::getAcceptedCollisions(), G4INCL::Store::getBook(), G4INCL::Particle::getPosition(), G4INCL::Nucleus::getStore(), INCL_DEBUG, INCL_ERROR, INCL_WARN, G4INCL::Particle::isAntiKaon(), G4INCL::Particle::isDelta(), isElastic, G4INCL::Particle::isEta(), G4INCL::Particle::isKaon(), G4INCL::Particle::isLambda(), G4INCL::Particle::isNucleon(), G4INCL::Particle::isOmega(), G4INCL::InteractionAvatar::isPiN, G4INCL::Particle::isSigma(), G4INCL::ThreeVector::mag2(), G4INCL::CrossSections::NDeltaToDeltaLK(), G4INCL::CrossSections::NDeltaToDeltaSK(), G4INCL::CrossSections::NDeltaToNLK(), G4INCL::CrossSections::NDeltaToNN(), G4INCL::CrossSections::NDeltaToNNKKb(), G4INCL::CrossSections::NDeltaToNSK(), G4INCL::CrossSections::NKbToL2pi(), G4INCL::CrossSections::NKbToLpi(), G4INCL::CrossSections::NKbToNKb(), G4INCL::CrossSections::NKbToNKb2pi(), G4INCL::CrossSections::NKbToNKbpi(), G4INCL::CrossSections::NKbToS2pi(), G4INCL::CrossSections::NKbToSpi(), G4INCL::CrossSections::NKToNK(), G4INCL::CrossSections::NKToNK2pi(), G4INCL::CrossSections::NKToNKpi(), G4INCL::CrossSections::NLToNS(), G4INCL::CrossSections::NNToMissingStrangeness(), G4INCL::CrossSections::NNToNDelta(), G4INCL::CrossSections::NNToNDeltaEta(), G4INCL::CrossSections::NNToNDeltaOmega(), G4INCL::CrossSections::NNToNLK(), G4INCL::CrossSections::NNToNLK2pi(), G4INCL::CrossSections::NNToNLKpi(), G4INCL::CrossSections::NNToNNEtaExclu(), G4INCL::CrossSections::NNToNNEtaxPi(), G4INCL::CrossSections::NNToNNKKb(), G4INCL::CrossSections::NNToNNOmegaExclu(), G4INCL::CrossSections::NNToNNOmegaxPi(), G4INCL::CrossSections::NNToNSK(), G4INCL::CrossSections::NNToNSK2pi(), G4INCL::CrossSections::NNToNSKpi(), G4INCL::CrossSections::NNToxPiNN(), G4INCL::CrossSections::NpiToLK(), G4INCL::CrossSections::NpiToLK2pi(), G4INCL::CrossSections::NpiToLKpi(), G4INCL::CrossSections::NpiToMissingStrangeness(), G4INCL::CrossSections::NpiToNKKb(), G4INCL::CrossSections::NpiToSK(), G4INCL::CrossSections::NpiToSK2pi(), G4INCL::CrossSections::NpiToSKpi(), G4INCL::CrossSections::NSToNL(), G4INCL::CrossSections::NSToNS(), G4INCL::CrossSections::omegaNToPiN(), G4INCL::CrossSections::omegaNToPiPiN(), G4INCL::InteractionAvatar::particle1, G4INCL::InteractionAvatar::particle2, G4INCL::CrossSections::piNToDelta(), G4INCL::CrossSections::piNToEtaN(), G4INCL::CrossSections::piNToOmegaN(), G4INCL::CrossSections::piNToxPiN(), G4INCL::Particle::print(), G4INCL::InteractionAvatar::restoreParticles(), G4INCL::Random::shoot(), G4INCL::KinematicsUtils::squareTotalEnergyInCM(), G4INCL::Math::tenPi, theCrossSection, G4INCL::InteractionAvatar::theNucleus, G4INCL::CrossSections::total(), G4INCL::InteractionAvatar::weight.

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

G4INCLBinaryCollisionAvatar.hh 파일의 78 번째 라인에서 정의되었습니다.

다음을 참조함 : cutNN.

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

G4INCLBinaryCollisionAvatar.hh 파일의 80 번째 라인에서 정의되었습니다.

다음을 참조함 : cutNNSquared.

다음에 의해서 참조됨 : G4INCL::StandardPropagationModel::generateBinaryCollisionAvatar().

FinalState * G4INCL::IAvatar::getFinalState ( )
inherited
long G4INCL::IAvatar::getID ( ) const
inlineinherited
ParticleList G4INCL::BinaryCollisionAvatar::getParticles ( ) const
inlinevirtual

G4INCL::IAvatar를 구현.

G4INCLBinaryCollisionAvatar.hh 파일의 61 번째 라인에서 정의되었습니다.

다음을 참조함 : G4INCL::InteractionAvatar::particle1, G4INCL::InteractionAvatar::particle2.

G4double G4INCL::IAvatar::getTime ( ) const
inlineinherited
AvatarType G4INCL::IAvatar::getType ( ) const
inlineinherited
G4bool G4INCL::IAvatar::isACollision ( ) const
inlineinherited

G4INCLIAvatar.hh 파일의 91 번째 라인에서 정의되었습니다.

다음을 참조함 : G4INCL::CollisionAvatarType.

다음에 의해서 참조됨 : G4INCL::CascadeAction::afterAvatarDefaultAction().

G4bool G4INCL::IAvatar::isADecay ( ) const
inlineinherited

G4INCLIAvatar.hh 파일의 92 번째 라인에서 정의되었습니다.

다음을 참조함 : G4INCL::DecayAvatarType.

다음에 의해서 참조됨 : G4INCL::CascadeAction::afterAvatarDefaultAction().

void G4INCL::BinaryCollisionAvatar::postInteraction ( FinalState fs)
virtual
void G4INCL::BinaryCollisionAvatar::preInteraction ( )
virtual
void G4INCL::InteractionAvatar::preInteractionBlocking ( )
protectedinherited

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.

G4INCLInteractionAvatar.cc 파일의 95 번째 라인에서 정의되었습니다.

다음을 참조함 : G4INCL::InteractionAvatar::backupParticle1, G4INCL::InteractionAvatar::backupParticle2, G4INCL::Particle::getEnergy(), G4INCL::Particle::getPotentialEnergy(), G4INCL::InteractionAvatar::oldTotalEnergy, G4INCL::InteractionAvatar::oldXSec, G4INCL::InteractionAvatar::particle1, G4INCL::InteractionAvatar::particle2, G4INCL::CrossSections::total().

다음에 의해서 참조됨 : G4INCL::InteractionAvatar::preInteraction().

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

Apply local-energy transformation, if appropriate.

매개변수
pparticle to apply the transformation to

G4INCLInteractionAvatar.cc 파일의 115 번째 라인에서 정의되었습니다.

다음을 참조함 : G4INCL::Particle::isMeson(), G4INCL::InteractionAvatar::shouldUseLocalEnergy(), G4INCL::InteractionAvatar::theNucleus, G4INCL::KinematicsUtils::transformToLocalEnergyFrame().

다음에 의해서 참조됨 : G4INCL::InteractionAvatar::preInteraction().

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

Restore the state of both particles.

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

G4INCLInteractionAvatar.cc 파일의 340 번째 라인에서 정의되었습니다.

다음을 참조함 : G4INCL::InteractionAvatar::particle2.

다음에 의해서 참조됨 : getChannel(), G4INCL::DecayAvatar::postInteraction(), G4INCL::InteractionAvatar::postInteraction().

static void G4INCL::BinaryCollisionAvatar::setBias ( const G4double  b)
inlinestatic

Set the bias.

G4INCLBinaryCollisionAvatar.hh 파일의 86 번째 라인에서 정의되었습니다.

다음을 참조함 : bias.

다음에 의해서 참조됨 : G4INCL::INCL::INCL().

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

G4INCLBinaryCollisionAvatar.hh 파일의 73 번째 라인에서 정의되었습니다.

다음을 참조함 : cutNN, cutNNSquared.

다음에 의해서 참조됨 : G4INCL::INCL::INCL().

void G4INCL::IAvatar::setType ( AvatarType  t)
inlineinherited
G4bool G4INCL::InteractionAvatar::shouldUseLocalEnergy ( ) const
protectedinherited
std::string G4INCL::IAvatar::toString ( )
inherited

멤버 데이타 문서화

G4ThreadLocal Particle * G4INCL::InteractionAvatar::backupParticle1 = NULL
staticprotectedinherited
G4ThreadLocal Particle * G4INCL::InteractionAvatar::backupParticle2 = NULL
staticprotectedinherited
G4ThreadLocal G4double G4INCL::BinaryCollisionAvatar::bias = 1.
staticprivate

G4INCLBinaryCollisionAvatar.hh 파일의 91 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : getBias(), getChannel(), setBias().

ThreeVector G4INCL::InteractionAvatar::boostVector
protectedinherited
ParticleList G4INCL::InteractionAvatar::created
protectedinherited

G4INCLInteractionAvatar.hh 파일의 223 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4INCL::DecayAvatar::postInteraction(), G4INCL::InteractionAvatar::postInteraction().

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

G4INCLBinaryCollisionAvatar.hh 파일의 89 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : getCutNN(), setCutNN().

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

G4INCLBinaryCollisionAvatar.hh 파일의 90 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : getChannel(), getCutNNSquared(), setCutNN().

ParticleList G4INCL::InteractionAvatar::Destroyed
protectedinherited

G4INCLInteractionAvatar.hh 파일의 223 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4INCL::DecayAvatar::postInteraction(), G4INCL::InteractionAvatar::postInteraction().

G4bool G4INCL::BinaryCollisionAvatar::isElastic
private

G4INCLBinaryCollisionAvatar.hh 파일의 95 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : getChannel(), postInteraction().

G4bool G4INCL::BinaryCollisionAvatar::isParticle1Spectator
private

G4INCLBinaryCollisionAvatar.hh 파일의 93 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : postInteraction(), preInteraction().

G4bool G4INCL::BinaryCollisionAvatar::isParticle2Spectator
private

G4INCLBinaryCollisionAvatar.hh 파일의 94 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : postInteraction(), preInteraction().

G4bool G4INCL::InteractionAvatar::isPiN
protectedinherited

G4INCLInteractionAvatar.hh 파일의 111 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : getChannel(), G4INCL::InteractionAvatar::shouldUseLocalEnergy().

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

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

G4INCLInteractionAvatar.hh 파일의 68 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4INCL::InteractionAvatar::ViolationEMomentumFunctor::scaleParticleMomenta(), G4INCL::InteractionAvatar::ViolationEEnergyFunctor::setParticleEnergy().

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

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

G4INCLInteractionAvatar.hh 파일의 70 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4INCL::InteractionAvatar::ViolationEMomentumFunctor::scaleParticleMomenta(), G4INCL::InteractionAvatar::ViolationEEnergyFunctor::setParticleEnergy().

ParticleList G4INCL::InteractionAvatar::modified
protectedinherited
ParticleList G4INCL::InteractionAvatar::modifiedAndCreated
protectedinherited
ParticleList G4INCL::InteractionAvatar::ModifiedAndDestroyed
protectedinherited

G4INCLInteractionAvatar.hh 파일의 223 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4INCL::DecayAvatar::postInteraction(), G4INCL::InteractionAvatar::postInteraction().

G4double G4INCL::InteractionAvatar::oldTotalEnergy
protectedinherited
G4double G4INCL::InteractionAvatar::oldXSec
protectedinherited

G4INCLInteractionAvatar.hh 파일의 110 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : postInteraction(), G4INCL::InteractionAvatar::preInteractionBlocking().

Particle* G4INCL::InteractionAvatar::particle1
protectedinherited
Particle * G4INCL::InteractionAvatar::particle2
protectedinherited
G4double G4INCL::BinaryCollisionAvatar::theCrossSection
private

G4INCLBinaryCollisionAvatar.hh 파일의 92 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : getChannel().

Nucleus* G4INCL::InteractionAvatar::theNucleus
protectedinherited
G4double G4INCL::IAvatar::theTime
protectedinherited

G4INCLIAvatar.hh 파일의 102 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4INCL::ParticleEntryAvatar::dump(), dump(), G4INCL::DecayAvatar::dump(), G4INCL::SurfaceAvatar::dump().

G4double G4INCL::InteractionAvatar::weight
protectedinherited

G4INCLInteractionAvatar.hh 파일의 112 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : getChannel(), G4INCL::InteractionAvatar::postInteraction().


이 클래스에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.: