Geant4-11
Public Member Functions | Protected Attributes | Private Attributes
G4eeToTwoPiModel Class Reference

#include <G4eeToTwoPiModel.hh>

Inheritance diagram for G4eeToTwoPiModel:
G4Vee2hadrons

Public Member Functions

G4double ComputeCrossSection (G4double) const override
 
 G4eeToTwoPiModel (const G4eeToTwoPiModel &)=delete
 
 G4eeToTwoPiModel (G4eeCrossSections *, G4double, G4double)
 
G4double HighEnergy () const
 
G4double LowEnergy () const
 
G4eeToTwoPiModeloperator= (const G4eeToTwoPiModel &right)=delete
 
G4double PeakEnergy () const override
 
G4PhysicsVectorPhysicsVector () const
 
void SampleSecondaries (std::vector< G4DynamicParticle * > *, G4double, const G4ThreeVector &) override
 
 ~G4eeToTwoPiModel () override
 

Protected Attributes

G4eeCrossSectionscross
 

Private Attributes

G4double delta
 
G4double highEnergy
 
G4double lowEnergy
 
G4double massPi
 
G4double massRho
 

Detailed Description

Definition at line 58 of file G4eeToTwoPiModel.hh.

Constructor & Destructor Documentation

◆ G4eeToTwoPiModel() [1/2]

G4eeToTwoPiModel::G4eeToTwoPiModel ( G4eeCrossSections cr,
G4double  maxkinEnergy,
G4double  binWidth 
)
explicit

Definition at line 63 of file G4eeToTwoPiModel.cc.

66: G4Vee2hadrons(cr,
67 2.0*G4PionPlus::PionPlus()->GetPDGMass(),
68 maxkinEnergy,
69 binWidth)
70{
71 G4cout << "#####G4eeToTwoPiModel####" << G4endl;
72
74 massRho = 775.5*CLHEP::MeV;
75}
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
static G4PionPlus * PionPlus()
Definition: G4PionPlus.cc:97
G4Vee2hadrons(G4eeCrossSections *cr, G4double vlowEnergy, G4double vhighEnergy, G4double vdelta)
static constexpr double MeV

References G4cout, G4endl, G4ParticleDefinition::GetPDGMass(), massPi, massRho, CLHEP::MeV, and G4PionPlus::PionPlus().

◆ ~G4eeToTwoPiModel()

G4eeToTwoPiModel::~G4eeToTwoPiModel ( )
override

Definition at line 79 of file G4eeToTwoPiModel.cc.

80{}

◆ G4eeToTwoPiModel() [2/2]

G4eeToTwoPiModel::G4eeToTwoPiModel ( const G4eeToTwoPiModel )
delete

Member Function Documentation

◆ ComputeCrossSection()

G4double G4eeToTwoPiModel::ComputeCrossSection ( G4double  e) const
overridevirtual

Implements G4Vee2hadrons.

Definition at line 91 of file G4eeToTwoPiModel.cc.

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

References G4Vee2hadrons::cross, and G4eeCrossSections::CrossSection2pi().

◆ HighEnergy()

G4double G4Vee2hadrons::HighEnergy ( ) const
inlineinherited

◆ LowEnergy()

G4double G4Vee2hadrons::LowEnergy ( ) const
inlineinherited

Definition at line 93 of file G4Vee2hadrons.hh.

93{return lowEnergy;};
G4double lowEnergy

References G4Vee2hadrons::lowEnergy.

Referenced by G4eeToHadronsMultiModel::AddEEModel(), and G4eeToHadronsModel::Initialise().

◆ operator=()

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

◆ PeakEnergy()

G4double G4eeToTwoPiModel::PeakEnergy ( ) const
overridevirtual

Implements G4Vee2hadrons.

Definition at line 84 of file G4eeToTwoPiModel.cc.

85{
86 return massRho;
87}

References massRho.

◆ PhysicsVector()

G4PhysicsVector * G4Vee2hadrons::PhysicsVector ( ) const
inlineinherited

◆ SampleSecondaries()

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

Implements G4Vee2hadrons.

Definition at line 98 of file G4eeToTwoPiModel.cc.

100{
101
102 G4double tkin = 0.5*e - massPi;
103 if(tkin < 0.0) tkin = 0.0;
104 G4double cost;
105 do {
106 cost = 2.0*G4UniformRand() - 1.0;
107 // Loop checking, 07-Aug-2015, Vladimir Ivanchenko
108 } while( G4UniformRand() > 1.0 - cost*cost );
109
110 G4double sint = sqrt(1.0 - cost*cost);
111 G4double phi = twopi * G4UniformRand();
112
113 G4ThreeVector dir(sint*cos(phi),sint*sin(phi), cost);
114 dir.rotateUz(direction);
115
116 // create G4DynamicParticle objects
119 G4DynamicParticle* pin =
121 newp->push_back(pip);
122 newp->push_back(pin);
123}
static constexpr double twopi
Definition: G4SIunits.hh:56
double G4double
Definition: G4Types.hh:83
#define G4UniformRand()
Definition: Randomize.hh:52
static G4PionMinus * PionMinus()
Definition: G4PionMinus.cc:97

References G4UniformRand, massPi, G4PionMinus::PionMinus(), G4PionPlus::PionPlus(), G4InuclParticleNames::pip, CLHEP::Hep3Vector::rotateUz(), and twopi.

Field Documentation

◆ cross

G4eeCrossSections* G4Vee2hadrons::cross
protectedinherited

◆ delta

G4double G4Vee2hadrons::delta
privateinherited

Definition at line 106 of file G4Vee2hadrons.hh.

Referenced by G4Vee2hadrons::G4Vee2hadrons(), and G4Vee2hadrons::PhysicsVector().

◆ highEnergy

G4double G4Vee2hadrons::highEnergy
privateinherited

◆ lowEnergy

G4double G4Vee2hadrons::lowEnergy
privateinherited

◆ massPi

G4double G4eeToTwoPiModel::massPi
private

Definition at line 80 of file G4eeToTwoPiModel.hh.

Referenced by G4eeToTwoPiModel(), and SampleSecondaries().

◆ massRho

G4double G4eeToTwoPiModel::massRho
private

Definition at line 81 of file G4eeToTwoPiModel.hh.

Referenced by G4eeToTwoPiModel(), and PeakEnergy().


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