ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PhysicsList.cc
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PhysicsList.cc
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 // This example is provided by the Geant4-DNA collaboration
27 // Any report or published results obtained using the Geant4-DNA software
28 // shall cite the following Geant4-DNA collaboration publication:
29 // Med. Phys. 37 (2010) 4692-4708
30 // The Geant4-DNA web site is available at http://geant4-dna.org
31 //
34 
35 #include "PhysicsList.hh"
36 #include "G4SystemOfUnits.hh"
37 
38 // Geant4-DNA MODELS
39 
40 #include "G4DNAElastic.hh"
43 
44 #include "G4DNAExcitation.hh"
47 
48 #include "G4DNAIonisation.hh"
51 
52 #include "G4DNAChargeDecrease.hh"
54 
55 #include "G4DNAChargeIncrease.hh"
57 
58 #include "G4DNAAttachment.hh"
60 
61 #include "G4DNAVibExcitation.hh"
63 
65 
66 //
67 
68 #include "G4LossTableManager.hh"
69 #include "G4EmConfigurator.hh"
70 #include "G4VEmModel.hh"
71 #include "G4DummyModel.hh"
72 #include "G4eIonisation.hh"
73 #include "G4hIonisation.hh"
74 #include "G4ionIonisation.hh"
75 #include "G4eMultipleScattering.hh"
76 #include "G4hMultipleScattering.hh"
77 #include "G4BraggIonGasModel.hh"
79 #include "G4UrbanMscModel.hh"
80 #include "G4MollerBhabhaModel.hh"
81 #include "G4IonFluctuations.hh"
83 
84 #include "G4ElectronCapture.hh"
85 
86 //seb
87 #include "G4PhysicsListHelper.hh"
88 #include "G4WentzelVIModel.hh"
89 #include "G4CoulombScattering.hh"
91 #include "G4BraggIonModel.hh"
92 #include "G4BraggModel.hh"
93 #include "G4BetheBlochModel.hh"
94 #include "G4DNAElastic.hh"
95 
96 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
97 
99 {
105 
106  SetVerboseLevel(1);
107 }
108 
109 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
110 
112 {}
113 
114 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
115 
117 {
118  ConstructBosons();
121 }
122 
123 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
124 
126 {
127  // gamma
129 }
130 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
131 
133 {
134  // leptons
137 }
138 
139 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
140 
141 //DNA
143 //ENDDNA
144 
146 {
147  // baryons
150 
151  // Geant4 DNA new particles
152  G4DNAGenericIonsManager * genericIonsManager;
153  genericIonsManager=G4DNAGenericIonsManager::Instance();
154  genericIonsManager->GetIon("alpha++");
155  genericIonsManager->GetIon("alpha+");
156  genericIonsManager->GetIon("helium");
157  genericIonsManager->GetIon("hydrogen");
158 }
159 
160 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
161 
163 {
165  ConstructEM();
167 }
168 
169 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
170 
172 {
173 
175  particleIterator->reset();
176 
177  while( (*particleIterator)() )
178  {
179 
181  G4ProcessManager* pmanager = particle->GetProcessManager();
182  G4String particleName = particle->GetParticleName();
183 
185 
186  // *********************************
187  // 1) Processes for the World region
188  // *********************************
189 
190  if (particleName == "e-") {
191 
192  // STANDARD msc is active in the world
194  msc->AddEmModel(1,new G4UrbanMscModel());
195  ph->RegisterProcess(msc, particle);
196 
197  // STANDARD ionisation is active in the world
198  G4eIonisation* eion = new G4eIonisation();
199  eion->SetEmModel(new G4MollerBhabhaModel(), 1);
200  ph->RegisterProcess(eion, particle);
201 
202  // DNA elastic is not active in the world
203  G4DNAElastic* theDNAElasticProcess = new G4DNAElastic("e-_G4DNAElastic");
204  theDNAElasticProcess->SetEmModel(new G4DummyModel(),1);
205  pmanager->AddDiscreteProcess(theDNAElasticProcess);
206 
207  // DNA excitation is not active in the world
208  G4DNAExcitation* dnaex = new G4DNAExcitation("e-_G4DNAExcitation");
209  dnaex->SetEmModel(new G4DummyModel(),1);
210  pmanager->AddDiscreteProcess(dnaex);
211 
212  // DNA ionisation is not active in the world
213  G4DNAIonisation* dnaioni = new G4DNAIonisation("e-_G4DNAIonisation");
214  dnaioni->SetEmModel(new G4DummyModel(),1);
215  pmanager->AddDiscreteProcess(dnaioni);
216 
217  // DNA attachment is not active in the world
218  G4DNAAttachment* dnaatt = new G4DNAAttachment("e-_G4DNAAttachment");
219  dnaatt->SetEmModel(new G4DummyModel(),1);
220  pmanager->AddDiscreteProcess(dnaatt);
221 
222  // DNA vib. excitation is not active in the world
223  G4DNAVibExcitation* dnavib =
224  new G4DNAVibExcitation("e-_G4DNAVibExcitation");
225  dnavib->SetEmModel(new G4DummyModel(),1);
226  pmanager->AddDiscreteProcess(dnavib);
227 
228  // THE FOLLOWING PROCESS WILL KILL ALL ELECTRONS BELOW A
229  // SELECTED ENERY THRESHOLD
230  // Capture of low-energy e-
231  G4ElectronCapture* ecap = new G4ElectronCapture("Target", 7.4*eV);
232  pmanager->AddDiscreteProcess(ecap);
233  // 7.4 eV is compatible with the validity range of the elastic model
234 
235  } else if ( particleName == "proton" ) {
236 
237  // STANDARD msc is active in the world
239  msc->AddEmModel(1,new G4WentzelVIModel());
240  ph->RegisterProcess(msc, particle);
241 
242  // STANDARD Coulomb scattering is active in the world
244  ph->RegisterProcess(pcou, particle);
245 
246  // STANDARD ionisation is active in the world
247  G4hIonisation* hion = new G4hIonisation();
248  hion->SetEmModel(new G4BraggModel(), 1);
249  hion->SetEmModel(new G4BetheBlochModel(), 2);
250  ph->RegisterProcess(hion, particle);
251 
252  // DNA excitation is not active in the world
253  G4DNAExcitation* dnaex = new G4DNAExcitation("proton_G4DNAExcitation");
254  dnaex->SetEmModel(new G4DummyModel(),1);
255  dnaex->SetEmModel(new G4DummyModel(),2);
256  pmanager->AddDiscreteProcess(dnaex);
257 
258  // DNA ionisation is not active in the world
259  G4DNAIonisation* dnaioni = new G4DNAIonisation("proton_G4DNAIonisation");
260  dnaioni->SetEmModel(new G4DummyModel(),1);
261  dnaioni->SetEmModel(new G4DummyModel(),2);
262  pmanager->AddDiscreteProcess(dnaioni);
263 
264  // DNA elastic is not active in the world
265  G4DNAElastic* dnael = new G4DNAElastic("proton_G4DNAElastic");
266  dnael->SetEmModel(new G4DummyModel(),1);
267  pmanager->AddDiscreteProcess(dnael);
268 
269  // DNA charge decrease is not active in the world
271  ("proton_G4DNAChargeDecrease");
272  dnacd->SetEmModel(new G4DummyModel(),1);
273  pmanager->AddDiscreteProcess(dnacd);
274 
275  } else if ( particleName == "hydrogen" ) {
276 
277  // DNA excitation is not active in the world
278  G4DNAExcitation* dnaex = new G4DNAExcitation("hydrogen_G4DNAExcitation");
279  dnaex->SetEmModel(new G4DummyModel(),1);
280  pmanager->AddDiscreteProcess(dnaex);
281 
282  // DNA ionisation is not active in the world
283  G4DNAIonisation* dnaioni = new G4DNAIonisation
284  ("hydrogen_G4DNAIonisation");
285  dnaioni->SetEmModel(new G4DummyModel(),1);
286  pmanager->AddDiscreteProcess(dnaioni);
287 
288  // DNA elastic is not active in the world
289  G4DNAElastic* dnael = new G4DNAElastic("hydrogen_G4DNAElastic");
290  dnael->SetEmModel(new G4DummyModel(),1);
291  pmanager->AddDiscreteProcess(dnael);
292 
293  // DNA charge increase is not active in the world
295  ("hydrogen_G4DNAChargeIncrease");
296  dnaci->SetEmModel(new G4DummyModel(),1);
297  pmanager->AddDiscreteProcess(dnaci);
298 
299  } else if (particleName == "GenericIon") {
300 
301  // WARNING : THIS IS NEEDED FOR STANDARD ALPHA G4ionIonisation PROCESS
302 
303  // STANDARD msc is active in the world
305  msc->AddEmModel(1, new G4UrbanMscModel());
306  ph->RegisterProcess(msc, particle);
307 
308  // STANDARD ionisation is active in the world
309  G4ionIonisation* hion = new G4ionIonisation();
310  hion->SetEmModel(new G4BraggIonModel(), 1);
311  hion->SetEmModel(new G4BetheBlochModel(), 2);
312  ph->RegisterProcess(hion, particle);
313 
314  } else if ( particleName == "alpha" ) {
315 
316  // STANDARD msc is active in the world
318  msc->AddEmModel(1, new G4UrbanMscModel());
319  ph->RegisterProcess(msc, particle);
320 
321  // STANDARD ionisation is active in the world
322  G4ionIonisation* hion = new G4ionIonisation();
323  hion->SetEmModel(new G4BraggIonModel(), 1);
324  hion->SetEmModel(new G4BetheBlochModel(), 2);
325  ph->RegisterProcess(hion, particle);
326 
327  // DNA excitation is not active in the world
328  G4DNAExcitation* dnaex = new G4DNAExcitation("alpha_G4DNAExcitation");
329  dnaex->SetEmModel(new G4DummyModel(),1);
330  pmanager->AddDiscreteProcess(dnaex);
331 
332  // DNA ionisation is not active in the world
333  G4DNAIonisation* dnaioni = new G4DNAIonisation("alpha_G4DNAIonisation");
334  dnaioni->SetEmModel(new G4DummyModel(),1);
335  pmanager->AddDiscreteProcess(dnaioni);
336 
337  // DNA elastic is not active in the world
338  G4DNAElastic* dnael = new G4DNAElastic("alpha_G4DNAElastic");
339  dnael->SetEmModel(new G4DummyModel(),1);
340  pmanager->AddDiscreteProcess(dnael);
341 
342  // DNA charge decrease is not active in the world
344  ("alpha_G4DNAChargeDecrease");
345  dnacd->SetEmModel(new G4DummyModel(),1);
346  pmanager->AddDiscreteProcess(dnacd);
347 
348  } else if ( particleName == "alpha+" ) {
349 
350  // STANDARD msc is active in the world
352  msc->AddEmModel(1, new G4UrbanMscModel());
353  ph->RegisterProcess(msc, particle);
354 
355  // STANDARD ionisation is active in the world
356  G4ionIonisation* hion = new G4ionIonisation();
357  hion->SetEmModel(new G4BraggIonModel(),1);
358  hion->SetEmModel(new G4BetheBlochModel(), 2);
359  ph->RegisterProcess(hion, particle);
360 
361  // DNA excitation is not active in the world
362  G4DNAExcitation* dnaex = new G4DNAExcitation("alpha+_G4DNAExcitation");
363  dnaex->SetEmModel(new G4DummyModel(),1);
364  pmanager->AddDiscreteProcess(dnaex);
365 
366  // DNA ionisation is not active in the world
367  G4DNAIonisation* dnaioni = new G4DNAIonisation("alpha+_G4DNAIonisation");
368  dnaioni->SetEmModel(new G4DummyModel(),1);
369  pmanager->AddDiscreteProcess(dnaioni);
370 
371  // DNA elastic is not active in the world
372  G4DNAElastic* dnael = new G4DNAElastic("alpha+_G4DNAElastic");
373  dnael->SetEmModel(new G4DummyModel(),1);
374  pmanager->AddDiscreteProcess(dnael);
375 
376  // DNA charge decrease is not active in the world
378  ("alpha+_G4DNAChargeDecrease");
379  dnacd->SetEmModel(new G4DummyModel(),1);
380  pmanager->AddDiscreteProcess(dnacd);
381 
382  // DNA charge increase is not active in the world
384  ("alpha+_G4DNAChargeIncrease");
385  dnaci->SetEmModel(new G4DummyModel(),1);
386  pmanager->AddDiscreteProcess(dnaci);
387 
388  } else if ( particleName == "helium" ) {
389 
390  // DNA excitation is not active in the world
391  G4DNAExcitation* dnaex = new G4DNAExcitation("helium_G4DNAExcitation");
392  dnaex->SetEmModel(new G4DummyModel(),1);
393  pmanager->AddDiscreteProcess(dnaex);
394 
395  // DNA ionisation is not active in the world
396  G4DNAIonisation* dnaioni = new G4DNAIonisation("helium_G4DNAIonisation");
397  dnaioni->SetEmModel(new G4DummyModel(),1);
398  pmanager->AddDiscreteProcess(dnaioni);
399 
400  // DNA elastic is not active in the world
401  G4DNAElastic* dnael = new G4DNAElastic("helium_G4DNAElastic");
402  dnael->SetEmModel(new G4DummyModel(),1);
403  pmanager->AddDiscreteProcess(dnael);
404 
405  // DNA charge increase is not active in the world
407  ("helium_G4DNAChargeIncrease");
408  dnaci->SetEmModel(new G4DummyModel(),1);
409  pmanager->AddDiscreteProcess(dnaci);
410 
411  }
412  }
413 
414 
415 
416  // **************************************
417  // 2) Define processes for Target region
418  // **************************************
419 
420  // STANDARD EM processes should be inactivated when
421  // corresponding DNA processes are used
422  // - STANDARD EM e- processes are inactivated below 1 MeV
423  // - STANDARD EM proton & alpha processes are inactivated below
424  // standEnergyLimit
425  G4double standEnergyLimit = 9.9*MeV;
426  //
427 
428  G4double massFactor = 1.0079/4.0026;
431 
432  G4VEmModel* mod;
433 
434  // *** e-
435 
436  // ---> STANDARD EM processes are inactivated below 1 MeV
437 
438  mod = new G4UrbanMscModel();
440  em_config->SetExtraEmModel("e-","msc",mod,"Target");
441 
442  mod = new G4MollerBhabhaModel();
444  em_config->SetExtraEmModel("e-",
445  "eIoni",
446  mod,
447  "Target",
448  0.0,
449  100*TeV,
450  new G4UniversalFluctuation());
451 
452  // ---> DNA processes activated
453 
454  mod = new G4DNAChampionElasticModel();
455  em_config->SetExtraEmModel("e-","e-_G4DNAElastic",
456  mod,"Target",7.4*eV,1.*MeV);
457 
458  mod = new G4DNABornIonisationModel();
459  em_config->SetExtraEmModel("e-","e-_G4DNAIonisation",
460  mod,"Target",11.*eV,1.*MeV);
461  // Note: valid from 11 eV to 0.999.. MeV then switch to std models at
462  // higher energies ; same for other models
463 
464  mod = new G4DNABornExcitationModel();
465  em_config->SetExtraEmModel("e-","e-_G4DNAExcitation",
466  mod,"Target",9.*eV,1.*MeV);
467 
468  mod = new G4DNAMeltonAttachmentModel();
469  em_config->SetExtraEmModel("e-","e-_G4DNAAttachment",
470  mod,"Target",4.*eV,13.*eV);
471 
472  mod = new G4DNASancheExcitationModel();
473  em_config->SetExtraEmModel("e-","e-_G4DNAVibExcitation",
474  mod,"Target",2.*eV,100.*eV);
475 
476  // *** proton
477 
478  // ---> STANDARD EM processes inactivated below standEnergyLimit
479  // or below 1 MeV for scattering
480 
481  // Inactivate following STANDARD processes
482 
483  mod = new G4WentzelVIModel();
485  em_config->SetExtraEmModel("proton","msc",mod,"Target", 0, 100*TeV);
486 
487  mod = new G4eCoulombScatteringModel();
489  em_config->SetExtraEmModel("proton","CoulombScat",mod,"Target", 0, 100*TeV);
490 
491  mod = new G4BraggModel();
492  mod->SetActivationLowEnergyLimit(standEnergyLimit);
493  em_config->SetExtraEmModel("proton","hIoni",
494  mod,"Target",0.0,2*MeV, new G4IonFluctuations());
495 
496  mod = new G4BetheBlochModel();
497  mod->SetActivationLowEnergyLimit(standEnergyLimit);
498  em_config->SetExtraEmModel("proton","hIoni",
499  mod,"Target",2*MeV,100*TeV,
500  new G4UniversalFluctuation());
501 
502  // ---> DNA processes activated
503 
504  mod = new G4DNAIonElasticModel();
505  em_config->SetExtraEmModel("proton","proton_G4DNAElastic",
506  mod,"Target",100*eV,1.*MeV);
507 
508  mod = new G4DNARuddIonisationModel();
509  em_config->SetExtraEmModel("proton","proton_G4DNAIonisation",
510  mod,"Target",100*eV,0.5*MeV);
511 
512  mod = new G4DNABornIonisationModel();
513  em_config->SetExtraEmModel("proton","proton_G4DNAIonisation",
514  mod,"Target",0.5*MeV,10*MeV);
515 
517  em_config->SetExtraEmModel("proton","proton_G4DNAExcitation",
518  mod,"Target",10*eV,0.5*MeV);
519 
520  mod = new G4DNABornExcitationModel();
521  em_config->SetExtraEmModel("proton","proton_G4DNAExcitation",
522  mod,"Target",0.5*MeV,10*MeV);
523 
525  em_config->SetExtraEmModel("proton","proton_G4DNAChargeDecrease",
526  mod,"Target",100*eV,10*MeV);
527 
528  // *** hydrogen
529 
530  // ---> NO STANDARD EM processes
531 
532  // ---> DNA processes activated
533 
534  mod = new G4DNAIonElasticModel();
535  em_config->SetExtraEmModel("hydrogen","hydrogen_G4DNAElastic",
536  mod,"Target",100.*eV,1.*MeV);
537 
538  mod = new G4DNARuddIonisationModel();
539  em_config->SetExtraEmModel("hydrogen","hydrogen_G4DNAIonisation",
540  mod,"Target",100*eV,10*MeV);
541 
543  em_config->SetExtraEmModel("hydrogen","hydrogen_G4DNAExcitation",
544  mod,"Target",10*eV,0.5*MeV);
545 
546 
548  em_config->SetExtraEmModel("hydrogen","hydrogen_G4DNAChargeIncrease",
549  mod,"Target",100*eV,10*MeV);
550 
551  // *** alpha
552 
553  // ---> STANDARD EM processes inactivated below standEnergyLimit
554  // or below 1 MeV for scattering
555 
556  // Inactivate following STANDARD processes
557 
558  mod = new G4UrbanMscModel();
560  em_config->SetExtraEmModel("alpha","msc",mod,"Target", 0, 100*TeV);
561 
562  mod = new G4BraggIonModel();
563  mod->SetActivationLowEnergyLimit(standEnergyLimit);
564  em_config->SetExtraEmModel("alpha","ionIoni",
565  mod,"Target",0.0,2*MeV/massFactor,
566  new G4IonFluctuations());
567 
568  mod = new G4BetheBlochModel();
569  mod->SetActivationLowEnergyLimit(standEnergyLimit);
570  em_config->SetExtraEmModel("alpha","ionIoni",
571  mod,"Target",2*MeV/massFactor,100*TeV,
572  new G4UniversalFluctuation());
573 
574  // ---> DNA processes activated
575 
576  mod = new G4DNAIonElasticModel();
577  em_config->SetExtraEmModel("alpha","alpha_G4DNAElastic",
578  mod,"Target",100*eV,1.*MeV);
579 
580  mod = new G4DNARuddIonisationModel();
581  em_config->SetExtraEmModel("alpha","alpha_G4DNAIonisation",
582  mod,"Target",1*keV,10*MeV);
583 
585  em_config->SetExtraEmModel("alpha","alpha_G4DNAExcitation",
586  mod,"Target",1*keV,10*MeV);
587 
589  em_config->SetExtraEmModel("alpha","alpha_G4DNAChargeDecrease",
590  mod,"Target",1*keV,10*MeV);
591 
592  // *** alpha+
593 
594  // ---> STANDARD EM processes inactivated below standEnergyLimit
595  // or below 1 MeV for scattering
596 
597  // Inactivate following STANDARD processes
598 
599  mod = new G4UrbanMscModel();
601  em_config->SetExtraEmModel("alpha+","msc",mod,"Target", 0, 100*TeV);
602 
603  mod = new G4BraggIonModel();
604  mod->SetActivationLowEnergyLimit(standEnergyLimit);
605  em_config->SetExtraEmModel("alpha+","ionIoni",
606  mod,"Target",0.0,2*MeV/massFactor,
607  new G4IonFluctuations());
608 
609  mod = new G4BetheBlochModel();
610  mod->SetActivationLowEnergyLimit(standEnergyLimit);
611  em_config->SetExtraEmModel("alpha+","ionIoni",
612  mod,"Target",2*MeV/massFactor,100*TeV,
613  new G4UniversalFluctuation());
614 
615  // ---> DNA processes activated
616 
617  mod = new G4DNAIonElasticModel();
618  em_config->SetExtraEmModel("alpha+","alpha+_G4DNAElastic",
619  mod,"Target",100*eV,1.*MeV);
620 
621  mod = new G4DNARuddIonisationModel();
622  em_config->SetExtraEmModel("alpha+","alpha+_G4DNAIonisation",
623  mod,"Target",1*keV,10*MeV);
624 
626  em_config->SetExtraEmModel("alpha+","alpha+_G4DNAExcitation",
627  mod,"Target",1*keV,10*MeV);
628 
630  em_config->SetExtraEmModel("alpha+","alpha+_G4DNAChargeIncrease",
631  mod,"Target",1*keV,10*MeV);
632 
634  em_config->SetExtraEmModel("alpha+","alpha+_G4DNAChargeDecrease",
635  mod,"Target",1*keV,10*MeV);
636 
637  // *** helium
638 
639  // ---> NO STANDARD EM processes
640 
641  // ---> DNA processes activated
642 
643  mod = new G4DNAIonElasticModel();
644  em_config->SetExtraEmModel("helium","helium_G4DNAElastic",
645  mod,"Target",100*eV,1.*MeV);
646 
647  mod = new G4DNARuddIonisationModel();
648  em_config->SetExtraEmModel("helium","helium_G4DNAIonisation",
649  mod,"Target",1*keV,10*MeV);
650 
652  em_config->SetExtraEmModel("helium","helium_G4DNAExcitation",
653  mod,"Target",1*keV,10*MeV);
654 
656  em_config->SetExtraEmModel("helium","helium_G4DNAChargeIncrease",
657  mod,"Target",1*keV,10*MeV);
658 
659 }
660 
661 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
662 
664 { }
665 
666 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
667 
669 {
670  if (verboseLevel >0)
671  {
672  G4cout << "PhysicsList::SetCuts:";
673  G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl;
674  }
675 
676  // set cut values for gamma at first and for e- second and next for e+,
677  // because some processes for e+/e- need cut values for gamma
678  SetCutValue(fCutForGamma, "gamma");
681  SetCutValue(fCutForProton, "proton");
682 
683  if (verboseLevel>0) { DumpCutValuesTable(); }
684 }