G4BertiniElectroNuclearBuilder Class Reference

#include <G4BertiniElectroNuclearBuilder.hh>


Public Member Functions

 G4BertiniElectroNuclearBuilder ()
virtual ~G4BertiniElectroNuclearBuilder ()
virtual void Build ()

Protected Attributes

G4PhotoNuclearProcessthePhotoNuclearProcess
G4ElectronNuclearProcesstheElectronNuclearProcess
G4PositronNuclearProcessthePositronNuclearProcess
G4ElectroVDNuclearModeltheElectroReaction
G4CascadeInterfacetheGammaReaction
G4TheoFSGeneratortheModel
G4GeneratorPrecompoundInterfacetheCascade
G4QGSModel< G4GammaParticipants > * theStringModel
G4QGSMFragmentationtheFragmentation
G4ExcitedStringDecaytheStringDecay
G4bool wasActivated


Detailed Description

Definition at line 46 of file G4BertiniElectroNuclearBuilder.hh.


Constructor & Destructor Documentation

G4BertiniElectroNuclearBuilder::G4BertiniElectroNuclearBuilder (  ) 

Definition at line 54 of file G4BertiniElectroNuclearBuilder.cc.

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 }


Member Function Documentation

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 }


Field Documentation

G4GeneratorPrecompoundInterface* G4BertiniElectroNuclearBuilder::theCascade [protected]

Definition at line 63 of file G4BertiniElectroNuclearBuilder.hh.

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

G4ElectronNuclearProcess* G4BertiniElectroNuclearBuilder::theElectronNuclearProcess [protected]

Definition at line 57 of file G4BertiniElectroNuclearBuilder.hh.

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

G4ElectroVDNuclearModel* G4BertiniElectroNuclearBuilder::theElectroReaction [protected]

Definition at line 59 of file G4BertiniElectroNuclearBuilder.hh.

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

G4QGSMFragmentation* G4BertiniElectroNuclearBuilder::theFragmentation [protected]

Definition at line 65 of file G4BertiniElectroNuclearBuilder.hh.

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

G4CascadeInterface* G4BertiniElectroNuclearBuilder::theGammaReaction [protected]

Definition at line 60 of file G4BertiniElectroNuclearBuilder.hh.

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

G4TheoFSGenerator* G4BertiniElectroNuclearBuilder::theModel [protected]

Definition at line 62 of file G4BertiniElectroNuclearBuilder.hh.

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

G4PhotoNuclearProcess* G4BertiniElectroNuclearBuilder::thePhotoNuclearProcess [protected]

Definition at line 56 of file G4BertiniElectroNuclearBuilder.hh.

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

G4PositronNuclearProcess* G4BertiniElectroNuclearBuilder::thePositronNuclearProcess [protected]

Definition at line 58 of file G4BertiniElectroNuclearBuilder.hh.

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

G4ExcitedStringDecay* G4BertiniElectroNuclearBuilder::theStringDecay [protected]

Definition at line 66 of file G4BertiniElectroNuclearBuilder.hh.

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

G4QGSModel< G4GammaParticipants >* G4BertiniElectroNuclearBuilder::theStringModel [protected]

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


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