G4INCLNpiToSKChannel.cc

이 파일의 문서화 페이지로 가기
**Definition:** G4INCLCrossSections.cc:219
**Definition:** G4INCLGlobals.hh:112
**Definition:** G4INCLFinalState.cc:60
**Definition:** G4INCLParticle.hh:704
**Definition:** G4INCLNpiToSKChannel.cc:56
**Definition:** G4INCLCrossSections.cc:223
**Definition:** G4INCLNpiToSKChannel.cc:50
**Definition:** G4INCLKinematicsUtils.cc:107
**Definition:** G4INCLParticleType.hh:55
**Definition:** G4INCLFinalState.hh:64
**Definition:** G4INCLParticleTable.cc:1221
**Definition:** G4INCLThreeVector.hh:54
**Definition:** G4INCLNpiToSKChannel.cc:54
**Definition:** G4INCLParticle.hh:718
**Definition:** G4INCLNpiToSKChannel.cc:130
**Definition:** G4INCLParticle.hh:75
**Definition:** G4INCLParticleTable.cc:471
**Definition:** G4INCLParticleType.hh:67
**Definition:** G4INCLParticleTable.cc:1208
**Definition:** G4INCLParticle.cc:152
**Definition:** G4INCLCrossSections.cc:227
**Definition:** G4INCLKinematicsUtils.cc:135
**Definition:** G4INCLGlobals.hh:117

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

130 ThreeVector NpiToSKChannel::KaonMomentum(Particle const * const pion, Particle const * const nucleon, G4int WhichChannel){

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

720 // assert(pLab >= Legendre_coef[WhichChannel][coef_ener][0] && pLab < Legendre_coef[WhichChannel][coef_ener+1][0]);

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

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

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

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

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

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

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

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

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

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

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

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

758 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

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

T max(const T t1, const T t2)

brief Return the largest of the two arguments

void addModifiedParticle(Particle *p)

const G4INCL::ThreeVector & getMomentum() const

void fillFinalState(FinalState *fs)

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

NpiToSKChannel(Particle *, Particle *)

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

gives the momentum in the CM frame of two particles.

ParticleType getKaonType(const G4int isosp)

Get the type of kaon.

virtual ~NpiToSKChannel()

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

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

G4int getIsospin(const ParticleType t)

Get the isospin of a particle.

ParticleType getSigmaType(const G4int isosp)

Get the type of sigma.

G4double adjustEnergyFromMomentum()

Recompute the energy to match the momentum.

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

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

gives the momentum in the lab frame of two particles.

T min(const T t1, const T t2)

brief Return the smallest of the two arguments

다음에 의해 생성됨 : 1.8.5