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 G4StringGetPhysicsName () const
 
void SetPhysicsType (G4int)
 
G4int GetPhysicsType () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
G4int GetInstanceID () const
 

Private Attributes

G4EmMessengertheMessenger
 
G4int verbose
 

Static Private Attributes

static G4bool gnActivated = true
 
static G4bool munActivated = true
 
static G4bool synActivated = false
 
static G4bool synActivatedForAll = false
 
static G4ThreadLocal G4BertiniElectroNuclearBuildertheGNPhysics =0
 
static G4ThreadLocal G4SynchrotronRadiationtheSynchRad =0
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManagerGetSubInstanceManager ()
 
- Protected Member Functions inherited from G4VPhysicsConstructor
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
 
- Protected Attributes inherited from G4VPhysicsConstructor
G4int verboseLevel
 
G4String namePhysics
 
G4int typePhysics
 
G4ParticleTabletheParticleTable
 
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: