G4INCLNKbToNKbChannel.cc

이 파일의 문서화 페이지로 가기
**Definition:** G4INCLNKbToNKbChannel.cc:96
**Definition:** G4INCLFinalState.cc:60
**Definition:** G4INCLNKbToNKbChannel.cc:49
**Definition:** G4INCLParticleType.hh:52
**Definition:** G4INCLParticle.hh:704
**Definition:** G4INCLParticleType.hh:51
**Definition:** G4INCLNKbToNKbChannel.cc:53
**Definition:** G4INCLKinematicsUtils.cc:107
**Definition:** G4INCLFinalState.hh:64
**Definition:** G4INCLThreeVector.hh:54
**Definition:** G4INCLParticle.hh:718
**Definition:** G4INCLParticle.hh:75
**Definition:** G4INCLNKbToNKbChannel.cc:55
**Definition:** G4INCLParticle.cc:152
**Definition:** G4INCLParticleType.hh:72
**Definition:** G4INCLKinematicsUtils.cc:135
**Definition:** G4INCLParticleType.hh:71

69 // assert((ParticleTable::getIsospin(nucleon->getType()) + ParticleTable::getIsospin(kaon->getType())) == 0);

96 ThreeVector NKbToNKbChannel::KaonMomentum(Particle const * const kaon, Particle const * const nucleon){

115 const G4double b = 12. * pLab/2375.; // correspond to the forward slope description at 2375 MeV/c in K- p elastic

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

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

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

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

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

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

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

362 const G4double A8 = (1-sup_ener)*Legendre_coef[coef_ener][8] + sup_ener*Legendre_coef[coef_ener+1][8];

365 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) + std::fabs(A8);

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

382 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);

383 G4double P8 = A8/128.*(6435*std::pow(cos_theta,8)-12012*std::pow(cos_theta,6)+6930*std::pow(cos_theta,4)-1260*std::pow(cos_theta,2)+35);

389 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

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

void addModifiedParticle(Particle *p)

NKbToNKbChannel(Particle *, Particle *)

const G4INCL::ThreeVector & getMomentum() const

virtual ~NKbToNKbChannel()

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)

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.

다음에 의해 생성됨 : 1.8.5