#include <G4ElectroNuclearBuilder.hh>
Public Member Functions | |
G4ElectroNuclearBuilder () | |
virtual | ~G4ElectroNuclearBuilder () |
virtual void | Build () |
Protected Attributes | |
G4PhotoNuclearProcess * | thePhotoNuclearProcess |
G4ElectronNuclearProcess * | theElectronNuclearProcess |
G4PositronNuclearProcess * | thePositronNuclearProcess |
G4ElectroNuclearReaction * | theElectroReaction |
G4GammaNuclearReaction * | theGammaReaction |
G4TheoFSGenerator * | theModel |
G4GeneratorPrecompoundInterface * | theCascade |
G4QGSModel< G4GammaParticipants > * | theStringModel |
G4QGSMFragmentation * | theFragmentation |
G4ExcitedStringDecay * | theStringDecay |
G4bool | wasActivated |
Definition at line 45 of file G4ElectroNuclearBuilder.hh.
G4ElectroNuclearBuilder::G4ElectroNuclearBuilder | ( | ) |
Definition at line 53 of file G4ElectroNuclearBuilder.cc.
00053 : 00054 thePhotoNuclearProcess(0), theElectronNuclearProcess(0), 00055 thePositronNuclearProcess(0), theElectroReaction(0), 00056 theGammaReaction(0), theModel(0), theCascade(0), 00057 theStringModel(0), theFragmentation(0), theStringDecay(0), 00058 wasActivated(false) 00059 { 00060 }
G4ElectroNuclearBuilder::~G4ElectroNuclearBuilder | ( | ) | [virtual] |
Definition at line 62 of file G4ElectroNuclearBuilder.cc.
References theCascade, theElectronNuclearProcess, theElectroReaction, theFragmentation, theGammaReaction, theModel, thePhotoNuclearProcess, thePositronNuclearProcess, theStringDecay, theStringModel, and wasActivated.
00063 { 00064 if(wasActivated) { 00065 delete theFragmentation; 00066 delete theStringDecay; 00067 delete theStringModel; 00068 delete thePhotoNuclearProcess; 00069 delete theElectronNuclearProcess; 00070 delete thePositronNuclearProcess; 00071 delete theElectroReaction; 00072 delete theGammaReaction; 00073 delete theModel; 00074 delete theCascade; 00075 } 00076 }
void G4ElectroNuclearBuilder::Build | ( | ) | [virtual] |
Definition at line 78 of file G4ElectroNuclearBuilder.cc.
References G4ProcessManager::AddDiscreteProcess(), G4Electron::Electron(), G4Gamma::Gamma(), G4ParticleDefinition::GetProcessManager(), G4Positron::Positron(), G4HadronicProcess::RegisterMe(), G4VPartonStringModel::SetFragmentationModel(), G4TheoFSGenerator::SetHighEnergyGenerator(), G4HadronicInteraction::SetMaxEnergy(), G4HadronicInteraction::SetMinEnergy(), G4TheoFSGenerator::SetTransport(), theCascade, theElectronNuclearProcess, theElectroReaction, theFragmentation, theGammaReaction, theModel, thePhotoNuclearProcess, thePositronNuclearProcess, theStringDecay, theStringModel, and wasActivated.
00079 { 00080 if(wasActivated) return; 00081 wasActivated=true; 00082 00083 thePhotoNuclearProcess = new G4PhotoNuclearProcess; 00084 theElectronNuclearProcess = new G4ElectronNuclearProcess; 00085 thePositronNuclearProcess = new G4PositronNuclearProcess; 00086 theElectroReaction = new G4ElectroNuclearReaction; 00087 theGammaReaction = new G4GammaNuclearReaction; 00088 00089 theModel = new G4TheoFSGenerator; 00090 00091 theStringModel = new G4QGSModel< G4GammaParticipants >; 00092 theStringDecay = new G4ExcitedStringDecay(theFragmentation=new G4QGSMFragmentation); 00093 theStringModel->SetFragmentationModel(theStringDecay); 00094 00095 theCascade = new G4GeneratorPrecompoundInterface; 00096 00097 theModel->SetTransport(theCascade); 00098 theModel->SetHighEnergyGenerator(theStringModel); 00099 00100 G4ProcessManager * aProcMan = 0; 00101 00102 aProcMan = G4Gamma::Gamma()->GetProcessManager(); 00103 theGammaReaction->SetMaxEnergy(3.5*GeV); 00104 thePhotoNuclearProcess->RegisterMe(theGammaReaction); 00105 theModel->SetMinEnergy(3.*GeV); 00106 theModel->SetMaxEnergy(100*TeV); 00107 thePhotoNuclearProcess->RegisterMe(theModel); 00108 aProcMan->AddDiscreteProcess(thePhotoNuclearProcess); 00109 00110 aProcMan = G4Electron::Electron()->GetProcessManager(); 00111 theElectronNuclearProcess->RegisterMe(theElectroReaction); 00112 aProcMan->AddDiscreteProcess(theElectronNuclearProcess); 00113 00114 aProcMan = G4Positron::Positron()->GetProcessManager(); 00115 thePositronNuclearProcess->RegisterMe(theElectroReaction); 00116 aProcMan->AddDiscreteProcess(thePositronNuclearProcess); 00117 }
Definition at line 62 of file G4ElectroNuclearBuilder.hh.
Referenced by Build(), and ~G4ElectroNuclearBuilder().
Definition at line 56 of file G4ElectroNuclearBuilder.hh.
Referenced by Build(), and ~G4ElectroNuclearBuilder().
Definition at line 58 of file G4ElectroNuclearBuilder.hh.
Referenced by Build(), and ~G4ElectroNuclearBuilder().
Definition at line 64 of file G4ElectroNuclearBuilder.hh.
Referenced by Build(), and ~G4ElectroNuclearBuilder().
Definition at line 59 of file G4ElectroNuclearBuilder.hh.
Referenced by Build(), and ~G4ElectroNuclearBuilder().
G4TheoFSGenerator* G4ElectroNuclearBuilder::theModel [protected] |
Definition at line 61 of file G4ElectroNuclearBuilder.hh.
Referenced by Build(), and ~G4ElectroNuclearBuilder().
Definition at line 55 of file G4ElectroNuclearBuilder.hh.
Referenced by Build(), and ~G4ElectroNuclearBuilder().
Definition at line 57 of file G4ElectroNuclearBuilder.hh.
Referenced by Build(), and ~G4ElectroNuclearBuilder().
Definition at line 65 of file G4ElectroNuclearBuilder.hh.
Referenced by Build(), and ~G4ElectroNuclearBuilder().
G4QGSModel< G4GammaParticipants >* G4ElectroNuclearBuilder::theStringModel [protected] |
Definition at line 63 of file G4ElectroNuclearBuilder.hh.
Referenced by Build(), and ~G4ElectroNuclearBuilder().
G4bool G4ElectroNuclearBuilder::wasActivated [protected] |
Definition at line 66 of file G4ElectroNuclearBuilder.hh.
Referenced by Build(), and ~G4ElectroNuclearBuilder().