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