Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions
G4EmManager Class Reference

#include <G4EmManager.hh>

Public Member Functions

 ~G4EmManager ()
 
void PreparePhysicsTable (const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p)
 
void PreparePhysicsTable (const G4ParticleDefinition *aParticle, G4VEmProcess *p)
 
void PreparePhysicsTable (const G4ParticleDefinition *aParticle, G4VMultipleScattering *p)
 
void BuildPhysicsTable (const G4ParticleDefinition *aParticle)
 
void BuildPhysicsTable (const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p)
 
void InitialiseProcess (const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *)
 
void InitialiseProcess (const G4ParticleDefinition *aParticle, G4VEmProcess *)
 
void InitialiseProcess (const G4ParticleDefinition *aParticle, G4VMultipleScattering *)
 
void Register (G4VEnergyLossProcess *p)
 
void Register (G4VMultipleScattering *p)
 
void Register (G4VEmProcess *p)
 
void RegisterExtraParticle (const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p)
 
void Register (G4PhysicsTable *p)
 
void DeRegister (G4PhysicsTable *p)
 
void SetLossFluctuations (G4bool val)
 
void SetSubCutoff (G4bool val, const G4Region *r=0)
 
void SetIntegral (G4bool val)
 
void SetRandomStep (G4bool val)
 
void SetMinSubRange (G4double val)
 
void SetMinEnergy (G4double val)
 
void SetMaxEnergy (G4double val)
 
void SetMaxEnergyForCSDARange (G4double val)
 
void SetMaxEnergyForMuons (G4double val)
 
void SetDEDXBinning (G4int val)
 
void SetDEDXBinningForCSDARange (G4int val)
 
void SetLambdaBinning (G4int val)
 
G4int GetNumberOfBinsPerDecade () const
 
void SetStepFunction (G4double v1, G4double v2)
 
void SetBuildCSDARange (G4bool val)
 
void SetLPMFlag (G4bool val)
 
void SetSplineFlag (G4bool val)
 
void SetLinearLossLimit (G4double val)
 
void SetBremsstrahlungTh (G4double val)
 
void SetFactorForAngleLimit (G4double val)
 
void SetVerbose (G4int val)
 
G4bool BuildCSDARange () const
 
G4bool LPMFlag () const
 
G4bool SplineFlag () const
 
G4double BremsstrahlungTh () const
 
G4double FactorForAngleLimit () const
 
G4double MinKinEnergy () const
 
G4double MaxKinEnergy () const
 
G4EmSaturationEmSaturation ()
 
G4EmConfiguratorEmConfigurator ()
 
G4ElectronIonPairElectronIonPair ()
 
G4LossTableBuilderGetTableBuilder ()
 

Static Public Member Functions

static G4EmManagerInstance ()
 

Detailed Description

Definition at line 80 of file G4EmManager.hh.

Constructor & Destructor Documentation

G4EmManager::~G4EmManager ( )

Definition at line 83 of file G4EmManager.cc.

References G4cout, G4endl, and nmax.

84 {
85  G4cout << "G4EmManager::~G4EmManager()" << G4endl;
86  G4int nmax = dedx_vector.size();
87  for (G4int i=0; i<nmax; ++i) {
88  if( dedx_vector[i] ) {
89  dedx_vector[i]->clearAndDestroy();
90  delete dedx_vector[i];
91  }
92  }
93  nmax = range_vector.size();
94  for (G4int i=0; i<nmax; ++i) {
95  if( range_vector[i] ) {
96  range_vector[i]->clearAndDestroy();
97  delete range_vector[i];
98  }
99  }
100  nmax = inv_range_vector.size();
101  for (G4int i=0; i<nmax; ++i) {
102  if( inv_range_vector[i] ) {
103  inv_range_vector[i]->clearAndDestroy();
104  delete inv_range_vector[i];
105  }
106  }
107  nmax = xsection_vector.size();
108  for (G4int i=0; i<nmax; ++i) {
109  if( xsection_vector[i] ) {
110  xsection_vector[i]->clearAndDestroy();
111  delete xsection_vector[i];
112  }
113  }
114  G4cout << "G4EmManager::~G4EmManager() 1" << G4endl;
115  delete theMessenger;
116  delete tableBuilder;
117  delete emSaturation;
118  delete emConfigurator;
119  delete emElectronIonPair;
120  G4cout << "G4EmManager::~G4EmManager() 2" << G4endl;
121 }
int G4int
Definition: G4Types.hh:78
G4GLOB_DLL std::ostream G4cout
const G4int nmax
#define G4endl
Definition: G4ios.hh:61

Member Function Documentation

G4double G4EmManager::BremsstrahlungTh ( ) const

Definition at line 897 of file G4EmManager.cc.

898 {
899  return bremsTh;
900 }
G4bool G4EmManager::BuildCSDARange ( ) const

Definition at line 613 of file G4EmManager.cc.

614 {
615  return buildCSDARange;
616 }
void G4EmManager::BuildPhysicsTable ( const G4ParticleDefinition aParticle)

Definition at line 332 of file G4EmManager.cc.

References G4EmConfigurator::Clear().

333 {
334  if(0 == run && startInitialisation) {
335  emConfigurator->Clear();
336  }
337 }
void G4EmManager::BuildPhysicsTable ( const G4ParticleDefinition aParticle,
G4VEnergyLossProcess p 
)

Definition at line 342 of file G4EmManager.cc.

References G4VEnergyLossProcess::BaseParticle(), G4EmConfigurator::Clear(), G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4ProcessManager::GetProcessActivation(), G4VProcess::GetProcessManager(), G4VProcess::GetProcessName(), G4VEnergyLossProcess::IsIonisationProcess(), G4VEnergyLossProcess::Particle(), and G4VEnergyLossProcess::SetIonisation().

344 {
345  if(1 < verbose) {
346  G4cout << "### G4EmManager::BuildDEDXTable() is requested for "
347  << aParticle->GetParticleName()
348  << " and process " << p->GetProcessName() << G4endl;
349  }
350  // clear configurator
351  if(0 == run && startInitialisation) {
352  emConfigurator->Clear();
353  firstParticle = aParticle;
354  }
355  startInitialisation = false;
356 
357  // initialisation before any table is built
358  if ( aParticle == firstParticle ) {
359  all_tables_are_built = true;
360 
361  if(1 < verbose) {
362  G4cout << "### G4EmManager start initilisation for first particle "
363  << firstParticle->GetParticleName()
364  << G4endl;
365  }
366  for (G4int i=0; i<n_loss; ++i) {
367  G4VEnergyLossProcess* el = loss_vector[i];
368 
369  if(el) {
370  const G4ProcessManager* pm = el->GetProcessManager();
371  isActive[i] = false;
372  if(pm) { isActive[i] = pm->GetProcessActivation(el); }
373  if(0 == run) { base_part_vector[i] = el->BaseParticle(); }
374  tables_are_built[i] = false;
375  all_tables_are_built= false;
376  if(!isActive[i]) { el->SetIonisation(false); }
377 
378  if(1 < verbose) {
379  G4cout << i <<". "<< el->GetProcessName();
380  if(el->Particle()) {
381  G4cout << " for " << el->Particle()->GetParticleName();
382  }
383  G4cout << " active= " << isActive[i]
384  << " table= " << tables_are_built[i]
385  << " isIonisation= " << el->IsIonisationProcess();
386  if(base_part_vector[i]) {
387  G4cout << " base particle "
388  << base_part_vector[i]->GetParticleName();
389  }
390  G4cout << G4endl;
391  }
392  } else {
393  tables_are_built[i] = true;
394  part_vector[i] = 0;
395  }
396  }
397  ++run;
398  }
399 
400  // Set run time parameters
401  SetParameters(aParticle, p);
402 
403  if (all_tables_are_built) { return; }
404 
405  // Build tables for given particle
406  all_tables_are_built = true;
407 
408  for(G4int i=0; i<n_loss; ++i) {
409  if(p == loss_vector[i] && !tables_are_built[i] && !base_part_vector[i]) {
410  const G4ParticleDefinition* curr_part = part_vector[i];
411  if(1 < verbose) {
412  G4cout << "### BuildPhysicsTable for " << p->GetProcessName()
413  << " and " << curr_part->GetParticleName()
414  << " start BuildTable " << G4endl;
415  }
416  G4VEnergyLossProcess* curr_proc = BuildTables(curr_part);
417  if(curr_proc) { CopyTables(curr_part, curr_proc); }
418  }
419  if ( !tables_are_built[i] ) { all_tables_are_built = false; }
420  }
421 
422  if(1 < verbose) {
423  G4cout << "### G4EmManager::BuildDEDXTable end: "
424  << "all_tables_are_built= " << all_tables_are_built
425  << G4endl;
426 
427  if(all_tables_are_built) {
428  G4cout << "### All dEdx and Range tables are built #####" << G4endl;
429  }
430  }
431 }
void SetIonisation(G4bool val)
int G4int
Definition: G4Types.hh:78
const G4String & GetParticleName() const
G4GLOB_DLL std::ostream G4cout
const G4ParticleDefinition * BaseParticle() const
const G4String & GetProcessName() const
Definition: G4VProcess.hh:408
virtual const G4ProcessManager * GetProcessManager()
Definition: G4VProcess.hh:514
const G4ParticleDefinition * Particle() const
G4bool GetProcessActivation(G4VProcess *aProcess) const
#define G4endl
Definition: G4ios.hh:61
G4bool IsIonisationProcess() const
void G4EmManager::DeRegister ( G4PhysicsTable p)
G4ElectronIonPair * G4EmManager::ElectronIonPair ( )

Definition at line 946 of file G4EmManager.cc.

947 {
948  return emElectronIonPair;
949 }
G4EmConfigurator * G4EmManager::EmConfigurator ( )

Definition at line 939 of file G4EmManager.cc.

940 {
941  return emConfigurator;
942 }
G4EmSaturation * G4EmManager::EmSaturation ( )

Definition at line 932 of file G4EmManager.cc.

933 {
934  return emSaturation;
935 }
G4double G4EmManager::FactorForAngleLimit ( ) const

Definition at line 911 of file G4EmManager.cc.

912 {
913  return factorForAngleLimit;
914 }
G4int G4EmManager::GetNumberOfBinsPerDecade ( ) const

Definition at line 759 of file G4EmManager.cc.

760 {
761  return nbinsPerDecade;
762 }
G4LossTableBuilder * G4EmManager::GetTableBuilder ( )

Definition at line 953 of file G4EmManager.cc.

954 {
955  return tableBuilder;
956 }
void G4EmManager::InitialiseProcess ( const G4ParticleDefinition aParticle,
G4VEnergyLossProcess  
)

Definition at line 840 of file G4EmManager.cc.

842 {
843 }
void G4EmManager::InitialiseProcess ( const G4ParticleDefinition aParticle,
G4VEmProcess  
)

Definition at line 847 of file G4EmManager.cc.

849 {
850 }
void G4EmManager::InitialiseProcess ( const G4ParticleDefinition aParticle,
G4VMultipleScattering  
)

Definition at line 854 of file G4EmManager.cc.

856 {
857 }
G4EmManager * G4EmManager::Instance ( void  )
static

Definition at line 72 of file G4EmManager.cc.

73 {
74  if(0 == theInstance) {
75  static G4EmManager manager;
76  theInstance = &manager;
77  }
78  return theInstance;
79 }
G4bool G4EmManager::LPMFlag ( ) const

Definition at line 868 of file G4EmManager.cc.

869 {
870  return flagLPM;
871 }
G4double G4EmManager::MaxKinEnergy ( ) const

Definition at line 925 of file G4EmManager.cc.

926 {
927  return maxKinEnergy;
928 }
G4double G4EmManager::MinKinEnergy ( ) const

Definition at line 918 of file G4EmManager.cc.

919 {
920  return minKinEnergy;
921 }
void G4EmManager::PreparePhysicsTable ( const G4ParticleDefinition aParticle,
G4VEnergyLossProcess p 
)

Definition at line 264 of file G4EmManager.cc.

References G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4VProcess::GetProcessName(), G4EmConfigurator::PrepareModels(), and G4LossTableBuilder::SetInitialisationFlag().

266 {
267  if (1 < verbose) {
268  G4cout << "G4EmManager::PreparePhysicsTable for "
269  << particle->GetParticleName()
270  << " and " << p->GetProcessName() << " run= " << run
271  << " loss_vector " << loss_vector.size() << G4endl;
272  }
273  if(!startInitialisation) { tableBuilder->SetInitialisationFlag(false); }
274 
275  // start initialisation for the first run
276  startInitialisation = true;
277 
278  if( 0 == run ) {
279  emConfigurator->PrepareModels(particle, p);
280 
281  // initialise particles for given process
282  for (G4int j=0; j<n_loss; ++j) {
283  if (p == loss_vector[j]) {
284  if (!part_vector[j]) { part_vector[j] = particle; }
285  }
286  }
287  }
288 }
int G4int
Definition: G4Types.hh:78
void SetInitialisationFlag(G4bool flag)
G4GLOB_DLL std::ostream G4cout
const G4String & GetProcessName() const
Definition: G4VProcess.hh:408
void PrepareModels(const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p)
#define G4endl
Definition: G4ios.hh:61
void G4EmManager::PreparePhysicsTable ( const G4ParticleDefinition aParticle,
G4VEmProcess p 
)

Definition at line 293 of file G4EmManager.cc.

References G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4VProcess::GetProcessName(), G4EmConfigurator::PrepareModels(), and G4LossTableBuilder::SetInitialisationFlag().

295 {
296  if (1 < verbose) {
297  G4cout << "G4EmManager::PreparePhysicsTable for "
298  << particle->GetParticleName()
299  << " and " << p->GetProcessName() << G4endl;
300  }
301  if(!startInitialisation) { tableBuilder->SetInitialisationFlag(false); }
302 
303  // start initialisation for the first run
304  if( 0 == run ) {
305  emConfigurator->PrepareModels(particle, p);
306  }
307  startInitialisation = true;
308 }
void SetInitialisationFlag(G4bool flag)
G4GLOB_DLL std::ostream G4cout
const G4String & GetProcessName() const
Definition: G4VProcess.hh:408
void PrepareModels(const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p)
#define G4endl
Definition: G4ios.hh:61
void G4EmManager::PreparePhysicsTable ( const G4ParticleDefinition aParticle,
G4VMultipleScattering p 
)

Definition at line 313 of file G4EmManager.cc.

References G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4VProcess::GetProcessName(), G4EmConfigurator::PrepareModels(), and G4LossTableBuilder::SetInitialisationFlag().

315 {
316  if (1 < verbose) {
317  G4cout << "G4EmManager::PreparePhysicsTable for "
318  << particle->GetParticleName()
319  << " and " << p->GetProcessName() << G4endl;
320  }
321  if(!startInitialisation) { tableBuilder->SetInitialisationFlag(false); }
322 
323  // start initialisation for the first run
324  if( 0 == run ) {
325  emConfigurator->PrepareModels(particle, p);
326  }
327 }
void SetInitialisationFlag(G4bool flag)
G4GLOB_DLL std::ostream G4cout
const G4String & GetProcessName() const
Definition: G4VProcess.hh:408
void PrepareModels(const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p)
#define G4endl
Definition: G4ios.hh:61
void G4EmManager::Register ( G4VEnergyLossProcess p)

Definition at line 172 of file G4EmManager.cc.

References G4VEnergyLossProcess::ActivateSubCutoff(), G4cout, G4endl, G4VProcess::GetProcessName(), G4VEnergyLossProcess::SetIntegral(), G4VEnergyLossProcess::SetLossFluctuations(), G4VEnergyLossProcess::SetMaxKinEnergy(), G4VEnergyLossProcess::SetMinKinEnergy(), G4VEnergyLossProcess::SetRandomStep(), and G4VEnergyLossProcess::SetStepFunction().

173 {
174  if(!p) { return; }
175  for (G4int i=0; i<n_loss; ++i) {
176  if(loss_vector[i] == p) { return; }
177  }
178  if(verbose > 1) {
179  G4cout << "G4EmManager::Register G4VEnergyLossProcess : "
180  << p->GetProcessName() << " idx= " << n_loss << G4endl;
181  }
182  ++n_loss;
183  loss_vector.push_back(p);
184  part_vector.push_back(0);
185  base_part_vector.push_back(0);
186  dedx_vector.push_back(0);
187  range_vector.push_back(0);
188  inv_range_vector.push_back(0);
189  tables_are_built.push_back(false);
190  isActive.push_back(true);
191  all_tables_are_built = false;
192  if(!lossFluctuationFlag) { p->SetLossFluctuations(false); }
193  if(subCutoffFlag) { p->ActivateSubCutoff(true); }
194  if(rndmStepFlag) { p->SetRandomStep(true); }
195  if(stepFunctionActive) {
196  p->SetStepFunction(maxRangeVariation, maxFinalStep);
197  }
198  if(integralActive) { p->SetIntegral(integral); }
199  if(minEnergyActive) { p->SetMinKinEnergy(minKinEnergy); }
200  if(maxEnergyActive) { p->SetMaxKinEnergy(maxKinEnergy); }
201 }
void SetIntegral(G4bool val)
void SetStepFunction(G4double v1, G4double v2)
int G4int
Definition: G4Types.hh:78
G4GLOB_DLL std::ostream G4cout
void SetLossFluctuations(G4bool val)
void SetMaxKinEnergy(G4double e)
const G4String & GetProcessName() const
Definition: G4VProcess.hh:408
#define G4endl
Definition: G4ios.hh:61
void ActivateSubCutoff(G4bool val, const G4Region *region=0)
void SetRandomStep(G4bool val)
void SetMinKinEnergy(G4double e)
void G4EmManager::Register ( G4VMultipleScattering p)

Definition at line 205 of file G4EmManager.cc.

References G4cout, G4endl, G4VProcess::GetProcessName(), and n.

206 {
207  if(!p) { return; }
208  G4int n = msc_vector.size();
209  for (G4int i=0; i<n; ++i) {
210  if(msc_vector[i] == p) { return; }
211  }
212  if(verbose > 1) {
213  G4cout << "G4EmManager::Register G4VMultipleScattering : "
214  << p->GetProcessName() << " idx= " << msc_vector.size() << G4endl;
215  }
216  msc_vector.push_back(p);
217 }
int G4int
Definition: G4Types.hh:78
G4GLOB_DLL std::ostream G4cout
const G4int n
const G4String & GetProcessName() const
Definition: G4VProcess.hh:408
#define G4endl
Definition: G4ios.hh:61
void G4EmManager::Register ( G4VEmProcess p)

Definition at line 221 of file G4EmManager.cc.

References G4cout, G4endl, G4VProcess::GetProcessName(), and n.

222 {
223  if(!p) { return; }
224  G4int n = emp_vector.size();
225  for (G4int i=0; i<n; ++i) {
226  if(emp_vector[i] == p) { return; }
227  }
228  if(verbose > 1) {
229  G4cout << "G4EmManager::Register G4VEmProcess : "
230  << p->GetProcessName() << " idx= " << emp_vector.size() << G4endl;
231  }
232  emp_vector.push_back(p);
233 }
int G4int
Definition: G4Types.hh:78
G4GLOB_DLL std::ostream G4cout
const G4int n
const G4String & GetProcessName() const
Definition: G4VProcess.hh:408
#define G4endl
Definition: G4ios.hh:61
void G4EmManager::Register ( G4PhysicsTable p)
void G4EmManager::RegisterExtraParticle ( const G4ParticleDefinition aParticle,
G4VEnergyLossProcess p 
)

Definition at line 237 of file G4EmManager.cc.

References G4VEnergyLossProcess::BaseParticle(), G4cout, G4endl, G4ParticleDefinition::GetParticleName(), and G4VProcess::GetProcessName().

240 {
241  if(!p || !part) { return; }
242  for (G4int i=0; i<n_loss; ++i) {
243  if(loss_vector[i] == p) { return; }
244  }
245  if(verbose > 1) {
246  G4cout << "G4EmManager::RegisterExtraParticle "
247  << part->GetParticleName() << " G4VEnergyLossProcess : "
248  << p->GetProcessName() << " idx= " << n_loss << G4endl;
249  }
250  ++n_loss;
251  loss_vector.push_back(p);
252  part_vector.push_back(part);
253  base_part_vector.push_back(p->BaseParticle());
254  dedx_vector.push_back(0);
255  range_vector.push_back(0);
256  inv_range_vector.push_back(0);
257  tables_are_built.push_back(false);
258  all_tables_are_built = false;
259 }
int G4int
Definition: G4Types.hh:78
G4GLOB_DLL std::ostream G4cout
const G4ParticleDefinition * BaseParticle() const
const G4String & GetProcessName() const
Definition: G4VProcess.hh:408
#define G4endl
Definition: G4ios.hh:61
void G4EmManager::SetBremsstrahlungTh ( G4double  val)

Definition at line 890 of file G4EmManager.cc.

891 {
892  bremsTh = val;
893 }
void G4EmManager::SetBuildCSDARange ( G4bool  val)

Definition at line 815 of file G4EmManager.cc.

Referenced by G4EmManagerMessenger::SetNewValue().

816 {
817  buildCSDARange = val;
818 }
void G4EmManager::SetDEDXBinning ( G4int  val)

Definition at line 722 of file G4EmManager.cc.

Referenced by G4EmManagerMessenger::SetNewValue().

723 {
724  for(G4int i=0; i<n_loss; ++i) {
725  if(loss_vector[i]) { loss_vector[i]->SetDEDXBinning(val); }
726  }
727 }
int G4int
Definition: G4Types.hh:78
void G4EmManager::SetDEDXBinningForCSDARange ( G4int  val)

Definition at line 731 of file G4EmManager.cc.

732 {
733  for(G4int i=0; i<n_loss; ++i) {
734  if(loss_vector[i]) { loss_vector[i]->SetDEDXBinningForCSDARange(val); }
735  }
736 }
int G4int
Definition: G4Types.hh:78
void G4EmManager::SetFactorForAngleLimit ( G4double  val)

Definition at line 904 of file G4EmManager.cc.

905 {
906  if(val > 0.0) { factorForAngleLimit = val; }
907 }
void G4EmManager::SetIntegral ( G4bool  val)

Definition at line 640 of file G4EmManager.cc.

Referenced by G4EmManagerMessenger::SetNewValue().

641 {
642  integral = val;
643  integralActive = true;
644  for(G4int i=0; i<n_loss; ++i) {
645  if(loss_vector[i]) { loss_vector[i]->SetIntegral(val); }
646  }
647  size_t emp = emp_vector.size();
648  for (size_t k=0; k<emp; ++k) {
649  if(emp_vector[k]) { emp_vector[k]->SetIntegral(val); }
650  }
651 }
int G4int
Definition: G4Types.hh:78
void G4EmManager::SetLambdaBinning ( G4int  val)

Definition at line 740 of file G4EmManager.cc.

References G4cout, G4endl, and n.

Referenced by G4EmManagerMessenger::SetNewValue().

741 {
742  G4int n = val/G4int(std::log10(maxKinEnergy/minKinEnergy) + 0.5);
743  if(n < 5) {
744  G4cout << "G4EmManager::SetLambdaBinning WARNING "
745  << "too small number of bins " << val << " ignored"
746  << G4endl;
747  return;
748  }
749  nbinsLambda = val;
750  nbinsPerDecade = n;
751  size_t emp = emp_vector.size();
752  for (size_t k=0; k<emp; ++k) {
753  if(emp_vector[k]) { emp_vector[k]->SetLambdaBinning(val); }
754  }
755 }
int G4int
Definition: G4Types.hh:78
G4GLOB_DLL std::ostream G4cout
const G4int n
#define G4endl
Definition: G4ios.hh:61
void G4EmManager::SetLinearLossLimit ( G4double  val)

Definition at line 806 of file G4EmManager.cc.

Referenced by G4EmManagerMessenger::SetNewValue().

807 {
808  for(G4int i=0; i<n_loss; ++i) {
809  if(loss_vector[i]) { loss_vector[i]->SetLinearLossLimit(val); }
810  }
811 }
int G4int
Definition: G4Types.hh:78
void G4EmManager::SetLossFluctuations ( G4bool  val)

Definition at line 620 of file G4EmManager.cc.

Referenced by G4EmManagerMessenger::SetNewValue().

621 {
622  lossFluctuationFlag = val;
623  for(G4int i=0; i<n_loss; ++i) {
624  if(loss_vector[i]) { loss_vector[i]->SetLossFluctuations(val); }
625  }
626 }
int G4int
Definition: G4Types.hh:78
void G4EmManager::SetLPMFlag ( G4bool  val)

Definition at line 861 of file G4EmManager.cc.

Referenced by G4EmManagerMessenger::SetNewValue().

862 {
863  flagLPM = val;
864 }
void G4EmManager::SetMaxEnergy ( G4double  val)

Definition at line 690 of file G4EmManager.cc.

Referenced by G4EmManagerMessenger::SetNewValue().

691 {
692  maxEnergyActive = true;
693  maxKinEnergy = val;
694  for(G4int i=0; i<n_loss; ++i) {
695  if(loss_vector[i]) { loss_vector[i]->SetMaxKinEnergy(val); }
696  }
697  size_t emp = emp_vector.size();
698  for (size_t k=0; k<emp; ++k) {
699  if(emp_vector[k]) { emp_vector[k]->SetMaxKinEnergy(val); }
700  }
701 }
int G4int
Definition: G4Types.hh:78
void G4EmManager::SetMaxEnergyForCSDARange ( G4double  val)

Definition at line 705 of file G4EmManager.cc.

706 {
707  for(G4int i=0; i<n_loss; ++i) {
708  if(loss_vector[i]) { loss_vector[i]->SetMaxKinEnergyForCSDARange(val); }
709  }
710 }
int G4int
Definition: G4Types.hh:78
void G4EmManager::SetMaxEnergyForMuons ( G4double  val)

Definition at line 714 of file G4EmManager.cc.

715 {
716  maxEnergyForMuonsActive = true;
717  maxKinEnergyForMuons = val;
718 }
void G4EmManager::SetMinEnergy ( G4double  val)

Definition at line 675 of file G4EmManager.cc.

Referenced by G4EmManagerMessenger::SetNewValue().

676 {
677  minEnergyActive = true;
678  minKinEnergy = val;
679  for(G4int i=0; i<n_loss; ++i) {
680  if(loss_vector[i]) { loss_vector[i]->SetMinKinEnergy(val); }
681  }
682  size_t emp = emp_vector.size();
683  for (size_t k=0; k<emp; ++k) {
684  if(emp_vector[k]) { emp_vector[k]->SetMinKinEnergy(val); }
685  }
686 }
int G4int
Definition: G4Types.hh:78
void G4EmManager::SetMinSubRange ( G4double  val)

Definition at line 655 of file G4EmManager.cc.

Referenced by G4EmManagerMessenger::SetNewValue().

656 {
657  minSubRange = val;
658  for(G4int i=0; i<n_loss; ++i) {
659  if(loss_vector[i]) { loss_vector[i]->SetMinSubRange(val); }
660  }
661 }
int G4int
Definition: G4Types.hh:78
void G4EmManager::SetRandomStep ( G4bool  val)

Definition at line 665 of file G4EmManager.cc.

Referenced by G4EmManagerMessenger::SetNewValue().

666 {
667  rndmStepFlag = val;
668  for(G4int i=0; i<n_loss; ++i) {
669  if(loss_vector[i]) { loss_vector[i]->SetRandomStep(val); }
670  }
671 }
int G4int
Definition: G4Types.hh:78
void G4EmManager::SetSplineFlag ( G4bool  val)

Definition at line 875 of file G4EmManager.cc.

References G4LossTableBuilder::SetSplineFlag().

Referenced by G4EmManagerMessenger::SetNewValue().

876 {
877  splineFlag = val;
878  tableBuilder->SetSplineFlag(splineFlag);
879 }
void SetSplineFlag(G4bool flag)
void G4EmManager::SetStepFunction ( G4double  v1,
G4double  v2 
)

Definition at line 794 of file G4EmManager.cc.

Referenced by G4EmManagerMessenger::SetNewValue().

795 {
796  stepFunctionActive = true;
797  maxRangeVariation = v1;
798  maxFinalStep = v2;
799  for(G4int i=0; i<n_loss; ++i) {
800  if(loss_vector[i]) { loss_vector[i]->SetStepFunction(v1, v2); }
801  }
802 }
int G4int
Definition: G4Types.hh:78
void G4EmManager::SetSubCutoff ( G4bool  val,
const G4Region r = 0 
)

Definition at line 630 of file G4EmManager.cc.

Referenced by G4EmManagerMessenger::SetNewValue().

631 {
632  subCutoffFlag = val;
633  for(G4int i=0; i<n_loss; ++i) {
634  if(loss_vector[i]) { loss_vector[i]->ActivateSubCutoff(val, r); }
635  }
636 }
int G4int
Definition: G4Types.hh:78
void G4EmManager::SetVerbose ( G4int  val)

Definition at line 766 of file G4EmManager.cc.

References G4cout, G4endl, G4EmSaturation::SetVerbose(), G4EmConfigurator::SetVerbose(), and G4ElectronIonPair::SetVerbose().

767 {
768  verbose = val;
769  /*
770  for(G4int i=0; i<n_loss; ++i) {
771  if(loss_vector[i]) { loss_vector[i]->SetVerboseLevel(val); }
772  }
773  size_t msc = msc_vector.size();
774  for (size_t j=0; j<msc; ++j) {
775  if(msc_vector[j]) { msc_vector[j]->SetVerboseLevel(val); }
776  }
777  size_t emp = emp_vector.size();
778  for (size_t k=0; k<emp; ++k) {
779  if(emp_vector[k]) { emp_vector[k]->SetVerboseLevel(val); }
780  }
781  */
782  G4cout << "1 " << emConfigurator << G4endl;
783  emConfigurator->SetVerbose(val);
784  G4cout << "2 " << emSaturation << G4endl;
785  //tableBuilder->SetVerbose(val);
786  emSaturation->SetVerbose(val);
787  G4cout << "3 " << emElectronIonPair << G4endl;
788  emElectronIonPair->SetVerbose(val);
789  G4cout << "4 " << G4endl;
790 }
void SetVerbose(G4int)
G4GLOB_DLL std::ostream G4cout
void SetVerbose(G4int value)
#define G4endl
Definition: G4ios.hh:61
G4bool G4EmManager::SplineFlag ( ) const

Definition at line 883 of file G4EmManager.cc.

884 {
885  return splineFlag;
886 }

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