Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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)
 
void GammaToMuMu (G4bool val)
 
void PositronToMuMu (G4bool val)
 
void PositronToHadrons (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
 

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 56 of file G4EmExtraPhysics.hh.

Constructor & Destructor Documentation

G4EmExtraPhysics::G4EmExtraPhysics ( G4int  ver = 1)

Definition at line 88 of file G4EmExtraPhysics.cc.

88  :
89  G4VPhysicsConstructor("G4GammaLeptoNuclearPhys"),
90  verbose(ver)
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

Here is the call graph for this function:

G4EmExtraPhysics::G4EmExtraPhysics ( const G4String name)

Definition at line 97 of file G4EmExtraPhysics.cc.

98  : G4EmExtraPhysics(1)
99 {}
G4EmExtraPhysics(G4int ver=1)
G4EmExtraPhysics::~G4EmExtraPhysics ( )
virtual

Definition at line 101 of file G4EmExtraPhysics.cc.

102 {
103  delete theMessenger;
104  theMessenger = nullptr;
105 }

Member Function Documentation

void G4EmExtraPhysics::ConstructParticle ( )
virtual

Implements G4VPhysicsConstructor.

Definition at line 143 of file G4EmExtraPhysics.cc.

144 {
145  G4Gamma::Gamma();
150 }
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:

void G4EmExtraPhysics::ConstructProcess ( )
virtual

Implements G4VPhysicsConstructor.

Definition at line 152 of file G4EmExtraPhysics.cc.

153 {
159 
161  if(gnActivated) {
162  theGNPhysics = new G4BertiniElectroNuclearBuilder();
163  theGNPhysics->Build();
164  //G4AutoDelete::Register(theGNPhysics);
165  }
166  if(munActivated) {
167  G4MuonNuclearProcess* muNucProcess = new G4MuonNuclearProcess();
168  G4MuonVDNuclearModel* muNucModel = new G4MuonVDNuclearModel();
169  muNucProcess->RegisterMe(muNucModel);
170  ph->RegisterProcess( muNucProcess, muonplus);
171  ph->RegisterProcess( muNucProcess, muonminus);
172  }
173  if(gmumuActivated) {
174  theGammaToMuMu = new G4GammaConversionToMuons();
175  ph->RegisterProcess(theGammaToMuMu, gamma);
176  }
177  if(pmumuActivated) {
178  thePosiToMuMu = new G4AnnihiToMuPair();
179  ph->RegisterProcess(thePosiToMuMu, positron);
180  }
181  if(phadActivated) {
182  thePosiToHadrons = new G4eeToHadrons();
183  ph->RegisterProcess(thePosiToHadrons, positron);
184  }
185  if(synActivated) {
186  theSynchRad = new G4SynchrotronRadiation();
187  ph->RegisterProcess( theSynchRad, electron);
188  ph->RegisterProcess( theSynchRad, positron);
189  //G4AutoDelete::Register(theSynchRad);
190  if(synActivatedForAll) {
191  auto myParticleIterator=GetParticleIterator();
192  myParticleIterator->reset();
193  G4ParticleDefinition* particle = nullptr;
194 
195  while( (*myParticleIterator)() ) {
196  particle = myParticleIterator->value();
197  if( particle->GetPDGStable() && particle->GetPDGCharge() != 0.0) {
198  if(verbose > 1) {
199  G4cout << "### G4SynchrotronRadiation for "
200  << particle->GetParticleName() << G4endl;
201  }
202  ph->RegisterProcess( theSynchRad, particle);
203  }
204  }
205  }
206  }
207 }
static G4MuonPlus * MuonPlus()
Definition: G4MuonPlus.cc:99
G4bool GetPDGStable() const
const G4String & GetParticleName() const
void RegisterMe(G4HadronicInteraction *a)
G4ParticleTable::G4PTblDicIterator * GetParticleIterator() const
G4GLOB_DLL std::ostream G4cout
G4bool RegisterProcess(G4VProcess *process, G4ParticleDefinition *particle)
static G4Gamma * Gamma()
Definition: G4Gamma.cc:86
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
G4double GetPDGCharge() const

Here is the call graph for this function:

void G4EmExtraPhysics::GammaNuclear ( G4bool  val)

Definition at line 118 of file G4EmExtraPhysics.cc.

119 {
120  gnActivated = val;
121 }

Here is the caller graph for this function:

void G4EmExtraPhysics::GammaToMuMu ( G4bool  val)

Definition at line 128 of file G4EmExtraPhysics.cc.

129 {
130  gmumuActivated = val;
131 }

Here is the caller graph for this function:

void G4EmExtraPhysics::MuonNuclear ( G4bool  val)

Definition at line 123 of file G4EmExtraPhysics.cc.

124 {
125  munActivated = val;
126 }

Here is the caller graph for this function:

void G4EmExtraPhysics::PositronToHadrons ( G4bool  val)

Definition at line 138 of file G4EmExtraPhysics.cc.

139 {
140  phadActivated = val;
141 }

Here is the caller graph for this function:

void G4EmExtraPhysics::PositronToMuMu ( G4bool  val)

Definition at line 133 of file G4EmExtraPhysics.cc.

134 {
135  pmumuActivated = val;
136 }

Here is the caller graph for this function:

void G4EmExtraPhysics::Synch ( G4bool  val)

Definition at line 107 of file G4EmExtraPhysics.cc.

108 {
109  synActivated = val;
110 }

Here is the caller graph for this function:

void G4EmExtraPhysics::SynchAll ( G4bool  val)

Definition at line 112 of file G4EmExtraPhysics.cc.

113 {
114  synActivatedForAll = val;
115  if(synActivatedForAll) { synActivated = true; }
116 }

Here is the caller graph for this function:


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