Jpp test-rotations-old-533-g2bdbdb559
the software that should make you happy
Loading...
Searching...
No Matches
JPHYSICS::JDISSource Class Reference

Implementation for calculation of inverse interaction length and shower energy due to deep-inelastic muon-nucleon scattering. More...

#include <JRadiationSource.hh>

Inheritance diagram for JPHYSICS::JDISSource:
JPHYSICS::JRadiationInterface JPHYSICS::JDIS JLANG::JObjectID JLANG::JComparable< JObjectID > JLANG::JComparable< JObjectID, int >

Public Member Functions

 JDISSource (const int id, const double density)
 Constructor.
 
virtual double getInverseInteractionLength (const double E) const override
 Get inverse interaction length.
 
virtual double getEnergyOfShower (const double E) const override
 Get energy of shower.
 
virtual double getThetaRMS (const double E, const double Es) const override
 Get RMS of scattering angle.
 
int getID () const
 Get identifier.
 
int & getID ()
 Get identifier.
 
void setID (const int id)
 Set identifier.
 
bool less (const JObjectID &object) const
 Less than method.
 
bool less (const int id) const
 Less than method.
 
bool more (const int id) const
 More than method.
 
double getCrossSection (const double E) const
 Get cross section.
 
double getP (const double E, const double v) const
 Get probability of given energy fraction.
 
double getE (const double E) const
 Get shower energy.
 
double getV (const double E) const
 Get breakpoint.
 

Protected Attributes

const double rho
 
int __id
 

Detailed Description

Implementation for calculation of inverse interaction length and shower energy due to deep-inelastic muon-nucleon scattering.

This class implements the JRadiationInterface interface.

Definition at line 156 of file JRadiationSource.hh.

Constructor & Destructor Documentation

◆ JDISSource()

JPHYSICS::JDISSource::JDISSource ( const int id,
const double density )
inline

Constructor.

Parameters
idradiation identifier
densitymass density of radiation material [gr/cm³]

Definition at line 167 of file JRadiationSource.hh.

168 :
170 rho(density)
171 {}
JRadiationInterface(const int id)
Constructor.

Member Function Documentation

◆ getInverseInteractionLength()

virtual double JPHYSICS::JDISSource::getInverseInteractionLength ( const double E) const
inlineoverridevirtual

Get inverse interaction length.

Parameters
Emuon energy [GeV]
Returns
inverse interaction length [m^-1]

Implements JPHYSICS::JRadiationInterface.

Definition at line 180 of file JRadiationSource.hh.

181 {
182 return this->getCrossSection(E) * (rho / NUCLEON_MOLAR_MASS) * AVOGADRO * 1.0e2;
183 }
double getCrossSection(const double E) const
Get cross section.
Definition JDIS.hh:46
static const double AVOGADRO
Avogadro's number.
static const double NUCLEON_MOLAR_MASS
nucleon molar mass [g/mol]

◆ getEnergyOfShower()

virtual double JPHYSICS::JDISSource::getEnergyOfShower ( const double E) const
inlineoverridevirtual

Get energy of shower.

Parameters
Emuon energy [GeV]
Returns
shower energy [GeV]

Implements JPHYSICS::JRadiationInterface.

Definition at line 192 of file JRadiationSource.hh.

193 {
194 return this->getE(E);
195 }
double getE(const double E) const
Get shower energy.
Definition JDIS.hh:78

◆ getThetaRMS()

virtual double JPHYSICS::JDISSource::getThetaRMS ( const double E,
const double Es ) const
inlineoverridevirtual

Get RMS of scattering angle.

Parameters
Emuon energy [GeV]
Esshower energy [GeV]
Returns
RMS scattering angle [rad]

Implements JPHYSICS::JRadiationInterface.

Definition at line 205 of file JRadiationSource.hh.

206 {
207 return static_cast<const JDIS*>(this)->getThetaRMS(E, Es/E);
208 }
virtual double getThetaRMS(const double E, const double Es) const override
Get RMS of scattering angle.
JDIS()
Default constructor.
Definition JDIS.hh:36

◆ getID() [1/2]

int JLANG::JObjectID::getID ( ) const
inlineinherited

Get identifier.

Returns
identifier

Definition at line 50 of file JObjectID.hh.

51 {
52 return __id;
53 }

◆ getID() [2/2]

int & JLANG::JObjectID::getID ( )
inlineinherited

Get identifier.

Returns
identifier

Definition at line 61 of file JObjectID.hh.

62 {
63 return __id;
64 }

◆ setID()

void JLANG::JObjectID::setID ( const int id)
inlineinherited

Set identifier.

Parameters
ididentifier

Definition at line 72 of file JObjectID.hh.

73 {
74 this->__id = id;
75 }

◆ less() [1/2]

bool JLANG::JObjectID::less ( const JObjectID & object) const
inlineinherited

Less than method.

Parameters
objectobject identifier
Returns
true if this identifier less than given identifier; else false

Definition at line 84 of file JObjectID.hh.

85 {
86 return this->getID() < object.getID();
87 }
int getID() const
Get identifier.
Definition JObjectID.hh:50

◆ less() [2/2]

bool JLANG::JObjectID::less ( const int id) const
inlineinherited

Less than method.

Parameters
ididentifier
Returns
true if this identifier less than given identifier; else false

Definition at line 96 of file JObjectID.hh.

97 {
98 return this->getID() < id;
99 }

◆ more()

bool JLANG::JObjectID::more ( const int id) const
inlineinherited

More than method.

Parameters
ididentifier
Returns
true if this identifier greater than given identifier; else false

Definition at line 108 of file JObjectID.hh.

109 {
110 return this->getID() > id;
111 }

◆ getCrossSection()

double JPHYSICS::JDIS::getCrossSection ( const double E) const
inlineinherited

Get cross section.

Parameters
Emuon energy [GeV]
Returns
cross section [cm^2]

Definition at line 46 of file JDIS.hh.

47 {
48 const double x = log10(E*1.0e+1);
49
50 if (E > JDIS_t::E0)
51 return 0.35e-30 * pow(1.0 - JDIS_t::E0/E, 2.0) * exp(-2.10/x) * pow(10.0, 0.125*x);
52 else
53 return 0.0;
54 }
static constexpr double E0
minimal energy [GeV]
Definition JDIS.hh:204
T pow(const T &x, const double y)
Power .
Definition JMath.hh:97

◆ getP()

double JPHYSICS::JDIS::getP ( const double E,
const double v ) const
inlineinherited

Get probability of given energy fraction.

Parameters
Emuon energy [GeV]
venergy fraction
Returns
probability

Definition at line 64 of file JDIS.hh.

65 {
66 const JDIS_t dis(E);
67
68 return dis.getP(v);
69 }

◆ getE()

double JPHYSICS::JDIS::getE ( const double E) const
inlineinherited

Get shower energy.

Parameters
Emuon energy [GeV]
Returns
shower energy [GeV]

Definition at line 78 of file JDIS.hh.

79 {
80 const JDIS_t dis(E);
81
82 return dis.getE();
83 }

◆ getV()

double JPHYSICS::JDIS::getV ( const double E) const
inlineinherited

Get breakpoint.

Parameters
Emuon energy [GeV]
Returns
energy fraction

Definition at line 110 of file JDIS.hh.

111 {
112 return JDIS_t::E1/E;
113 }
static constexpr double E1
breakpoint [GeV]
Definition JDIS.hh:205

Member Data Documentation

◆ rho

const double JPHYSICS::JDISSource::rho
protected

Definition at line 211 of file JRadiationSource.hh.

◆ __id

int JLANG::JObjectID::__id
protectedinherited

Definition at line 140 of file JObjectID.hh.


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