/search.css" rel="stylesheet" type="text/css"/> /search.js">
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

Public Member Functions | Private Attributes
DsPhysConsElectroNu Class Reference

Electro Nuclear processes. More...

#include <DsPhysConsElectroNu.h>

List of all members.

Public Member Functions

 DsPhysConsElectroNu (const std::string &type, const std::string &name, const IInterface *parent)
virtual ~DsPhysConsElectroNu ()
void ConstructParticle ()
void ConstructProcess ()

Private Attributes

double m_maxGammaReactionEnergy
 MaxGammaReactionEnergy : Maximum gamma nuclear reaction energy.
double m_minFinalStateEnergy
 MinFinalStateEnergy : Min energy for final state hadron production.
double m_maxFinalStateEnergy
 MaxFinalStateEnergy : Max energy for final state hadron production.
double m_muNuclScaledFactor
bool m_enableMuNucl

Detailed Description

Electro Nuclear processes.

bv@bnl.gov Wed Apr 16 11:33:27 2008

Definition at line 21 of file DsPhysConsElectroNu.h.


Constructor & Destructor Documentation

DsPhysConsElectroNu::DsPhysConsElectroNu ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 23 of file DsPhysConsElectroNu.cc.

    : GiGaPhysConstructorBase(type,name,parent)
{
    declareProperty("MaxGammaReactionEnergy",m_maxGammaReactionEnergy=3.5*GeV,
                    "Maximum gamma nuclear reaction energy.");
    declareProperty("MinFinalStateEnergy",m_minFinalStateEnergy=3.0*GeV,
                    "Min energy for final state hadron production.");
    declareProperty("MaxFinalStateEnergy",m_maxFinalStateEnergy=100*TeV,
                    "Max energy for final state hadron production.");
    declareProperty("MuNuclScaledFactor",m_muNuclScaledFactor=1.0,
                    "Scaled factor for muNucl cross section.");
    declareProperty("EnableMuNucl",m_enableMuNucl=true,
                    "if enable muon nuclear process.");
}
DsPhysConsElectroNu::~DsPhysConsElectroNu ( ) [virtual]

Definition at line 40 of file DsPhysConsElectroNu.cc.

{
}

Member Function Documentation

void DsPhysConsElectroNu::ConstructParticle ( )

Definition at line 45 of file DsPhysConsElectroNu.cc.

{
}
void DsPhysConsElectroNu::ConstructProcess ( )

Definition at line 48 of file DsPhysConsElectroNu.cc.

{
    // gamma
    G4ProcessManager* pmanager = G4Gamma::Gamma()->GetProcessManager();

    G4PhotoNuclearProcess * thePhotoNuclearProcess = new G4PhotoNuclearProcess;
    G4GammaNuclearReaction * theGammaReaction = new G4GammaNuclearReaction;
    G4TheoFSGenerator * theModel = new G4TheoFSGenerator;
    G4QGSModel<G4GammaParticipants>* theStringModel = new G4QGSModel<G4GammaParticipants>;
    G4ExcitedStringDecay * theStringDecay = new G4ExcitedStringDecay(new G4QGSMFragmentation);
    theStringModel->SetFragmentationModel(theStringDecay);
    G4GeneratorPrecompoundInterface * theCascade = new G4GeneratorPrecompoundInterface;
    theModel->SetTransport(theCascade);
    theModel->SetHighEnergyGenerator(theStringModel);
    theGammaReaction->SetMaxEnergy(m_maxGammaReactionEnergy);

    thePhotoNuclearProcess->RegisterMe(theGammaReaction);
  
    theModel->SetMinEnergy(m_minFinalStateEnergy);
    theModel->SetMaxEnergy(m_maxFinalStateEnergy);
  
    thePhotoNuclearProcess->RegisterMe(theModel);
  
    pmanager->AddDiscreteProcess(thePhotoNuclearProcess);
 
    // e-
    pmanager = G4Electron::Electron()->GetProcessManager();
     
    G4ElectroNuclearReaction* electroNuclear = new G4ElectroNuclearReaction();
    G4ElectronNuclearProcess* theElectroNuclearProcess = new G4ElectronNuclearProcess();

    theElectroNuclearProcess->RegisterMe(electroNuclear);

    pmanager->AddProcess(theElectroNuclearProcess, -1, -1, 5);
  
    // e+
    pmanager = G4Positron::Positron()->GetProcessManager();

    G4PositronNuclearProcess* thePositronNuclearProcess = new G4PositronNuclearProcess();

    thePositronNuclearProcess->RegisterMe(electroNuclear);

    pmanager->AddProcess(thePositronNuclearProcess, -1, -1, 5); 
  
    // Mu-nuclear reaction
    if(m_enableMuNucl) {
      // mu-  
      pmanager = G4MuonMinus::MuonMinus()->GetProcessManager();

      DsG4MuNuclearInteraction* munucProc = new DsG4MuNuclearInteraction("muNuclear", m_muNuclScaledFactor);
  
      pmanager->AddDiscreteProcess(munucProc);

      // mu+
      pmanager = G4MuonPlus::MuonPlus()->GetProcessManager();
          
      pmanager->AddDiscreteProcess(munucProc);
    }
}

Member Data Documentation

MaxGammaReactionEnergy : Maximum gamma nuclear reaction energy.

Definition at line 38 of file DsPhysConsElectroNu.h.

MinFinalStateEnergy : Min energy for final state hadron production.

Definition at line 41 of file DsPhysConsElectroNu.h.

MaxFinalStateEnergy : Max energy for final state hadron production.

Definition at line 44 of file DsPhysConsElectroNu.h.

Definition at line 47 of file DsPhysConsElectroNu.h.

Definition at line 50 of file DsPhysConsElectroNu.h.


The documentation for this class was generated from the following files:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 10:17:58 for DetSim by doxygen 1.7.4