/[PAMELA software]/PamG4/src/G4ElectroNuclearBuilder.cc
ViewVC logotype

Contents of /PamG4/src/G4ElectroNuclearBuilder.cc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download)
Tue Dec 13 16:20:39 2005 UTC (18 years, 11 months ago) by cafagna
Branch point for: start, MAIN
Initial revision

1 #include "G4ElectroNuclearBuilder.hh"
2
3 #include "globals.hh"
4 #include "G4ios.hh"
5 #include "G4ParticleDefinition.hh"
6 #include "G4ParticleTable.hh"
7 #include "G4Gamma.hh"
8 #include "G4Electron.hh"
9 #include "G4Positron.hh"
10 #include "G4ProcessManager.hh"
11
12 G4ElectroNuclearBuilder::G4ElectroNuclearBuilder()
13 {
14 theElectroReaction = new G4ElectroNuclearReaction;
15 theGammaReaction = new G4GammaNuclearReaction;
16 theModel = new G4TheoFSGenerator;
17 theCascade = new G4StringChipsParticleLevelInterface;
18 theModel->SetTransport(theCascade);
19 theModel->SetHighEnergyGenerator(&theStringModel);
20 theStringDecay = new G4ExcitedStringDecay(&theFragmentation);
21 theStringModel.SetFragmentationModel(theStringDecay);
22 }
23
24 G4ElectroNuclearBuilder::~G4ElectroNuclearBuilder() {delete theStringDecay;}
25
26 void G4ElectroNuclearBuilder::Build()
27 {
28 G4ProcessManager * aProcMan = 0;
29
30 aProcMan = G4Gamma::Gamma()->GetProcessManager();
31 theGammaReaction->SetMaxEnergy(3.5*GeV);
32 thePhotoNuclearProcess.RegisterMe(theGammaReaction);
33 theModel->SetMinEnergy(3.*GeV);
34 theModel->SetMaxEnergy(100*TeV);
35 thePhotoNuclearProcess.RegisterMe(theModel);
36 aProcMan->AddDiscreteProcess(&thePhotoNuclearProcess);
37
38 aProcMan = G4Electron::Electron()->GetProcessManager();
39 theElectronNuclearProcess.RegisterMe(theElectroReaction);
40 aProcMan->AddDiscreteProcess(&theElectronNuclearProcess);
41
42 aProcMan = G4Positron::Positron()->GetProcessManager();
43 thePositronNuclearProcess.RegisterMe(theElectroReaction);
44 aProcMan->AddDiscreteProcess(&thePositronNuclearProcess);
45 }
46
47
48

  ViewVC Help
Powered by ViewVC 1.1.23