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

Annotation of /PamG4/src/G4ElectroNuclearBuilder.cc

Parent Directory Parent Directory | Revision Log Revision Log


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

1 cafagna 1.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