G4INCLNKbElasticChannel.cc

이 파일의 문서화 페이지로 가기
**Definition:** G4INCLNKbElasticChannel.cc:82
**Definition:** G4INCLFinalState.cc:60
**Definition:** G4INCLParticle.hh:704
**Definition:** G4INCLNKbElasticChannel.cc:55
**Definition:** G4INCLNKbElasticChannel.cc:53
**Definition:** G4INCLKinematicsUtils.cc:107
**Definition:** G4INCLFinalState.hh:64
**Definition:** G4INCLThreeVector.hh:54
**Definition:** G4INCLParticle.hh:718
**Definition:** G4INCLParticle.hh:75
**Definition:** G4INCLParticle.cc:152
**Definition:** G4INCLNKbElasticChannel.cc:49
**Definition:** G4INCLKinematicsUtils.cc:135

69 ThreeVector mom_kaon = KaonMomentum(kaon,nucleon); // Caution: angular distribution comes from K-p which is "Lambda resonant"

82 ThreeVector NKbElasticChannel::KaonMomentum(Particle const * const kaon, Particle const * const nucleon){

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

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

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

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

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

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

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

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

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

557 const G4double A9 = (1-sup_ener)*Legendre_coef[coef_ener][9] + sup_ener*Legendre_coef[coef_ener+1][9];

558 const G4double A10 = (1-sup_ener)*Legendre_coef[coef_ener][10] + sup_ener*Legendre_coef[coef_ener+1][10];

561 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) + std::fabs(A9) + std::fabs(A10);

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

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

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

580 G4double P9 = A9/128.*(12155*std::pow(cos_theta,9)-25740*std::pow(cos_theta,7)+18018*std::pow(cos_theta,5)-4620*std::pow(cos_theta,3)+315*cos_theta);

581 G4double P10 = A10/256.*(46189*std::pow(cos_theta,10)-109395*std::pow(cos_theta,8)+90090*std::pow(cos_theta,6)-30030*std::pow(cos_theta,4)+3465*std::pow(cos_theta,2)-63);

587 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)

const G4INCL::ThreeVector & getMomentum() const

void fillFinalState(FinalState *fs)

virtual ~NKbElasticChannel()

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)

G4double adjustEnergyFromMomentum()

Recompute the energy to match the momentum.

NKbElasticChannel(Particle *, Particle *)

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

gives the momentum in the lab frame of two particles.

다음에 의해 생성됨 : 1.8.5