Geant4-11
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
G4MultiBodyMomentumDist Class Reference

#include <G4MultiBodyMomentumDist.hh>

Public Member Functions

 ~G4MultiBodyMomentumDist ()
 

Static Public Member Functions

static const G4VMultiBodyMomDstGetDist (G4int is, G4int mult)
 
static const G4MultiBodyMomentumDistGetInstance ()
 
static void setVerboseLevel (G4int vb=0)
 

Private Member Functions

const G4VMultiBodyMomDstChooseDist (G4int is, G4int mult) const
 
 G4MultiBodyMomentumDist ()
 
 G4MultiBodyMomentumDist (const G4MultiBodyMomentumDist &)
 
G4MultiBodyMomentumDistoperator= (const G4MultiBodyMomentumDist &)
 
void passVerbose (G4int verbose)
 

Private Attributes

G4HadNucl3BodyMomDsthn3BodyDst
 
G4HadNucl4BodyMomDsthn4BodyDst
 
G4NuclNucl3BodyMomDstnn3BodyDst
 
G4NuclNucl4BodyMomDstnn4BodyDst
 

Static Private Attributes

static G4ThreadLocal G4MultiBodyMomentumDisttheInstance = 0
 

Detailed Description

Definition at line 49 of file G4MultiBodyMomentumDist.hh.

Constructor & Destructor Documentation

◆ ~G4MultiBodyMomentumDist()

G4MultiBodyMomentumDist::~G4MultiBodyMomentumDist ( )

Definition at line 68 of file G4MultiBodyMomentumDist.cc.

68 {
69 delete nn3BodyDst;
70 delete nn4BodyDst;
71 delete hn3BodyDst;
72 delete hn4BodyDst;
73}
G4HadNucl3BodyMomDst * hn3BodyDst
G4HadNucl4BodyMomDst * hn4BodyDst
G4NuclNucl3BodyMomDst * nn3BodyDst
G4NuclNucl4BodyMomDst * nn4BodyDst

References hn3BodyDst, hn4BodyDst, nn3BodyDst, and nn4BodyDst.

◆ G4MultiBodyMomentumDist() [1/2]

G4MultiBodyMomentumDist::G4MultiBodyMomentumDist ( )
private

◆ G4MultiBodyMomentumDist() [2/2]

G4MultiBodyMomentumDist::G4MultiBodyMomentumDist ( const G4MultiBodyMomentumDist )
private

Member Function Documentation

◆ ChooseDist()

const G4VMultiBodyMomDst * G4MultiBodyMomentumDist::ChooseDist ( G4int  is,
G4int  mult 
) const
private

Definition at line 93 of file G4MultiBodyMomentumDist.cc.

93 {
94 if (is == pro*pro || is == pro*neu || is == neu*neu) {
95 //***** REMOVED BY VLADIMIR UZHINSKY 18 JULY 2011
96 if (G4CascadeParameters::use3BodyMom() && mult==3) return nn3BodyDst;
97 return nn4BodyDst;
98 }
99
100 else { // FIXME: All other initial states use pi-N scattering
101 //***** REMOVED BY VLADIMIR UZHINSKY 18 JULY 2011
102 if (G4CascadeParameters::use3BodyMom() && mult==3) return hn3BodyDst;
103 return hn4BodyDst;
104 }
105
106 // Invalid interaction
107 return 0;
108}
static G4bool use3BodyMom()

References hn3BodyDst, hn4BodyDst, G4InuclParticleNames::neu, nn3BodyDst, nn4BodyDst, G4InuclParticleNames::pro, and G4CascadeParameters::use3BodyMom().

Referenced by GetDist().

◆ GetDist()

static const G4VMultiBodyMomDst * G4MultiBodyMomentumDist::GetDist ( G4int  is,
G4int  mult 
)
inlinestatic

Definition at line 56 of file G4MultiBodyMomentumDist.hh.

56 {
57 return GetInstance()->ChooseDist(is, mult);
58 }
const G4VMultiBodyMomDst * ChooseDist(G4int is, G4int mult) const
static const G4MultiBodyMomentumDist * GetInstance()

References ChooseDist(), and GetInstance().

Referenced by G4CascadeFinalStateAlgorithm::ChooseGenerators().

◆ GetInstance()

const G4MultiBodyMomentumDist * G4MultiBodyMomentumDist::GetInstance ( )
static

Definition at line 51 of file G4MultiBodyMomentumDist.cc.

51 {
52 if (!theInstance) {
55 }
56
57 return theInstance;
58}
static G4ThreadLocal G4MultiBodyMomentumDist * theInstance
void Register(T *inst)
Definition: G4AutoDelete.hh:65

References G4MultiBodyMomentumDist(), G4AutoDelete::Register(), and theInstance.

Referenced by GetDist(), and setVerboseLevel().

◆ operator=()

G4MultiBodyMomentumDist & G4MultiBodyMomentumDist::operator= ( const G4MultiBodyMomentumDist )
private

◆ passVerbose()

void G4MultiBodyMomentumDist::passVerbose ( G4int  verbose)
private

Definition at line 82 of file G4MultiBodyMomentumDist.cc.

82 {
87}
virtual void setVerboseLevel(G4int verbose=0)

References hn3BodyDst, hn4BodyDst, nn3BodyDst, nn4BodyDst, and G4VMultiBodyMomDst::setVerboseLevel().

Referenced by setVerboseLevel().

◆ setVerboseLevel()

void G4MultiBodyMomentumDist::setVerboseLevel ( G4int  vb = 0)
static

Field Documentation

◆ hn3BodyDst

G4HadNucl3BodyMomDst* G4MultiBodyMomentumDist::hn3BodyDst
private

Definition at line 75 of file G4MultiBodyMomentumDist.hh.

Referenced by ChooseDist(), passVerbose(), and ~G4MultiBodyMomentumDist().

◆ hn4BodyDst

G4HadNucl4BodyMomDst* G4MultiBodyMomentumDist::hn4BodyDst
private

Definition at line 76 of file G4MultiBodyMomentumDist.hh.

Referenced by ChooseDist(), passVerbose(), and ~G4MultiBodyMomentumDist().

◆ nn3BodyDst

G4NuclNucl3BodyMomDst* G4MultiBodyMomentumDist::nn3BodyDst
private

Definition at line 73 of file G4MultiBodyMomentumDist.hh.

Referenced by ChooseDist(), passVerbose(), and ~G4MultiBodyMomentumDist().

◆ nn4BodyDst

G4NuclNucl4BodyMomDst* G4MultiBodyMomentumDist::nn4BodyDst
private

Definition at line 74 of file G4MultiBodyMomentumDist.hh.

Referenced by ChooseDist(), passVerbose(), and ~G4MultiBodyMomentumDist().

◆ theInstance

G4ThreadLocal G4MultiBodyMomentumDist * G4MultiBodyMomentumDist::theInstance = 0
staticprivate

Definition at line 70 of file G4MultiBodyMomentumDist.hh.

Referenced by GetInstance().


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