Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4INCL::EtaOrOmegaNToLKChannel Class Reference

#include <G4INCLEtaOrOmegaNToLKChannel.hh>

Inheritance diagram for G4INCL::EtaOrOmegaNToLKChannel:

Public Member Functions

 EtaOrOmegaNToLKChannel (Particle *, Particle *)
virtual ~EtaOrOmegaNToLKChannel ()
void fillFinalState (FinalState *fs)
Public Member Functions inherited from G4INCL::IChannel
 IChannel ()
virtual ~IChannel ()
FinalStategetFinalState ()

Detailed Description

Definition at line 47 of file G4INCLEtaOrOmegaNToLKChannel.hh.

Constructor & Destructor Documentation

◆ EtaOrOmegaNToLKChannel()

G4INCL::EtaOrOmegaNToLKChannel::EtaOrOmegaNToLKChannel ( Particle * p1,
Particle * p2 )

Definition at line 47 of file G4INCLEtaOrOmegaNToLKChannel.cc.

48 : particle1(p1), particle2(p2)
49 {
50
51 }

◆ ~EtaOrOmegaNToLKChannel()

G4INCL::EtaOrOmegaNToLKChannel::~EtaOrOmegaNToLKChannel ( )
virtual

Definition at line 53 of file G4INCLEtaOrOmegaNToLKChannel.cc.

53 {
54
55 }

Member Function Documentation

◆ fillFinalState()

void G4INCL::EtaOrOmegaNToLKChannel::fillFinalState ( FinalState * fs)
virtual

Implements G4INCL::IChannel.

Definition at line 57 of file G4INCLEtaOrOmegaNToLKChannel.cc.

57 {
58 Particle * nucleon;
59 Particle * meson;
60 if(particle1->isNucleon()) {
61 nucleon = particle1;
62 meson = particle2;
63 } else {
64 nucleon = particle2;
65 meson = particle1;
66 }
67
68 if (nucleon->getType() == Neutron) {
69 nucleon->setType(Lambda);
70 meson->setType(KZero);
71 }
72 else {
73 nucleon->setType(Lambda);
74 meson->setType(KPlus);
75 }
76
77 G4double sh=nucleon->getEnergy()+meson->getEnergy();
78 G4double mn=nucleon->getMass();
79 G4double me=meson->getMass();
80 G4double en=(sh*sh+mn*mn-me*me)/(2*sh);
81 nucleon->setEnergy(en);
82 G4double ee=std::sqrt(en*en-mn*mn+me*me);
83 meson->setEnergy(ee);
84 G4double pn=std::sqrt(en*en-mn*mn);
85
86 ThreeVector mom_nucleon = Random::normVector(pn);
87
88 nucleon->setMomentum(mom_nucleon);
89 meson->setMomentum(-mom_nucleon);
90
91 fs->addModifiedParticle(nucleon);
92 fs->addModifiedParticle(meson);
93 }
double G4double
Definition G4Types.hh:83
ThreeVector normVector(G4double norm=1.)
G4bool nucleon(G4int ityp)

The documentation for this class was generated from the following files: