G4INCLNpiToLKChannel.cc

이 파일의 문서화 페이지로 가기
**Definition:** G4INCLFinalState.cc:60
**Definition:** G4INCLParticle.hh:704
**Definition:** G4INCLParticleType.hh:70
**Definition:** G4INCLParticleType.hh:69
**Definition:** G4INCLNpiToLKChannel.cc:100
**Definition:** G4INCLKinematicsUtils.cc:107
**Definition:** G4INCLFinalState.hh:64
**Definition:** G4INCLThreeVector.hh:54
**Definition:** G4INCLParticle.hh:718
**Definition:** G4INCLNpiToLKChannel.cc:55
**Definition:** G4INCLParticle.hh:75
**Definition:** G4INCLParticleTable.cc:471
**Definition:** G4INCLNpiToLKChannel.cc:53
**Definition:** G4INCLParticle.cc:152
**Definition:** G4INCLKinematicsUtils.cc:135
**Definition:** G4INCLNpiToLKChannel.cc:49
**Definition:** G4INCLParticleType.hh:65

69 const G4int iso = ParticleTable::getIsospin(nucleon->getType()) + ParticleTable::getIsospin(pion->getType());

100 ThreeVector NpiToLKChannel::KaonMomentum(Particle const * const pion, Particle const * const nucleon){

119 const G4double b = 12. * pLab/2375.; // correspond to the forward slope description at 2375 MeV/c

425 const G4double A1 = (1-sup_ener)*Legendre_coef[coef_ener][1] + sup_ener*Legendre_coef[coef_ener+1][1];

426 const G4double A2 = (1-sup_ener)*Legendre_coef[coef_ener][2] + sup_ener*Legendre_coef[coef_ener+1][2];

427 const G4double A3 = (1-sup_ener)*Legendre_coef[coef_ener][3] + sup_ener*Legendre_coef[coef_ener+1][3];

428 const G4double A4 = (1-sup_ener)*Legendre_coef[coef_ener][4] + sup_ener*Legendre_coef[coef_ener+1][4];

429 const G4double A5 = (1-sup_ener)*Legendre_coef[coef_ener][5] + sup_ener*Legendre_coef[coef_ener+1][5];

430 const G4double A6 = (1-sup_ener)*Legendre_coef[coef_ener][6] + sup_ener*Legendre_coef[coef_ener+1][6];

431 const G4double A7 = (1-sup_ener)*Legendre_coef[coef_ener][7] + sup_ener*Legendre_coef[coef_ener+1][7];

434 const G4double A = std::fabs(A0) + std::fabs(A1) + std::fabs(A2) + std::fabs(A3) + std::fabs(A4) + std::fabs(A5) + std::fabs(A6) + std::fabs(A7);

450 G4double P6 = A6/16.*(231*std::pow(cos_theta,6)-315*std::pow(cos_theta,4)+105*std::pow(cos_theta,2)-5);

451 G4double P7 = A7/16.*(429*std::pow(cos_theta,7)-693*std::pow(cos_theta,5)+315*std::pow(cos_theta,3)-35*cos_theta);

457 if(maxloop==1000) cos_theta = std::log(Random::shoot()*(std::exp(10.)-std::exp(-10.))+std::exp(-10.))/10.; // if no success in 1E4 shoot, probably angulard distribution piked very forward

void addModifiedParticle(Particle *p)

const G4INCL::ThreeVector & getMomentum() const

ThreeVector KaonMomentum(Particle const *const pion, Particle const *const nucleon)

G4double momentumInCM(Particle const *const p1, Particle const *const p2)

gives the momentum in the CM frame of two particles.

virtual void setMomentum(const G4INCL::ThreeVector &momentum)

void fillFinalState(FinalState *fs)

G4int getIsospin(const ParticleType t)

Get the isospin of a particle.

virtual ~NpiToLKChannel()

G4double adjustEnergyFromMomentum()

Recompute the energy to match the momentum.

G4double momentumInLab(Particle const *const p1, Particle const *const p2)

gives the momentum in the lab frame of two particles.

NpiToLKChannel(Particle *, Particle *)

다음에 의해 생성됨 : 1.8.5