Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ee2KNeutralModel Class Reference

#include <G4ee2KNeutralModel.hh>

+ Inheritance diagram for G4ee2KNeutralModel:

Public Member Functions

 G4ee2KNeutralModel (G4eeCrossSections *, G4double, G4double)
 
 ~G4ee2KNeutralModel () override
 
G4double PeakEnergy () const override
 
G4double ComputeCrossSection (G4double) const override
 
void SampleSecondaries (std::vector< G4DynamicParticle * > *, G4double, const G4ThreeVector &) override
 
G4ee2KNeutralModeloperator= (const G4ee2KNeutralModel &right)=delete
 
 G4ee2KNeutralModel (const G4ee2KNeutralModel &)=delete
 
- Public Member Functions inherited from G4Vee2hadrons
 G4Vee2hadrons (G4eeCrossSections *cr, G4double vlowEnergy, G4double vhighEnergy, G4double vdelta)
 
virtual ~G4Vee2hadrons ()
 
G4PhysicsVectorPhysicsVector () const
 
G4double LowEnergy () const
 
G4double HighEnergy () const
 
G4Vee2hadronsoperator= (const G4Vee2hadrons &right)=delete
 
 G4Vee2hadrons (const G4Vee2hadrons &)=delete
 

Additional Inherited Members

- Protected Attributes inherited from G4Vee2hadrons
G4eeCrossSectionscross
 

Detailed Description

Definition at line 58 of file G4ee2KNeutralModel.hh.

Constructor & Destructor Documentation

◆ G4ee2KNeutralModel() [1/2]

G4ee2KNeutralModel::G4ee2KNeutralModel ( G4eeCrossSections * cr,
G4double maxkinEnergy,
G4double binWidth )
explicit

Definition at line 63 of file G4ee2KNeutralModel.cc.

66: G4Vee2hadrons(cr,
67 2.0*G4KaonZeroLong::KaonZeroLong()->GetPDGMass(),
68 maxkinEnergy,
69 binWidth)
70{
71 G4cout << "####G4ee2KNeutralModel####" <<G4endl;
72
74 massPhi = 1019.46*MeV;
75}
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout
static G4KaonZeroLong * KaonZeroLong()
G4Vee2hadrons(G4eeCrossSections *cr, G4double vlowEnergy, G4double vhighEnergy, G4double vdelta)

◆ ~G4ee2KNeutralModel()

G4ee2KNeutralModel::~G4ee2KNeutralModel ( )
override

Definition at line 79 of file G4ee2KNeutralModel.cc.

80{}

◆ G4ee2KNeutralModel() [2/2]

G4ee2KNeutralModel::G4ee2KNeutralModel ( const G4ee2KNeutralModel & )
delete

Member Function Documentation

◆ ComputeCrossSection()

G4double G4ee2KNeutralModel::ComputeCrossSection ( G4double e) const
overridevirtual

Implements G4Vee2hadrons.

Definition at line 91 of file G4ee2KNeutralModel.cc.

92{
93 return cross->CrossSection2Kneutral(e);
94}
G4eeCrossSections * cross
G4double CrossSection2Kneutral(G4double)

◆ operator=()

G4ee2KNeutralModel & G4ee2KNeutralModel::operator= ( const G4ee2KNeutralModel & right)
delete

◆ PeakEnergy()

G4double G4ee2KNeutralModel::PeakEnergy ( ) const
overridevirtual

Implements G4Vee2hadrons.

Definition at line 84 of file G4ee2KNeutralModel.cc.

85{
86 return massPhi;
87}

◆ SampleSecondaries()

void G4ee2KNeutralModel::SampleSecondaries ( std::vector< G4DynamicParticle * > * newp,
G4double e,
const G4ThreeVector & direction )
overridevirtual

Implements G4Vee2hadrons.

Definition at line 98 of file G4ee2KNeutralModel.cc.

100{
101
102 G4double tkin = 0.5*e - massK;
103 if(tkin < 0.0) tkin = 0.0;
104
105 G4double cost;
106 do {
107 cost = 2.0*G4UniformRand() - 1.0;
108 // Loop checking, 07-Aug-2015, Vladimir Ivanchenko
109 } while( G4UniformRand() > 1.0 - cost*cost );
110
111 G4double sint = sqrt(1.0 - cost*cost);
112 G4double phi = twopi * G4UniformRand();
113
114 G4ThreeVector dir(sint*cos(phi),sint*sin(phi), cost);
115 dir.rotateUz(direction);
116
117 // create G4DynamicParticle objects
118 G4DynamicParticle* p1 =
120 G4DynamicParticle* p2 =
122 newp->push_back(p1);
123 newp->push_back(p2);
124}
double G4double
Definition G4Types.hh:83
#define G4UniformRand()
Definition Randomize.hh:52
static G4KaonZeroShort * KaonZeroShort()

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