EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <estarlight/blob/master/include/spectrum.h>
Public Member Functions | |
spectrum (const randomGenerator &randy, beamBeamSystem *bbs) | |
int | generateKsingle () |
int | generateKdouble () |
double | drawKsingle () |
void | drawKdouble (float &egamma1, float &egamma2) |
void | setBeamBeamSystem (beamBeamSystem *bbs) |
void | setMinGammaEnergy (double energy) |
void | setMaxGammaEnergy (double energy) |
void | setBmin (double bmin) |
void | setBmax (double bmax) |
Protected Member Functions | |
virtual bool | generateBreakupProbabilities () |
virtual double | getSigma (double) const |
virtual double | getTransformedNofe (double egamma, double b) |
Protected Attributes | |
double | _bMin |
double | _bMax |
int | _nBbins |
std::vector< double > | _probOfBreakup |
beamBeamSystem * | _beamBeamSystem |
Private Member Functions | |
double | getFnSingle (double egamma) const |
double | getFnDouble (double egamma1, double egamma2) const |
spectrum () | |
Private Attributes | |
int | _nK |
std::vector< double > | _fnSingle |
std::vector< std::vector < double > > | _fnDouble |
std::vector< double > | _fnSingleCumulative |
std::vector< std::vector < double > > | _fnDoubleCumulative |
std::vector< double > | _fnDoubleInt |
std::vector< double > | _fnDoubleIntCumulative |
std::vector< double > | _eGamma |
double | _eGammaMin |
double | _eGammaMax |
int | _zTarget |
int | _aTarget |
bool | _hadBreakProbCalculated |
randomGenerator | _randy |
Definition at line 29 of file spectrum.h.
View newest version in sPHENIX GitHub at line 29 of file spectrum.h
spectrum::spectrum | ( | const randomGenerator & | randy, |
beamBeamSystem * | bbs | ||
) |
Spectrum must be constructed with beam-beam system, default constructor disallowed
Definition at line 27 of file spectrum.cpp.
View newest version in sPHENIX GitHub at line 27 of file spectrum.cpp
References _eGamma, _nBbins, _nK, and _probOfBreakup.
|
private |
Default constructed disallowed (not implemented)
void spectrum::drawKdouble | ( | float & | egamma1, |
float & | egamma2 | ||
) |
Get the energy of a single gamma
egamma1 | variable passed by reference to get the energy of the frst gamma |
egamma2 | variable passed by reference to get the energy of the second gamma |
Definition at line 265 of file spectrum.cpp.
View newest version in sPHENIX GitHub at line 265 of file spectrum.cpp
References _eGamma, _fnDouble, _fnDoubleIntCumulative, _nK, _randy, and randomGenerator::Rndom().
double spectrum::drawKsingle | ( | ) |
Get the energy of a single gamma
Definition at line 226 of file spectrum.cpp.
View newest version in sPHENIX GitHub at line 226 of file spectrum.cpp
References _eGamma, _fnSingleCumulative, _nK, _randy, and randomGenerator::Rndom().
Referenced by starlightPythia::produceEvent().
|
protectedvirtual |
Generate the hadron breakup probability table
Reimplemented in spectrumProtonNucleus.
Definition at line 354 of file spectrum.cpp.
View newest version in sPHENIX GitHub at line 354 of file spectrum.cpp
References _beamBeamSystem, _bMax, _bMin, _nBbins, _probOfBreakup, and beamBeamSystem::probabilityOfBreakup().
Referenced by generateKdouble(), and generateKsingle().
int spectrum::generateKdouble | ( | ) |
Generate a 2-D table of photon energy probabilities Use NK+1 x NK+1 logarithmic steps between Et_min and Eg_max
Definition at line 128 of file spectrum.cpp.
View newest version in sPHENIX GitHub at line 128 of file spectrum.cpp
References _bMax, _bMin, _eGamma, _eGammaMax, _eGammaMin, _fnDouble, _fnDoubleCumulative, _fnDoubleInt, _fnDoubleIntCumulative, _hadBreakProbCalculated, _nBbins, _nK, _probOfBreakup, f2(), generateBreakupProbabilities(), getSigma(), getTransformedNofe(), k, and starlightConstants::pi.
Referenced by starlightPythia::init().
int spectrum::generateKsingle | ( | ) |
Generate a table of photon energy probabilities Use NK+1 logarithmic steps between Et_min and Eg_max
Definition at line 52 of file spectrum.cpp.
View newest version in sPHENIX GitHub at line 52 of file spectrum.cpp
References _bMax, _bMin, _eGamma, _eGammaMax, _eGammaMin, _fnSingle, _fnSingleCumulative, _hadBreakProbCalculated, _nBbins, _nK, _probOfBreakup, f2(), generateBreakupProbabilities(), getSigma(), getTransformedNofe(), and starlightConstants::pi.
Referenced by starlightPythia::init().
|
private |
Definition at line 404 of file spectrum.cpp.
View newest version in sPHENIX GitHub at line 404 of file spectrum.cpp
References _eGamma, _eGammaMax, _eGammaMin, _fnDouble, and _nK.
|
private |
Definition at line 377 of file spectrum.cpp.
View newest version in sPHENIX GitHub at line 377 of file spectrum.cpp
References _eGamma, _eGammaMax, _eGammaMin, _fnSingle, and _nK.
|
inlineprotectedvirtual |
Needs some explanation
Reimplemented in spectrumProtonNucleus.
Definition at line 85 of file spectrum.h.
View newest version in sPHENIX GitHub at line 85 of file spectrum.h
Referenced by generateKdouble(), and generateKsingle().
|
protectedvirtual |
Definition at line 455 of file spectrum.cpp.
View newest version in sPHENIX GitHub at line 455 of file spectrum.cpp
References _beamBeamSystem, and beamBeamSystem::beamLorentzGamma().
Referenced by generateKdouble(), and generateKsingle().
|
inline |
Set the beam beam system
Definition at line 63 of file spectrum.h.
View newest version in sPHENIX GitHub at line 63 of file spectrum.h
References _beamBeamSystem.
|
inline |
Set maximum impact parameter
Definition at line 77 of file spectrum.h.
View newest version in sPHENIX GitHub at line 77 of file spectrum.h
References _bMax.
|
inline |
Set minimum impact parameter
Definition at line 74 of file spectrum.h.
View newest version in sPHENIX GitHub at line 74 of file spectrum.h
References _bMin.
|
inline |
Set the maximum gamma energy
Definition at line 71 of file spectrum.h.
View newest version in sPHENIX GitHub at line 71 of file spectrum.h
References _eGammaMax.
Referenced by starlightPythia::init().
|
inline |
Set the minimum gamma energy
Definition at line 68 of file spectrum.h.
View newest version in sPHENIX GitHub at line 68 of file spectrum.h
References _eGammaMin.
Referenced by starlightPythia::init().
|
private |
A of target
Definition at line 145 of file spectrum.h.
View newest version in sPHENIX GitHub at line 145 of file spectrum.h
|
protected |
Beam beam system
Definition at line 104 of file spectrum.h.
View newest version in sPHENIX GitHub at line 104 of file spectrum.h
Referenced by spectrumProtonNucleus::generateBreakupProbabilities(), generateBreakupProbabilities(), getTransformedNofe(), and setBeamBeamSystem().
|
protected |
Maximum impact parameter
Definition at line 95 of file spectrum.h.
View newest version in sPHENIX GitHub at line 95 of file spectrum.h
Referenced by spectrumProtonNucleus::generateBreakupProbabilities(), generateBreakupProbabilities(), generateKdouble(), generateKsingle(), and setBmax().
|
protected |
Minimum impact parameter
Definition at line 92 of file spectrum.h.
View newest version in sPHENIX GitHub at line 92 of file spectrum.h
Referenced by spectrumProtonNucleus::generateBreakupProbabilities(), generateBreakupProbabilities(), generateKdouble(), generateKsingle(), setBmin(), and spectrumProtonNucleus::spectrumProtonNucleus().
|
private |
Vecotr of gamma energies
Definition at line 133 of file spectrum.h.
View newest version in sPHENIX GitHub at line 133 of file spectrum.h
Referenced by drawKdouble(), drawKsingle(), generateKdouble(), generateKsingle(), getFnDouble(), getFnSingle(), and spectrum().
|
private |
Max gamma energy
Definition at line 139 of file spectrum.h.
View newest version in sPHENIX GitHub at line 139 of file spectrum.h
Referenced by generateKdouble(), generateKsingle(), getFnDouble(), getFnSingle(), and setMaxGammaEnergy().
|
private |
Min gamma energy
Definition at line 136 of file spectrum.h.
View newest version in sPHENIX GitHub at line 136 of file spectrum.h
Referenced by generateKdouble(), generateKsingle(), getFnDouble(), getFnSingle(), and setMinGammaEnergy().
|
private |
Contains the 2 photon probabilities
Definition at line 118 of file spectrum.h.
View newest version in sPHENIX GitHub at line 118 of file spectrum.h
Referenced by drawKdouble(), generateKdouble(), and getFnDouble().
|
private |
Contains the cumulative distribution
Definition at line 124 of file spectrum.h.
View newest version in sPHENIX GitHub at line 124 of file spectrum.h
Referenced by generateKdouble().
|
private |
Definition at line 127 of file spectrum.h.
View newest version in sPHENIX GitHub at line 127 of file spectrum.h
Referenced by generateKdouble().
|
private |
Definition at line 130 of file spectrum.h.
View newest version in sPHENIX GitHub at line 130 of file spectrum.h
Referenced by drawKdouble(), and generateKdouble().
|
private |
Contains the 1 photon probabilities
Definition at line 115 of file spectrum.h.
View newest version in sPHENIX GitHub at line 115 of file spectrum.h
Referenced by generateKsingle(), and getFnSingle().
|
private |
Contains the cumulative distribution
Definition at line 121 of file spectrum.h.
View newest version in sPHENIX GitHub at line 121 of file spectrum.h
Referenced by drawKsingle(), and generateKsingle().
|
private |
Hadron breakup probability is calculated
Definition at line 148 of file spectrum.h.
View newest version in sPHENIX GitHub at line 148 of file spectrum.h
Referenced by generateKdouble(), and generateKsingle().
|
protected |
Number of bins in impact parameter
Definition at line 98 of file spectrum.h.
View newest version in sPHENIX GitHub at line 98 of file spectrum.h
Referenced by spectrumProtonNucleus::generateBreakupProbabilities(), generateBreakupProbabilities(), generateKdouble(), generateKsingle(), and spectrum().
|
private |
NK
Definition at line 112 of file spectrum.h.
View newest version in sPHENIX GitHub at line 112 of file spectrum.h
Referenced by drawKdouble(), drawKsingle(), generateKdouble(), generateKsingle(), getFnDouble(), getFnSingle(), and spectrum().
|
protected |
Vector containing the probability of breakup
Definition at line 101 of file spectrum.h.
View newest version in sPHENIX GitHub at line 101 of file spectrum.h
Referenced by spectrumProtonNucleus::generateBreakupProbabilities(), generateBreakupProbabilities(), generateKdouble(), generateKsingle(), and spectrum().
|
private |
random number generator
Definition at line 151 of file spectrum.h.
View newest version in sPHENIX GitHub at line 151 of file spectrum.h
Referenced by drawKdouble(), and drawKsingle().
|
private |
Z of target
Definition at line 142 of file spectrum.h.
View newest version in sPHENIX GitHub at line 142 of file spectrum.h