G4ElectroNuclearBuilder Class Reference

#include <G4ElectroNuclearBuilder.hh>


Public Member Functions

 G4ElectroNuclearBuilder ()
virtual ~G4ElectroNuclearBuilder ()
virtual void Build ()

Protected Attributes

G4PhotoNuclearProcessthePhotoNuclearProcess
G4ElectronNuclearProcesstheElectronNuclearProcess
G4PositronNuclearProcessthePositronNuclearProcess
G4ElectroNuclearReactiontheElectroReaction
G4GammaNuclearReactiontheGammaReaction
G4TheoFSGeneratortheModel
G4GeneratorPrecompoundInterfacetheCascade
G4QGSModel< G4GammaParticipants > * theStringModel
G4QGSMFragmentationtheFragmentation
G4ExcitedStringDecaytheStringDecay
G4bool wasActivated


Detailed Description

Definition at line 45 of file G4ElectroNuclearBuilder.hh.


Constructor & Destructor Documentation

G4ElectroNuclearBuilder::G4ElectroNuclearBuilder (  ) 

Definition at line 53 of file G4ElectroNuclearBuilder.cc.

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 }


Member Function Documentation

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 }


Field Documentation

G4GeneratorPrecompoundInterface* G4ElectroNuclearBuilder::theCascade [protected]

Definition at line 62 of file G4ElectroNuclearBuilder.hh.

Referenced by Build(), and ~G4ElectroNuclearBuilder().

G4ElectronNuclearProcess* G4ElectroNuclearBuilder::theElectronNuclearProcess [protected]

Definition at line 56 of file G4ElectroNuclearBuilder.hh.

Referenced by Build(), and ~G4ElectroNuclearBuilder().

G4ElectroNuclearReaction* G4ElectroNuclearBuilder::theElectroReaction [protected]

Definition at line 58 of file G4ElectroNuclearBuilder.hh.

Referenced by Build(), and ~G4ElectroNuclearBuilder().

G4QGSMFragmentation* G4ElectroNuclearBuilder::theFragmentation [protected]

Definition at line 64 of file G4ElectroNuclearBuilder.hh.

Referenced by Build(), and ~G4ElectroNuclearBuilder().

G4GammaNuclearReaction* G4ElectroNuclearBuilder::theGammaReaction [protected]

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().

G4PhotoNuclearProcess* G4ElectroNuclearBuilder::thePhotoNuclearProcess [protected]

Definition at line 55 of file G4ElectroNuclearBuilder.hh.

Referenced by Build(), and ~G4ElectroNuclearBuilder().

G4PositronNuclearProcess* G4ElectroNuclearBuilder::thePositronNuclearProcess [protected]

Definition at line 57 of file G4ElectroNuclearBuilder.hh.

Referenced by Build(), and ~G4ElectroNuclearBuilder().

G4ExcitedStringDecay* G4ElectroNuclearBuilder::theStringDecay [protected]

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().


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:51:51 2013 for Geant4 by  doxygen 1.4.7