Geant4-11
Public Member Functions | Protected Attributes
G4HadNucl3BodyMomDst Class Reference

#include <G4HadNucl3BodyMomDst.hh>

Inheritance diagram for G4HadNucl3BodyMomDst:
G4InuclParamMomDst G4VMultiBodyMomDst

Public Member Functions

 G4HadNucl3BodyMomDst (G4int verbose=0)
 
virtual G4double GetMomentum (G4int ptype, const G4double &ekin) const
 
virtual const G4StringGetName () const
 
virtual void setVerboseLevel (G4int verbose=0)
 
virtual ~G4HadNucl3BodyMomDst ()
 

Protected Attributes

const G4double(& coeffPR )[2][4][4]
 
const G4double(& coeffPS )[2][3]
 
G4String theName
 
G4int verboseLevel
 

Detailed Description

Definition at line 38 of file G4HadNucl3BodyMomDst.hh.

Constructor & Destructor Documentation

◆ G4HadNucl3BodyMomDst()

G4HadNucl3BodyMomDst::G4HadNucl3BodyMomDst ( G4int  verbose = 0)

Definition at line 55 of file G4HadNucl3BodyMomDst.cc.

56 : G4InuclParamMomDst("G4HadNucl3BodyMomDist", pqprC, psC, verbose) {;}
G4InuclParamMomDst(const G4String &name, const G4double(&pqprC)[2][4][4], const G4double(&psC)[2][3], G4int verbose=0)

◆ ~G4HadNucl3BodyMomDst()

virtual G4HadNucl3BodyMomDst::~G4HadNucl3BodyMomDst ( )
inlinevirtual

Definition at line 41 of file G4HadNucl3BodyMomDst.hh.

41{;}

Member Function Documentation

◆ GetMomentum()

G4double G4InuclParamMomDst::GetMomentum ( G4int  ptype,
const G4double ekin 
) const
virtualinherited

Implements G4VMultiBodyMomDst.

Definition at line 48 of file G4InuclParamMomDst.cc.

48 {
49 if (verboseLevel>3) {
50 G4cout << theName << "::GetMomentum: ptype " << ptype << " ekin " << ekin
51 << G4endl;
52 }
53
54 G4int JK = (ptype==pro || ptype==neu) ? 0 : 1; // nucleon vs. other
55
56 if (verboseLevel > 3) G4cout << " JK " << JK << G4endl;
57
58 G4Pow* theG4Pow = G4Pow::GetInstance(); // For convenience
59
60 G4double Spow = randomInuclPowers(ekin, coeffPR[JK]);
61
62 G4double C=0., PS=0.;
63 for(G4int im = 0; im < 3; im++) {
64 C = coeffPS[JK][im];
65 PS += C * theG4Pow->powN(ekin, im);
66
67 if (verboseLevel >3) {
68 G4cout << " im " << im << " : coeffPS[JK][im] " << C
69 << " ekin^im " << theG4Pow->powN(ekin, im) << G4endl;
70 }
71 }
72
73 G4double PRA = PS * Spow;
74
75 if (verboseLevel > 3)
76 G4cout << " PS " << PS << " Spow = sqrt(S)*(PR+(1-PQ)*S^4) " << Spow
77 << " PRA = PS*Spow " << PRA << G4endl;
78
79 return std::fabs(PRA);
80}
G4double C(G4double temp)
double G4double
Definition: G4Types.hh:83
int G4int
Definition: G4Types.hh:85
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
const G4double(& coeffPS)[2][3]
const G4double(& coeffPR)[2][4][4]
Definition: G4Pow.hh:49
static G4Pow * GetInstance()
Definition: G4Pow.cc:41
G4double powN(G4double x, G4int n) const
Definition: G4Pow.cc:166
G4double randomInuclPowers(G4double ekin, const G4double(&coeff)[4][4])

References C(), G4InuclParamMomDst::coeffPR, G4InuclParamMomDst::coeffPS, G4cout, G4endl, G4Pow::GetInstance(), G4InuclParticleNames::neu, G4Pow::powN(), G4InuclParticleNames::pro, G4InuclSpecialFunctions::randomInuclPowers(), G4VMultiBodyMomDst::theName, and G4VMultiBodyMomDst::verboseLevel.

◆ GetName()

virtual const G4String & G4VMultiBodyMomDst::GetName ( ) const
inlinevirtualinherited

Definition at line 48 of file G4VMultiBodyMomDst.hh.

48{ return theName; }

References G4VMultiBodyMomDst::theName.

Referenced by G4CascadeFinalStateAlgorithm::ChooseGenerators().

◆ setVerboseLevel()

virtual void G4VMultiBodyMomDst::setVerboseLevel ( G4int  verbose = 0)
inlinevirtualinherited

Definition at line 47 of file G4VMultiBodyMomDst.hh.

47{ verboseLevel = verbose; }

References G4VMultiBodyMomDst::verboseLevel.

Referenced by G4MultiBodyMomentumDist::passVerbose().

Field Documentation

◆ coeffPR

const G4double(& G4InuclParamMomDst::coeffPR)[2][4][4]
protectedinherited

Definition at line 55 of file G4InuclParamMomDst.hh.

Referenced by G4InuclParamMomDst::GetMomentum().

◆ coeffPS

const G4double(& G4InuclParamMomDst::coeffPS)[2][3]
protectedinherited

Definition at line 56 of file G4InuclParamMomDst.hh.

Referenced by G4InuclParamMomDst::GetMomentum().

◆ theName

G4String G4VMultiBodyMomDst::theName
protectedinherited

◆ verboseLevel

G4int G4VMultiBodyMomDst::verboseLevel
protectedinherited

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