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

#include <G4INCLCoulombNonRelativistic.hh>

G4INCL::CoulombNonRelativistic에 대한 상속 다이어그램 :
G4INCL::ICoulomb

Public 멤버 함수

 CoulombNonRelativistic ()
 
virtual ~CoulombNonRelativistic ()
 
ParticleEntryAvatarbringToSurface (Particle *const p, Nucleus *const n) const
 Modify the momentum of the particle and position it on the surface of the nucleus. 더 자세히 ...
 
IAvatarList bringToSurface (Cluster *const c, Nucleus *const n) const
 Modify the momentum of the incoming cluster and position it on the surface of the nucleus. 더 자세히 ...
 
void distortOut (ParticleList const &pL, Nucleus const *const n) const
 Modify the momenta of the outgoing particles. 더 자세히 ...
 
G4double maxImpactParameter (ParticleSpecies const &p, const G4double kinE, Nucleus const *const n) const
 Return the maximum impact parameter for Coulomb-distorted trajectories. 더 자세히 ...
 

Private 멤버 함수

G4double minimumDistance (ParticleSpecies const &p, const G4double kineticEnergy, Nucleus const *const n) const
 Return the minimum distance of approach in a head-on collision (b=0). 더 자세히 ...
 
G4double minimumDistance (Particle const *const p, Nucleus const *const n) const
 Return the minimum distance of approach in a head-on collision (b=0). 더 자세히 ...
 
G4bool coulombDeviation (Particle *const p, Nucleus const *const n) const
 Perform Coulomb deviation. 더 자세히 ...
 
G4double getCoulombRadius (ParticleSpecies const &p, Nucleus const *const n) const
 Get the Coulomb radius for a given particle. 더 자세히 ...
 

Private 속성

CoulombNone theCoulombNoneSlave
 Internal CoulombNone slave to generate the avatars. 더 자세히 ...
 

상세한 설명

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

생성자 & 소멸자 문서화

G4INCL::CoulombNonRelativistic::CoulombNonRelativistic ( )
inline

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

virtual G4INCL::CoulombNonRelativistic::~CoulombNonRelativistic ( )
inlinevirtual

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

멤버 함수 문서화

ParticleEntryAvatar * G4INCL::CoulombNonRelativistic::bringToSurface ( Particle *const  p,
Nucleus *const  n 
) const
virtual

Modify the momentum of the particle and position it on the surface of the nucleus.

This method performs non-relativistic distortion.

매개변수
pincoming particle
ndistorting nucleus

G4INCL::ICoulomb를 구현.

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

다음을 참조함 : G4INCL::CoulombNone::bringToSurface(), coulombDeviation(), G4INCL::Particle::getZ(), theCoulombNoneSlave.

IAvatarList G4INCL::CoulombNonRelativistic::bringToSurface ( Cluster *const  c,
Nucleus *const  n 
) const
virtual

Modify the momentum of the incoming cluster and position it on the surface of the nucleus.

This method performs non-relativistic distortion. The momenta of the particles that compose the cluster are also distorted.

매개변수
cincoming cluster
ndistorting nucleus

G4INCL::ICoulomb를 구현.

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

다음을 참조함 : G4INCL::CoulombNone::bringToSurface(), coulombDeviation(), theCoulombNoneSlave.

G4bool G4INCL::CoulombNonRelativistic::coulombDeviation ( Particle *const  p,
Nucleus const *const  n 
) const
private

Perform Coulomb deviation.

Modifies the entrance angle of the particle and its impact parameter. Can be applied to Particles and Clusters.

The trajectory for an asymptotic impact parameter \(b\) is parametrised as follows:

\[ r(\theta) = \frac{(1-e^2)r_0/2}{1-e \sin(\theta-\theta_R/2)}, \]

here \(e\) is the hyperbola eccentricity:

\[ e = \sqrt{1+4b^2/r_0^2}; \]

\(\theta_R\) is the Rutherford scattering angle:

\[ \theta_R = \pi - 2\arctan\left(\frac{2b}{r_0}\right) \]

\(\theta\) ranges from \(\pi\) (initial state) to \(\theta_R\) (scattered particle) and \(r_0\) is the minimum distance of approach in a head-on collision (see the minimumDistance() method).

매개변수
ppointer to the Particle
npointer to the Nucleus
반환값
false if below the barrier

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

다음을 참조함 : alpha, G4INCL::Math::arcCos(), E, getCoulombRadius(), G4INCL::Particle::getLongitudinalPosition(), G4INCL::Particle::getMomentum(), G4INCL::Particle::getSpecies(), G4INCL::Particle::getTransversePosition(), G4INCL::ThreeVector::mag(), G4INCL::ThreeVector::mag2(), minimumDistance(), n, G4INCL::Math::pi, G4INCL::Math::piOverTwo, radius, G4INCL::Particle::rotatePositionAndMomentum(), G4INCL::Particle::setPosition(), G4INCL::Math::sign(), G4INCL::Math::twoPi, G4INCL::ThreeVector::vector().

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

void G4INCL::CoulombNonRelativistic::distortOut ( ParticleList const &  pL,
Nucleus const *const  n 
) const
virtual

Modify the momenta of the outgoing particles.

This method performs non-relativistic distortion.

매개변수
pLlist of outgoing particles
ndistorting nucleus

G4INCL::ICoulomb를 구현.

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

다음을 참조함 : G4INCL::Math::arcCos(), c1, c2, G4INCL::ThreeVector::dot(), e, G4INCL::PhysicalConstants::eSquared, G4INCL::Nucleus::getDensity(), G4INCL::NuclearDensity::getTransmissionRadius(), G4INCL::Particle::getZ(), G4INCL::ThreeVector::mag(), G4INCL::Math::piOverTwo, Z.

G4double G4INCL::CoulombNonRelativistic::getCoulombRadius ( ParticleSpecies const &  p,
Nucleus const *const  n 
) const
private

Get the Coulomb radius for a given particle.

That's the radius of the sphere that the Coulomb trajectory of the incoming particle should intersect. The intersection point is used to determine the effective impact parameter of the trajectory and the new entrance angle.

If the particle is not a Cluster, the Coulomb radius reduces to the surface radius. We use a parametrisation for d, t, He3 and alphas. For heavier clusters we fall back to the surface radius.

매개변수
pthe particle species
nthe deflecting nucleus
반환값
Coulomb radius

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

다음을 참조함 : G4INCL::Composite, G4INCL::PhysicalConstants::eSquared, G4INCL::Particle::getA(), G4INCL::ParticleTable::getLargestNuclearRadius(), G4INCL::ParticleTable::getShortName(), G4INCL::Nucleus::getUniverseRadius(), G4INCL::Particle::getZ(), INCL_DEBUG, INCL_ERROR, G4INCL::Math::pow13(), G4INCL::Math::pow23(), radius, G4INCL::ParticleSpecies::theA, G4INCL::ParticleSpecies::theType, G4INCL::ParticleSpecies::theZ.

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

G4double G4INCL::CoulombNonRelativistic::maxImpactParameter ( ParticleSpecies const &  p,
const G4double  kinE,
Nucleus const *const  n 
) const
virtual

Return the maximum impact parameter for Coulomb-distorted trajectories.

G4INCL::ICoulomb를 구현.

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

다음을 참조함 : G4INCL::Composite, G4INCL::ParticleTable::getLargestNuclearRadius(), G4INCL::Nucleus::getUniverseRadius(), minimumDistance(), G4INCL::ParticleSpecies::theA, G4INCL::ParticleSpecies::theType, G4INCL::ParticleSpecies::theZ.

G4double G4INCL::CoulombNonRelativistic::minimumDistance ( ParticleSpecies const &  p,
const G4double  kineticEnergy,
Nucleus const *const  n 
) const
inlineprivate

Return the minimum distance of approach in a head-on collision (b=0).

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

다음을 참조함 : G4INCL::PhysicalConstants::eSquared, G4INCL::Cluster::getTableMass(), G4INCL::ParticleTable::getTableSpeciesMass(), G4INCL::Particle::getZ(), INCL_DEBUG, G4INCL::ParticleSpecies::theZ.

다음에 의해서 참조됨 : coulombDeviation(), maxImpactParameter(), minimumDistance().

G4double G4INCL::CoulombNonRelativistic::minimumDistance ( Particle const *const  p,
Nucleus const *const  n 
) const
inlineprivate

Return the minimum distance of approach in a head-on collision (b=0).

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

다음을 참조함 : G4INCL::Particle::getKineticEnergy(), G4INCL::Particle::getSpecies(), minimumDistance(), n.

멤버 데이타 문서화

CoulombNone G4INCL::CoulombNonRelativistic::theCoulombNoneSlave
private

Internal CoulombNone slave to generate the avatars.

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

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


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