Geant4  10.02.p03
G4EmExtraPhysics Class Reference

#include <G4EmExtraPhysics.hh>

Inheritance diagram for G4EmExtraPhysics:
Collaboration diagram for G4EmExtraPhysics:

Public Member Functions

 G4EmExtraPhysics (G4int ver=1)
 
 G4EmExtraPhysics (const G4String &name)
 
virtual ~G4EmExtraPhysics ()
 
void ConstructParticle ()
 
void ConstructProcess ()
 
void Synch (G4bool val)
 
void SynchAll (G4bool val)
 
void GammaNuclear (G4bool val)
 
void MuonNuclear (G4bool val)
 
- Public Member Functions inherited from G4VPhysicsConstructor
 G4VPhysicsConstructor (const G4String &="")
 
 G4VPhysicsConstructor (const G4String &name, G4int physics_type)
 
virtual ~G4VPhysicsConstructor ()
 
void SetPhysicsName (const G4String &="")
 
const G4String & GetPhysicsName () const
 
void SetPhysicsType (G4int)
 
G4int GetPhysicsType () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
G4int GetInstanceID () const
 

Private Attributes

G4EmMessenger * theMessenger
 
G4int verbose
 

Static Private Attributes

static G4bool gnActivated = true
 
static G4bool munActivated = true
 
static G4bool synActivated = false
 
static G4bool synActivatedForAll = false
 
static G4ThreadLocal G4BertiniElectroNuclearBuilder * theGNPhysics =0
 
static G4ThreadLocal G4SynchrotronRadiation * theSynchRad =0
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManager & GetSubInstanceManager ()
 
- Protected Member Functions inherited from G4VPhysicsConstructor
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 
G4ParticleTable::G4PTblDicIterator * GetParticleIterator () const
 
- Protected Attributes inherited from G4VPhysicsConstructor
G4int verboseLevel
 
G4String namePhysics
 
G4int typePhysics
 
G4ParticleTable * theParticleTable
 
G4int g4vpcInstanceID
 
- Static Protected Attributes inherited from G4VPhysicsConstructor
static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

Definition at line 53 of file G4EmExtraPhysics.hh.

Constructor & Destructor Documentation

◆ G4EmExtraPhysics() [1/2]

G4EmExtraPhysics::G4EmExtraPhysics ( G4int  ver = 1)

Definition at line 79 of file G4EmExtraPhysics.cc.

79  :
80  G4VPhysicsConstructor("G4GammaLeptoNuclearPhys"),
81  verbose(ver)
82 {
83  theMessenger = new G4EmMessenger(this);
85  if(verbose > 1) G4cout << "### G4EmExtraPhysics" << G4endl;
86 }
G4GLOB_DLL std::ostream G4cout
G4VPhysicsConstructor(const G4String &="")
#define G4endl
Definition: G4ios.hh:61
G4EmMessenger * theMessenger
Here is the call graph for this function:

◆ G4EmExtraPhysics() [2/2]

G4EmExtraPhysics::G4EmExtraPhysics ( const G4String &  name)

Definition at line 88 of file G4EmExtraPhysics.cc.

88  :
89  G4VPhysicsConstructor("G4GammaLeptoNuclearPhys"),
90  verbose(1)
91 {
92  theMessenger = new G4EmMessenger(this);
94  if(verbose > 1) G4cout << "### G4EmExtraPhysics" << G4endl;
95 }
G4GLOB_DLL std::ostream G4cout
G4VPhysicsConstructor(const G4String &="")
#define G4endl
Definition: G4ios.hh:61
G4EmMessenger * theMessenger
Here is the call graph for this function:

◆ ~G4EmExtraPhysics()

G4EmExtraPhysics::~G4EmExtraPhysics ( )
virtual

Definition at line 97 of file G4EmExtraPhysics.cc.

98 {
99  delete theMessenger;
100  theMessenger = 0;
101 }
G4EmMessenger * theMessenger

Member Function Documentation

◆ ConstructParticle()

void G4EmExtraPhysics::ConstructParticle ( void  )
virtual

Implements G4VPhysicsConstructor.

Definition at line 124 of file G4EmExtraPhysics.cc.

125 {
126  G4Gamma::Gamma();
131 }
static G4MuonPlus * MuonPlus()
Definition: G4MuonPlus.cc:99
static G4Gamma * Gamma()
Definition: G4Gamma.cc:86
static G4Positron * Positron()
Definition: G4Positron.cc:94
static G4MuonMinus * MuonMinus()
Definition: G4MuonMinus.cc:100
static G4Electron * Electron()
Definition: G4Electron.cc:94
Here is the call graph for this function:

◆ ConstructProcess()

void G4EmExtraPhysics::ConstructProcess ( void  )
virtual

Implements G4VPhysicsConstructor.

Definition at line 133 of file G4EmExtraPhysics.cc.

134 {
139 
141  if(gnActivated) {
143  theGNPhysics->Build();
144  //G4AutoDelete::Register(theGNPhysics);
145  }
146  if(munActivated) {
147  G4MuonNuclearProcess* muNucProcess = new G4MuonNuclearProcess();
148  G4MuonVDNuclearModel* muNucModel = new G4MuonVDNuclearModel();
149  muNucProcess->RegisterMe(muNucModel);
150  ph->RegisterProcess( muNucProcess, muonplus);
151  ph->RegisterProcess( muNucProcess, muonminus);
152  }
153  if(synActivated) {
155  ph->RegisterProcess( theSynchRad, electron);
156  ph->RegisterProcess( theSynchRad, positron);
157  //G4AutoDelete::Register(theSynchRad);
158  if(synActivatedForAll) {
159  auto myParticleIterator=GetParticleIterator();
160  myParticleIterator->reset();
161  G4ParticleDefinition* particle=0;
162 
163  while( (*myParticleIterator)() ) {
164  particle = myParticleIterator->value();
165  if( particle->GetPDGStable() && particle->GetPDGCharge() != 0.0) {
166  if(verbose > 1) {
167  G4cout << "### G4SynchrotronRadiation for "
168  << particle->GetParticleName() << G4endl;
169  }
170  ph->RegisterProcess( theSynchRad, particle);
171  }
172  }
173  }
174  }
175 }
static G4bool munActivated
static G4MuonPlus * MuonPlus()
Definition: G4MuonPlus.cc:99
static G4ThreadLocal G4SynchrotronRadiation * theSynchRad
static G4bool synActivated
static G4ThreadLocal G4BertiniElectroNuclearBuilder * theGNPhysics
G4bool GetPDGStable() const
void RegisterMe(G4HadronicInteraction *a)
const G4String & GetParticleName() const
G4GLOB_DLL std::ostream G4cout
G4bool RegisterProcess(G4VProcess *process, G4ParticleDefinition *particle)
static G4bool gnActivated
static G4Positron * Positron()
Definition: G4Positron.cc:94
static G4PhysicsListHelper * GetPhysicsListHelper()
static G4MuonMinus * MuonMinus()
Definition: G4MuonMinus.cc:100
static G4Electron * Electron()
Definition: G4Electron.cc:94
#define G4endl
Definition: G4ios.hh:61
G4ParticleTable::G4PTblDicIterator * GetParticleIterator() const
G4double GetPDGCharge() const
static G4bool synActivatedForAll
Here is the call graph for this function:

◆ GammaNuclear()

void G4EmExtraPhysics::GammaNuclear ( G4bool  val)

Definition at line 114 of file G4EmExtraPhysics.cc.

115 {
116  gnActivated = val;
117 }
static G4bool gnActivated
Here is the caller graph for this function:

◆ MuonNuclear()

void G4EmExtraPhysics::MuonNuclear ( G4bool  val)

Definition at line 119 of file G4EmExtraPhysics.cc.

120 {
121  munActivated = val;
122 }
static G4bool munActivated
Here is the caller graph for this function:

◆ Synch()

void G4EmExtraPhysics::Synch ( G4bool  val)

Definition at line 103 of file G4EmExtraPhysics.cc.

104 {
105  synActivated = val;
106 }
static G4bool synActivated
Here is the caller graph for this function:

◆ SynchAll()

void G4EmExtraPhysics::SynchAll ( G4bool  val)

Definition at line 108 of file G4EmExtraPhysics.cc.

109 {
110  synActivatedForAll = val;
111  if(synActivatedForAll) { synActivated = true; }
112 }
static G4bool synActivated
static G4bool synActivatedForAll
Here is the caller graph for this function:

Member Data Documentation

◆ gnActivated

G4bool G4EmExtraPhysics::gnActivated = true
staticprivate

Definition at line 74 of file G4EmExtraPhysics.hh.

◆ munActivated

G4bool G4EmExtraPhysics::munActivated = true
staticprivate

Definition at line 75 of file G4EmExtraPhysics.hh.

◆ synActivated

G4bool G4EmExtraPhysics::synActivated = false
staticprivate

Definition at line 76 of file G4EmExtraPhysics.hh.

◆ synActivatedForAll

G4bool G4EmExtraPhysics::synActivatedForAll = false
staticprivate

Definition at line 77 of file G4EmExtraPhysics.hh.

◆ theGNPhysics

G4ThreadLocal G4BertiniElectroNuclearBuilder * G4EmExtraPhysics::theGNPhysics =0
staticprivate

Definition at line 79 of file G4EmExtraPhysics.hh.

◆ theMessenger

G4EmMessenger* G4EmExtraPhysics::theMessenger
private

Definition at line 82 of file G4EmExtraPhysics.hh.

◆ theSynchRad

G4ThreadLocal G4SynchrotronRadiation * G4EmExtraPhysics::theSynchRad =0
staticprivate

Definition at line 80 of file G4EmExtraPhysics.hh.

◆ verbose

G4int G4EmExtraPhysics::verbose
private

Definition at line 83 of file G4EmExtraPhysics.hh.


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