ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4NuMuNucleusNcModel Class Reference

#include <geant4/tree/geant4-10.6-release/source/processes/hadronic/models/lepto_nuclear/include/G4NuMuNucleusNcModel.hh>

+ Inheritance diagram for G4NuMuNucleusNcModel:
+ Collaboration diagram for G4NuMuNucleusNcModel:

Public Member Functions

 G4NuMuNucleusNcModel (const G4String &name="NuMuNuclNcModel")
 
virtual ~G4NuMuNucleusNcModel ()
 
virtual void InitialiseModel ()
 
virtual G4bool IsApplicable (const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)
 
virtual G4HadFinalStateApplyYourself (const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)
 
void SampleLVkr (const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)
 
G4double SampleXkr (G4double energy)
 
G4double GetXkr (G4int iEnergy, G4double prob)
 
G4double SampleQkr (G4double energy, G4double xx)
 
G4double GetQkr (G4int iE, G4int jX, G4double prob)
 
G4double GetMinNuMuEnergy ()
 
G4double ThresholdEnergy (G4double mI, G4double mF, G4double mP)
 
virtual void ModelDescription (std::ostream &) const
 
- Public Member Functions inherited from G4NeutrinoNucleusModel
 G4NeutrinoNucleusModel (const G4String &name="neutrino-nucleus")
 
virtual ~G4NeutrinoNucleusModel ()
 
void ClusterDecay (G4LorentzVector &lvX, G4int qX)
 
void MesonDecay (G4LorentzVector &lvX, G4int qX)
 
void FinalBarion (G4LorentzVector &lvB, G4int qB, G4int pdgB)
 
void RecoilDeexcitation (G4Fragment &fragment)
 
void FinalMeson (G4LorentzVector &lvM, G4int qM, G4int pdgM)
 
void CoherentPion (G4LorentzVector &lvP, G4int pdgP, G4Nucleus &targetNucleus)
 
void SetCutEnergy (G4double ec)
 
G4double GetCutEnergy ()
 
G4double GetNuEnergy ()
 
G4double GetQtransfer ()
 
G4double GetQ2 ()
 
G4double GetXsample ()
 
G4int GetPDGencoding ()
 
G4bool GetCascade ()
 
G4bool GetString ()
 
G4double GetCosTheta ()
 
G4double GetEmu ()
 
G4double GetEx ()
 
G4double GetMuMass ()
 
G4double GetW2 ()
 
G4double GetM1 ()
 
G4double GetMr ()
 
G4double GetTr ()
 
G4double GetDp ()
 
G4LorentzVector GetLVl ()
 
G4LorentzVector GetLVh ()
 
G4LorentzVector GetLVt ()
 
G4LorentzVector GetLVcpi ()
 
G4double GetMinNuMuEnergy ()
 
G4double ThresholdEnergy (G4double mI, G4double mF, G4double mP)
 
G4double FinalMomentum (G4double mI, G4double mF, G4double mP, G4LorentzVector lvX)
 
G4double FermiMomentum (G4Nucleus &targetNucleus)
 
G4double NucleonMomentum (G4Nucleus &targetNucleus)
 
G4double GetEx (G4int A, G4bool fP)
 
G4double GgSampleNM (G4Nucleus &nucl)
 
G4int GetEnergyIndex (G4double energy)
 
G4double GetNuMuQeTotRat (G4int index, G4double energy)
 
G4int GetOnePionIndex (G4double energy)
 
G4double GetNuMuOnePionProb (G4int index, G4double energy)
 
- Public Member Functions inherited from G4HadronicInteraction
 G4HadronicInteraction (const G4String &modelName="HadronicModel")
 
virtual ~G4HadronicInteraction ()
 
virtual G4double SampleInvariantT (const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A)
 
G4double GetMinEnergy () const
 
G4double GetMinEnergy (const G4Material *aMaterial, const G4Element *anElement) const
 
void SetMinEnergy (G4double anEnergy)
 
void SetMinEnergy (G4double anEnergy, const G4Element *anElement)
 
void SetMinEnergy (G4double anEnergy, const G4Material *aMaterial)
 
G4double GetMaxEnergy () const
 
G4double GetMaxEnergy (const G4Material *aMaterial, const G4Element *anElement) const
 
void SetMaxEnergy (const G4double anEnergy)
 
void SetMaxEnergy (G4double anEnergy, const G4Element *anElement)
 
void SetMaxEnergy (G4double anEnergy, const G4Material *aMaterial)
 
G4int GetVerboseLevel () const
 
void SetVerboseLevel (G4int value)
 
const G4StringGetModelName () const
 
void DeActivateFor (const G4Material *aMaterial)
 
void ActivateFor (const G4Material *aMaterial)
 
void DeActivateFor (const G4Element *anElement)
 
void ActivateFor (const G4Element *anElement)
 
G4bool IsBlocked (const G4Material *aMaterial) const
 
G4bool IsBlocked (const G4Element *anElement) const
 
void SetRecoilEnergyThreshold (G4double val)
 
G4double GetRecoilEnergyThreshold () const
 
virtual const std::pair
< G4double, G4double
GetFatalEnergyCheckLevels () const
 
virtual std::pair< G4double,
G4double
GetEnergyMomentumCheckLevels () const
 
void SetEnergyMomentumCheckLevels (G4double relativeLevel, G4double absoluteLevel)
 
virtual void BuildPhysicsTable (const G4ParticleDefinition &)
 

Private Attributes

G4ParticleDefinitiontheNuMu
 
G4ParticleDefinitiontheANuMu
 
G4double fMnumu
 
G4bool fData
 
G4bool fMaster
 

Static Private Attributes

static const G4int fResNumber = 6
 
static const G4double fResMass [6]
 
static const G4int fClustNumber = 4
 
static const G4double fMesMass [4] = {1260., 980., 770., 139.57}
 
static const G4int fMesPDG [4] = {20213, 9000211, 213, 211}
 
static const G4double fBarMass [4] = {1700., 1600., 1232., 939.57}
 
static const G4int fBarPDG [4] = {12224, 32224, 2224, 2212}
 
static const G4double fNuMuEnergyLogVector [50]
 
static G4double fNuMuXarrayKR [50][51] = {{1.0}}
 
static G4double fNuMuXdistrKR [50][50] = {{1.0}}
 
static G4double fNuMuQarrayKR [50][51][51] = {{{1.0}}}
 
static G4double fNuMuQdistrKR [50][51][50] = {{{1.0}}}
 
static const G4double fNuMuResQ [50][50]
 

Additional Inherited Members

- Protected Member Functions inherited from G4HadronicInteraction
void SetModelName (const G4String &nam)
 
G4bool IsBlocked () const
 
void Block ()
 
- Protected Attributes inherited from G4NeutrinoNucleusModel
G4ParticleDefinitiontheMuonMinus
 
G4ParticleDefinitiontheMuonPlus
 
G4double fSin2tW
 
G4double fCutEnergy
 
G4int fNbin
 
G4int fIndex
 
G4int fEindex
 
G4int fXindex
 
G4int fQindex
 
G4int fOnePionIndex
 
G4int fPDGencoding
 
G4bool fCascade
 
G4bool fString
 
G4bool fProton
 
G4bool f2p2h
 
G4bool fBreak
 
G4double fNuEnergy
 
G4double fQ2
 
G4double fQtransfer
 
G4double fXsample
 
G4double fM1
 
G4double fM2
 
G4double fMt
 
G4double fMu
 
G4double fW2
 
G4double fMpi
 
G4double fW2pi
 
G4double fMinNuEnergy
 
G4double fDp
 
G4double fTr
 
G4double fEmu
 
G4double fEmuPi
 
G4double fEx
 
G4double fMr
 
G4double fCosTheta
 
G4double fCosThetaPi
 
G4LorentzVector fLVh
 
G4LorentzVector fLVl
 
G4LorentzVector fLVt
 
G4LorentzVector fLVcpi
 
G4GeneratorPrecompoundInterfacefPrecoInterface
 
G4PreCompoundModelfPreCompound
 
G4ExcitationHandlerfDeExcitation
 
G4NucleusfRecoil
 
- Static Protected Attributes inherited from G4NeutrinoNucleusModel
static const G4int fResNumber = 6
 
static const G4double fResMass [6]
 
static const G4int fClustNumber = 4
 
static const G4double fMesMass [4] = {1260., 980., 770., 139.57}
 
static const G4int fMesPDG [4] = {20213, 9000211, 213, 211}
 
static const G4double fBarMass [4] = {1700., 1600., 1232., 939.57}
 
static const G4int fBarPDG [4] = {12224, 32224, 2224, 2212}
 
static const G4double fNuMuResQ [50][50]
 
static const G4double fNuMuEnergy [50]
 
static const G4double fNuMuQeTotRat [50]
 
static const G4double fOnePionEnergy [58]
 
static const G4double fOnePionProb [58]
 

Detailed Description

Definition at line 60 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 60 of file G4NuMuNucleusNcModel.hh

Constructor & Destructor Documentation

G4NuMuNucleusNcModel::G4NuMuNucleusNcModel ( const G4String name = "NuMuNuclNcModel")

Definition at line 95 of file G4NuMuNucleusNcModel.cc.

View newest version in sPHENIX GitHub at line 95 of file G4NuMuNucleusNcModel.cc

References e, eV, fData, fMaster, fMnumu, GeV, InitialiseModel(), G4HadronicInteraction::SetMaxEnergy(), G4HadronicInteraction::SetMinEnergy(), and TeV.

+ Here is the call graph for this function:

G4NuMuNucleusNcModel::~G4NuMuNucleusNcModel ( )
virtual

Definition at line 109 of file G4NuMuNucleusNcModel.cc.

View newest version in sPHENIX GitHub at line 109 of file G4NuMuNucleusNcModel.cc

Member Function Documentation

G4HadFinalState * G4NuMuNucleusNcModel::ApplyYourself ( const G4HadProjectile aTrack,
G4Nucleus targetNucleus 
)
virtual

Implements G4NeutrinoNucleusModel.

Definition at line 246 of file G4NuMuNucleusNcModel.cc.

View newest version in sPHENIX GitHub at line 246 of file G4NuMuNucleusNcModel.cc

References a, A(), G4HadFinalState::AddSecondary(), G4Alpha::Alpha(), G4Nucleus::AtomicMass(), b, B(), c, G4HadFinalState::Clear(), G4NeutrinoNucleusModel::ClusterDecay(), G4NeutrinoNucleusModel::CoherentPion(), G4Deuteron::Deuteron(), Acts::Test::dX, CLHEP::HepLorentzVector::e(), energy, Acts::eX, G4NeutrinoNucleusModel::f2p2h, G4NeutrinoNucleusModel::fBreak, G4NeutrinoNucleusModel::fCascade, G4NeutrinoNucleusModel::fCosTheta, G4NeutrinoNucleusModel::fEmu, G4ParticleTable::FindParticle(), G4NeutrinoNucleusModel::fLVh, G4NeutrinoNucleusModel::fLVl, G4NeutrinoNucleusModel::fM1, G4NeutrinoNucleusModel::fMinNuEnergy, fMnumu, G4NeutrinoNucleusModel::fMpi, G4NeutrinoNucleusModel::fMr, G4NeutrinoNucleusModel::fMt, G4NeutrinoNucleusModel::fPDGencoding, G4NeutrinoNucleusModel::fProton, G4NeutrinoNucleusModel::fQtransfer, G4NeutrinoNucleusModel::fRecoil, G4NeutrinoNucleusModel::fString, G4NeutrinoNucleusModel::fW2, G4UniformRand, G4HadProjectile::Get4Momentum(), G4Nucleus::GetA_asInt(), G4HadProjectile::GetDefinition(), G4NeutrinoNucleusModel::GetEnergyIndex(), G4IonTable::GetIon(), G4ParticleTable::GetIonTable(), G4NeutrinoNucleusModel::GetNuMuOnePionProb(), G4NeutrinoNucleusModel::GetNuMuQeTotRat(), G4NeutrinoNucleusModel::GetOnePionIndex(), G4ParticleDefinition::GetParticleName(), G4ParticleTable::GetParticleTable(), G4ParticleDefinition::GetPDGMass(), G4HadProjectile::GetTotalEnergy(), G4Nucleus::GetZ_asInt(), GeV, G4He3::He3(), CLHEP::HepLorentzVector::m2(), MeV, G4Neutron::Neutron(), phi, G4Proton::Proton(), source.hepunit::proton_mass_c2, ratio, SampleLVkr(), G4HadFinalState::SetEnergyChange(), G4HadFinalState::SetLocalEnergyDeposit(), G4HadFinalState::SetMomentumChange(), theANuMu, theNuMu, G4HadronicInteraction::theParticleChange, G4Triton::Triton(), CLHEP::twopi, CLHEP::Hep3Vector::unit(), CLHEP::HepLorentzVector::vect(), and Z.

+ Here is the call graph for this function:

G4double G4NuMuNucleusNcModel::GetMinNuMuEnergy ( )
inline

Definition at line 86 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 86 of file G4NuMuNucleusNcModel.hh

References G4NeutrinoNucleusModel::fM1, fMnumu, and CLHEP::keV.

G4double G4NuMuNucleusNcModel::GetQkr ( G4int  iE,
G4int  jX,
G4double  prob 
)

Definition at line 851 of file G4NuMuNucleusNcModel.cc.

View newest version in sPHENIX GitHub at line 851 of file G4NuMuNucleusNcModel.cc

References fNuMuQarrayKR, fNuMuQdistrKR, G4NeutrinoNucleusModel::fQindex, and G4UniformRand.

Referenced by SampleQkr().

+ Here is the caller graph for this function:

G4double G4NuMuNucleusNcModel::GetXkr ( G4int  iEnergy,
G4double  prob 
)

Definition at line 749 of file G4NuMuNucleusNcModel.cc.

View newest version in sPHENIX GitHub at line 749 of file G4NuMuNucleusNcModel.cc

References fNuMuXarrayKR, fNuMuXdistrKR, G4NeutrinoNucleusModel::fXindex, G4UniformRand, x1, x2, and xx.

Referenced by SampleXkr().

+ Here is the caller graph for this function:

void G4NuMuNucleusNcModel::InitialiseModel ( )
virtual

Reimplemented from G4HadronicInteraction.

Definition at line 126 of file G4NuMuNucleusNcModel.cc.

View newest version in sPHENIX GitHub at line 126 of file G4NuMuNucleusNcModel.cc

References fData, fMaster, G4NeutrinoNucleusModel::fNbin, fNuMuQarrayKR, fNuMuQdistrKR, fNuMuXarrayKR, fNuMuXdistrKR, G4MUTEXLOCK, G4MUTEXUNLOCK, and k.

Referenced by G4NuMuNucleusNcModel().

+ Here is the caller graph for this function:

G4bool G4NuMuNucleusNcModel::IsApplicable ( const G4HadProjectile aTrack,
G4Nucleus targetNucleus 
)
virtual

Reimplemented from G4NeutrinoNucleusModel.

Definition at line 223 of file G4NuMuNucleusNcModel.cc.

View newest version in sPHENIX GitHub at line 223 of file G4NuMuNucleusNcModel.cc

References energy, G4NeutrinoNucleusModel::fMinNuEnergy, G4HadProjectile::GetDefinition(), G4ParticleDefinition::GetParticleName(), G4HadProjectile::GetTotalEnergy(), G4Nucleus::GetZ_asInt(), and Z.

+ Here is the call graph for this function:

void G4NuMuNucleusNcModel::ModelDescription ( std::ostream &  outFile) const
virtual

Reimplemented from G4NeutrinoNucleusModel.

Definition at line 113 of file G4NuMuNucleusNcModel.cc.

View newest version in sPHENIX GitHub at line 113 of file G4NuMuNucleusNcModel.cc

G4double G4NuMuNucleusNcModel::SampleQkr ( G4double  energy,
G4double  xx 
)

Definition at line 791 of file G4NuMuNucleusNcModel.cc.

View newest version in sPHENIX GitHub at line 791 of file G4NuMuNucleusNcModel.cc

References e, e1, e2, G4NeutrinoNucleusModel::fEindex, fNuMuEnergyLogVector, fNuMuXarrayKR, G4NeutrinoNucleusModel::fXindex, G4Log(), G4UniformRand, and GetQkr().

Referenced by SampleLVkr().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4NuMuNucleusNcModel::SampleXkr ( G4double  energy)

Definition at line 710 of file G4NuMuNucleusNcModel.cc.

View newest version in sPHENIX GitHub at line 710 of file G4NuMuNucleusNcModel.cc

References e, e1, e2, G4NeutrinoNucleusModel::fEindex, fNuMuEnergyLogVector, G4Log(), G4UniformRand, GetXkr(), x1, x2, and xx.

Referenced by SampleLVkr().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4NuMuNucleusNcModel::ThresholdEnergy ( G4double  mI,
G4double  mF,
G4double  mP 
)
inline

Definition at line 88 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 88 of file G4NuMuNucleusNcModel.hh

References G4NeutrinoNucleusModel::fW2, and w.

Member Data Documentation

const G4double G4NuMuNucleusNcModel::fBarMass = {1700., 1600., 1232., 939.57}
staticprivate

Definition at line 112 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 112 of file G4NuMuNucleusNcModel.hh

const G4int G4NuMuNucleusNcModel::fBarPDG = {12224, 32224, 2224, 2212}
staticprivate

Definition at line 113 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 113 of file G4NuMuNucleusNcModel.hh

const G4int G4NuMuNucleusNcModel::fClustNumber = 4
staticprivate

Definition at line 107 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 107 of file G4NuMuNucleusNcModel.hh

G4bool G4NuMuNucleusNcModel::fData
private

Definition at line 128 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 128 of file G4NuMuNucleusNcModel.hh

Referenced by G4NuMuNucleusNcModel(), and InitialiseModel().

G4bool G4NuMuNucleusNcModel::fMaster
private

Definition at line 128 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 128 of file G4NuMuNucleusNcModel.hh

Referenced by G4NuMuNucleusNcModel(), and InitialiseModel().

const G4double G4NuMuNucleusNcModel::fMesMass = {1260., 980., 770., 139.57}
staticprivate

Definition at line 109 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 109 of file G4NuMuNucleusNcModel.hh

const G4int G4NuMuNucleusNcModel::fMesPDG = {20213, 9000211, 213, 211}
staticprivate

Definition at line 110 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 110 of file G4NuMuNucleusNcModel.hh

G4double G4NuMuNucleusNcModel::fMnumu
private

Definition at line 101 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 101 of file G4NuMuNucleusNcModel.hh

Referenced by ApplyYourself(), G4NuMuNucleusNcModel(), GetMinNuMuEnergy(), and SampleLVkr().

const G4double G4NuMuNucleusNcModel::fNuMuEnergyLogVector
staticprivate
Initial value:
= {
115.603, 133.424, 153.991, 177.729, 205.126, 236.746, 273.24, 315.361, 363.973, 420.08, 484.836, 559.573, 645.832,
745.387, 860.289, 992.903, 1145.96, 1322.61, 1526.49, 1761.8, 2033.38, 2346.83, 2708.59, 3126.12, 3608.02, 4164.19,
4806.1, 5546.97, 6402.04, 7388.91, 8527.92, 9842.5, 11359.7, 13110.8, 15131.9, 17464.5, 20156.6, 23263.8, 26849.9,
30988.8, 35765.7, 41279, 47642.2, 54986.3, 63462.4, 73245.2, 84536, 97567.2, 112607, 129966 }

Definition at line 115 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 115 of file G4NuMuNucleusNcModel.hh

Referenced by SampleQkr(), and SampleXkr().

G4double G4NuMuNucleusNcModel::fNuMuQarrayKR = {{{1.0}}}
staticprivate

Definition at line 121 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 121 of file G4NuMuNucleusNcModel.hh

Referenced by GetQkr(), and InitialiseModel().

G4double G4NuMuNucleusNcModel::fNuMuQdistrKR = {{{1.0}}}
staticprivate

Definition at line 122 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 122 of file G4NuMuNucleusNcModel.hh

Referenced by GetQkr(), and InitialiseModel().

const G4double G4NuMuNucleusNcModel::fNuMuResQ[50][50]
staticprivate

Definition at line 125 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 125 of file G4NuMuNucleusNcModel.hh

G4double G4NuMuNucleusNcModel::fNuMuXarrayKR = {{1.0}}
staticprivate

Definition at line 119 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 119 of file G4NuMuNucleusNcModel.hh

Referenced by GetXkr(), InitialiseModel(), and SampleQkr().

G4double G4NuMuNucleusNcModel::fNuMuXdistrKR = {{1.0}}
staticprivate

Definition at line 120 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 120 of file G4NuMuNucleusNcModel.hh

Referenced by GetXkr(), and InitialiseModel().

const G4double G4NuMuNucleusNcModel::fResMass
staticprivate
Initial value:
=
{2190., 1920., 1700., 1600., 1440., 1232. }

Definition at line 105 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 105 of file G4NuMuNucleusNcModel.hh

const G4int G4NuMuNucleusNcModel::fResNumber = 6
staticprivate

Definition at line 104 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 104 of file G4NuMuNucleusNcModel.hh

G4ParticleDefinition* G4NuMuNucleusNcModel::theANuMu
private

Definition at line 99 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 99 of file G4NuMuNucleusNcModel.hh

Referenced by ApplyYourself().

G4ParticleDefinition* G4NuMuNucleusNcModel::theNuMu
private

Definition at line 98 of file G4NuMuNucleusNcModel.hh.

View newest version in sPHENIX GitHub at line 98 of file G4NuMuNucleusNcModel.hh

Referenced by ApplyYourself().


The documentation for this class was generated from the following files: