Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EcoMug Class Reference

Class for the generation of cosmic muons. More...

#include <coresoftware/blob/master/simulation/g4simulation/g4main/EcoMug.h>

+ Collaboration diagram for EcoMug:

Public Types

enum  EMGeometry { Sky, Cylinder, HSphere }
 Possible generation methods. More...
 

Public Member Functions

 EcoMug ()
 
 mGenerationTheta (0.)
 
 mGenerationPhi (0.)
 
 mGenerationMomentum (0.)
 
 mMinimumMomentum (0.01)
 
 mMaximumMomentum (1000.)
 
 mMinimumTheta (0.)
 
 mMaximumTheta (M_PI/2.)
 
 mMinimumPhi (0.)
 
 mMaximumPhi (2.*M_PI)
 
 mCharge (1)
 
 mCylinderMinPositionPhi (0.)
 
 mCylinderMaxPositionPhi (2.*M_PI)
 
 mHSphereMinPositionPhi (0.)
 
 mHSphereMaxPositionPhi (2.*M_PI)
 
 mHSphereMinPositionTheta (0.)
 
 mHSphereMaxPositionTheta (M_PI/2.)
 
 mHSphereCosMinPositionTheta (1.)
 
 mHSphereCosMaxPositionTheta (0.)
 
 mJPrime (0.)
 
 mN (0.)
 
 mRandAccRej (0.)
 
 mPhi0 (0.)
 
 mTheta0 (0.)
 
 mAccepted (false)
 
 mSkySize ({{0., 0.}})
 
 mSkyCenterPosition ({{0., 0., 0.}})
 
 mCylinderHeight (0.)
 
 mCylinderRadius (0.)
 
 mCylinderCenterPosition ({{0., 0., 0.}})
 
 mHSphereRadius (0.)
 
 mHSphereCenterPosition ({{0., 0., 0.}})
 
const std::array< double, 3 > & GetGenerationPosition () const
 
double GetGenerationMomentum () const
 Get the generation momentum.
 
void GetGenerationMomentum (std::array< double, 3 > &momentum) const
 Get the generation momentum.
 
double GetGenerationTheta () const
 Get the generation theta.
 
double GetGenerationPhi () const
 Get the generation phi.
 
int GetCharge () const
 Get charge.
 
void SetUseSky ()
 
void SetUseCylinder ()
 Set cylindrical generation.
 
void SetUseHSphere ()
 Set half-sphere generation.
 
void SetGenerationMethod (EMGeometry genM)
 Set the generation method (Sky, Cylinder or HSphere)
 
EMGeometry GetGenerationMethod () const
 Get the generation method (Sky, Cylinder or HSphere)
 
void SetDifferentialFlux (std::function< double(double, double)> J)
 
void SetSeed (uint64_t seed)
 Set the seed for the internal PRNG (if 0 a random seed is used)
 
void SetMinimumMomentum (double momentum)
 Set minimum generation Momentum.
 
void SetMaximumMomentum (double momentum)
 Set maximum generation Momentum.
 
void SetMinimumTheta (double theta)
 Set minimum generation Theta.
 
void SetMaximumTheta (double theta)
 Set maximum generation Theta.
 
void SetMinimumPhi (double phi)
 Set minimum generation Phi.
 
void SetMaximumPhi (double phi)
 Set maximum generation Phi.
 
double GetMinimumMomentum () const
 Get minimum generation Momentum.
 
double GetMaximumMomentum () const
 Get maximum generation Momentum.
 
double GetMinimumTheta () const
 Get minimum generation Theta.
 
double GetMaximumTheta () const
 Get maximum generation Theta.
 
double GetMinimumPhi () const
 Get minimum generation Phi.
 
double GetMaximumPhi () const
 Get maximum generation Phi.
 
void SetSkySize (const std::array< double, 2 > &size)
 
void SetSkyCenterPosition (const std::array< double, 3 > &position)
 Set sky center position.
 
void SetCylinderRadius (double radius)
 
void SetCylinderHeight (double height)
 Set cylinder height.
 
void SetCylinderCenterPosition (const std::array< double, 3 > &position)
 Set cylinder center position.
 
void SetCylinderMinPositionPhi (double phi)
 
void SetCylinderMaxPositionPhi (double phi)
 
double GetCylinderRadius () const
 Get cylinder radius.
 
double GetCylinderHeight () const
 Get cylinder height.
 
const std::array< double, 3 > & GetCylinderCenterPosition () const
 Get cylinder center position.
 
void SetHSphereRadius (double radius)
 
void SetHSphereCenterPosition (const std::array< double, 3 > &position)
 Set half-sphere center position.
 
void SetHSphereMinPositionPhi (double phi)
 
void SetHSphereMaxPositionPhi (double phi)
 
void SetHSphereMinPositionTheta (double theta)
 
void SetHSphereMaxPositionTheta (double theta)
 
double GetHSphereRadius () const
 Get half-sphere radius.
 
const std::array< double, 3 > & GetHSphereCenterPosition () const
 Get half-sphere center position.
 
void Generate ()
 
void GenerateFromCustomJ ()
 

Private Member Functions

double F1Cumulative (double x)
 
double F1Inverse (double x)
 
double maxSkyJFunc ()
 
double maxCylJFunc ()
 
double maxHSJFunc ()
 
double GenerateMomentumF1 ()
 
void GeneratePositionSky ()
 
void GeneratePositionCylinder ()
 
void ComputeMaximumCustomJ ()
 
void ComputeMaximum ()
 

Private Attributes

EMGeometry mGenMethod
 
std::array< double, 3 > mGenerationPosition
 
double mGenerationTheta
 
double mGenerationPhi
 
double mGenerationMomentum
 
double mMinimumMomentum
 
double mMaximumMomentum
 
double mMinimumTheta
 
double mMaximumTheta
 
double mMinimumPhi
 
double mMaximumPhi
 
int mCharge
 
double mCylinderMinPositionPhi
 
double mCylinderMaxPositionPhi
 
double mHSphereMinPositionPhi
 
double mHSphereMaxPositionPhi
 
double mHSphereMinPositionTheta
 
double mHSphereMaxPositionTheta
 
double mHSphereCosMinPositionTheta
 
double mHSphereCosMaxPositionTheta
 
double mJPrime
 
double mN
 
double mRandAccRej
 
double mPhi0
 
double mTheta0
 
bool mAccepted
 
std::array< double, 2 > mSkySize
 
std::array< double, 3 > mSkyCenterPosition
 
double mCylinderHeight
 
double mCylinderRadius
 
std::array< double, 3 > mCylinderCenterPosition
 
double mHSphereRadius
 
std::array< double, 3 > mHSphereCenterPosition
 
EMRandom mRandom
 
std::array< double, 3 > mMaxJ
 
std::array< double, 3 > mMaxCustomJ
 
std::function< double(double,
double)> 
mJ
 

Friends

class EMRandom
 

Detailed Description

Class for the generation of cosmic muons.

Definition at line 289 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 289 of file EcoMug.h

Member Enumeration Documentation

Possible generation methods.

Enumerator:
Sky 

generation from a plane (flat sky)

Cylinder 

generation from a cylinder

HSphere 

generation from a half-sphere

Definition at line 295 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 295 of file EcoMug.h

Constructor & Destructor Documentation

EcoMug::EcoMug ( )
inline

Definition at line 344 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 344 of file EcoMug.h

Member Function Documentation

void EcoMug::ComputeMaximum ( )
inlineprivate

Definition at line 697 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 697 of file EcoMug.h

References EMMaximization::Maximize(), mGenMethod, mMaximumMomentum, mMaximumPhi, mMaximumTheta, mMaxJ, mMinimumMomentum, mMinimumPhi, mMinimumTheta, mRandom, and EMMaximization::SetParameters().

Referenced by Generate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EcoMug::ComputeMaximumCustomJ ( )
inlineprivate

Definition at line 682 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 682 of file EcoMug.h

References EMMaximization::Maximize(), mGenMethod, mJ, mMaxCustomJ, mMaximumMomentum, mMaximumPhi, mMaximumTheta, mMinimumMomentum, mMinimumPhi, mMinimumTheta, mRandom, EMMaximization::SetFunction(), and EMMaximization::SetParameters().

Referenced by GenerateFromCustomJ().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double EcoMug::F1Cumulative ( double  x)
inlineprivate

Definition at line 636 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 636 of file EcoMug.h

Referenced by GenerateMomentumF1().

+ Here is the caller graph for this function:

double EcoMug::F1Inverse ( double  x)
inlineprivate

Definition at line 641 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 641 of file EcoMug.h

Referenced by GenerateMomentumF1().

+ Here is the caller graph for this function:

void EcoMug::Generate ( )
inline

Generate a cosmic muon from the pre-defined J

Definition at line 715 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 715 of file EcoMug.h

References ComputeMaximum(), Cylinder, GenerateMomentumF1(), GeneratePositionCylinder(), GeneratePositionSky(), EMRandom::GenerateRandomDouble(), HSphere, mAccepted, mCharge, mGenerationMomentum, mGenerationPhi, mGenerationPosition, mGenerationTheta, mGenMethod, mHSphereCenterPosition, mHSphereCosMaxPositionTheta, mHSphereCosMinPositionTheta, mHSphereMaxPositionPhi, mHSphereMinPositionPhi, mHSphereRadius, mJPrime, mMaximumPhi, mMaximumTheta, mMaxJ, mMinimumPhi, mMinimumTheta, mN, mPhi0, mRandAccRej, mRandom, mTheta0, and Sky.

Referenced by GenerateFromCustomJ(), and CosmicSpray::process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EcoMug::GenerateFromCustomJ ( )
inline

Generate a cosmic muon for the user-defined J

Definition at line 811 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 811 of file EcoMug.h

References ComputeMaximumCustomJ(), Cylinder, Generate(), GeneratePositionCylinder(), GeneratePositionSky(), EMRandom::GenerateRandomDouble(), HSphere, mAccepted, mCharge, mGenerationMomentum, mGenerationPhi, mGenerationPosition, mGenerationTheta, mGenMethod, mHSphereCenterPosition, mHSphereCosMaxPositionTheta, mHSphereCosMinPositionTheta, mHSphereMaxPositionPhi, mHSphereMinPositionPhi, mHSphereRadius, mJ, mJPrime, mMaxCustomJ, mMaximumMomentum, mMaximumPhi, mMaximumTheta, mMinimumMomentum, mMinimumPhi, mMinimumTheta, mPhi0, mRandAccRej, mRandom, mTheta0, and Sky.

+ Here is the call graph for this function:

double EcoMug::GenerateMomentumF1 ( )
inlineprivate

Definition at line 661 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 661 of file EcoMug.h

References F1Cumulative(), F1Inverse(), EMRandom::GenerateRandomDouble(), mMaximumMomentum, mMinimumMomentum, mRandom, and physmon_track_finding_ttbar::z.

Referenced by Generate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EcoMug::GeneratePositionCylinder ( )
inlineprivate

Definition at line 674 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 674 of file EcoMug.h

References EMRandom::GenerateRandomDouble(), mCylinderCenterPosition, mCylinderHeight, mCylinderMaxPositionPhi, mCylinderMinPositionPhi, mCylinderRadius, mGenerationPosition, mPhi0, and mRandom.

Referenced by Generate(), and GenerateFromCustomJ().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EcoMug::GeneratePositionSky ( )
inlineprivate

Definition at line 667 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 667 of file EcoMug.h

References EMRandom::GenerateRandomDouble(), mGenerationPosition, mRandom, mSkyCenterPosition, and mSkySize.

Referenced by Generate(), and GenerateFromCustomJ().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int EcoMug::GetCharge ( ) const
inline

Get charge.

Definition at line 418 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 418 of file EcoMug.h

References mCharge.

Referenced by CosmicSpray::process_event().

+ Here is the caller graph for this function:

const std::array<double, 3>& EcoMug::GetCylinderCenterPosition ( ) const
inline

Get cylinder center position.

Definition at line 586 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 586 of file EcoMug.h

References mCylinderCenterPosition.

double EcoMug::GetCylinderHeight ( ) const
inline

Get cylinder height.

Definition at line 581 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 581 of file EcoMug.h

References mCylinderHeight.

double EcoMug::GetCylinderRadius ( ) const
inline

Get cylinder radius.

Definition at line 576 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 576 of file EcoMug.h

References mCylinderRadius.

EMGeometry EcoMug::GetGenerationMethod ( ) const
inline

Get the generation method (Sky, Cylinder or HSphere)

Definition at line 449 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 449 of file EcoMug.h

References mGenMethod.

double EcoMug::GetGenerationMomentum ( ) const
inline

Get the generation momentum.

Definition at line 395 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 395 of file EcoMug.h

References mGenerationMomentum.

Referenced by CosmicSpray::process_event().

+ Here is the caller graph for this function:

void EcoMug::GetGenerationMomentum ( std::array< double, 3 > &  momentum) const
inline

Get the generation momentum.

Definition at line 400 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 400 of file EcoMug.h

References mGenerationMomentum, mGenerationPhi, and mGenerationTheta.

double EcoMug::GetGenerationPhi ( ) const
inline

Get the generation phi.

Definition at line 413 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 413 of file EcoMug.h

References mGenerationPhi.

Referenced by CosmicSpray::process_event().

+ Here is the caller graph for this function:

const std::array<double, 3>& EcoMug::GetGenerationPosition ( ) const
inline

Get the generation position

Definition at line 390 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 390 of file EcoMug.h

References mGenerationPosition.

Referenced by CosmicSpray::process_event().

+ Here is the caller graph for this function:

double EcoMug::GetGenerationTheta ( ) const
inline

Get the generation theta.

Definition at line 408 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 408 of file EcoMug.h

References mGenerationTheta.

Referenced by CosmicSpray::process_event().

+ Here is the caller graph for this function:

const std::array<double, 3>& EcoMug::GetHSphereCenterPosition ( ) const
inline

Get half-sphere center position.

Definition at line 629 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 629 of file EcoMug.h

References mHSphereCenterPosition.

double EcoMug::GetHSphereRadius ( ) const
inline

Get half-sphere radius.

Definition at line 624 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 624 of file EcoMug.h

References mHSphereRadius.

double EcoMug::GetMaximumMomentum ( ) const
inline

Get maximum generation Momentum.

Definition at line 507 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 507 of file EcoMug.h

References mMaximumMomentum.

double EcoMug::GetMaximumPhi ( ) const
inline

Get maximum generation Phi.

Definition at line 527 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 527 of file EcoMug.h

References mMaximumPhi.

double EcoMug::GetMaximumTheta ( ) const
inline

Get maximum generation Theta.

Definition at line 517 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 517 of file EcoMug.h

References mMaximumTheta.

double EcoMug::GetMinimumMomentum ( ) const
inline

Get minimum generation Momentum.

Definition at line 502 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 502 of file EcoMug.h

References mMinimumMomentum.

double EcoMug::GetMinimumPhi ( ) const
inline

Get minimum generation Phi.

Definition at line 522 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 522 of file EcoMug.h

References mMinimumPhi.

double EcoMug::GetMinimumTheta ( ) const
inline

Get minimum generation Theta.

Definition at line 512 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 512 of file EcoMug.h

References mMinimumTheta.

EcoMug::mAccepted ( false  )
double EcoMug::maxCylJFunc ( )
inlineprivate

Definition at line 651 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 651 of file EcoMug.h

References mMaximumMomentum.

double EcoMug::maxHSJFunc ( )
inlineprivate

Definition at line 656 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 656 of file EcoMug.h

References mMaximumMomentum.

double EcoMug::maxSkyJFunc ( )
inlineprivate

Definition at line 646 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 646 of file EcoMug.h

References mMaximumMomentum.

EcoMug::mCharge ( )
EcoMug::mCylinderCenterPosition ( {{0., 0., 0.}}  )
EcoMug::mCylinderHeight ( 0.  )
EcoMug::mCylinderMaxPositionPhi ( 2.*  M_PI)
EcoMug::mCylinderMinPositionPhi ( 0.  )
EcoMug::mCylinderRadius ( 0.  )
EcoMug::mGenerationMomentum ( 0.  )
EcoMug::mGenerationPhi ( 0.  )
EcoMug::mGenerationTheta ( 0.  )
EcoMug::mHSphereCenterPosition ( {{0., 0., 0.}}  )
inline

Definition at line 378 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 378 of file EcoMug.h

EcoMug::mHSphereCosMaxPositionTheta ( 0.  )
EcoMug::mHSphereCosMinPositionTheta ( 1.  )
EcoMug::mHSphereMaxPositionPhi ( 2.*  M_PI)
EcoMug::mHSphereMaxPositionTheta ( M_PI/  2.)
EcoMug::mHSphereMinPositionPhi ( 0.  )
EcoMug::mHSphereMinPositionTheta ( 0.  )
EcoMug::mHSphereRadius ( 0.  )
EcoMug::mJPrime ( 0.  )
EcoMug::mMaximumMomentum ( 1000.  )
EcoMug::mMaximumPhi ( 2.*  M_PI)
EcoMug::mMaximumTheta ( M_PI/  2.)
EcoMug::mMinimumMomentum ( 0.  01)
EcoMug::mMinimumPhi ( 0.  )
EcoMug::mMinimumTheta ( 0.  )
EcoMug::mN ( 0.  )
EcoMug::mPhi0 ( 0.  )
EcoMug::mRandAccRej ( 0.  )
EcoMug::mSkyCenterPosition ( {{0., 0., 0.}}  )
EcoMug::mSkySize ( {{0., 0.}}  )
EcoMug::mTheta0 ( 0.  )
void EcoMug::SetCylinderCenterPosition ( const std::array< double, 3 > &  position)
inline

Set cylinder center position.

Definition at line 563 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 563 of file EcoMug.h

References mCylinderCenterPosition, and position.

void EcoMug::SetCylinderHeight ( double  height)
inline

Set cylinder height.

Definition at line 558 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 558 of file EcoMug.h

References mCylinderHeight.

void EcoMug::SetCylinderMaxPositionPhi ( double  phi)
inline

Definition at line 571 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 571 of file EcoMug.h

References mCylinderMaxPositionPhi, and ActsTests::PropagationDatasets::phi.

void EcoMug::SetCylinderMinPositionPhi ( double  phi)
inline

Definition at line 567 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 567 of file EcoMug.h

References mCylinderMinPositionPhi, and ActsTests::PropagationDatasets::phi.

void EcoMug::SetCylinderRadius ( double  radius)
inline

Set cylinder radius

Definition at line 553 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 553 of file EcoMug.h

References mCylinderRadius.

void EcoMug::SetDifferentialFlux ( std::function< double(double, double)>  J)
inline

Set the differential flux J. Accepted functions are like double J(double momentum, double theta) momentum has to be in GeV/c and theta in radians

Definition at line 461 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 461 of file EcoMug.h

References Acts::UnitConstants::J, and mJ.

void EcoMug::SetGenerationMethod ( EMGeometry  genM)
inline

Set the generation method (Sky, Cylinder or HSphere)

Definition at line 443 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 443 of file EcoMug.h

References mGenMethod.

void EcoMug::SetHSphereCenterPosition ( const std::array< double, 3 > &  position)
inline

Set half-sphere center position.

Definition at line 601 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 601 of file EcoMug.h

References mHSphereCenterPosition, and position.

Referenced by CosmicSpray::CosmicSpray().

+ Here is the caller graph for this function:

void EcoMug::SetHSphereMaxPositionPhi ( double  phi)
inline

Definition at line 609 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 609 of file EcoMug.h

References mHSphereMaxPositionPhi, and ActsTests::PropagationDatasets::phi.

void EcoMug::SetHSphereMaxPositionTheta ( double  theta)
inline

Definition at line 618 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 618 of file EcoMug.h

References mHSphereCosMaxPositionTheta, mHSphereMaxPositionTheta, and ActsTests::PropagationDatasets::theta.

void EcoMug::SetHSphereMinPositionPhi ( double  phi)
inline

Definition at line 605 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 605 of file EcoMug.h

References mHSphereMinPositionPhi, and ActsTests::PropagationDatasets::phi.

void EcoMug::SetHSphereMinPositionTheta ( double  theta)
inline

Definition at line 613 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 613 of file EcoMug.h

References mHSphereCosMinPositionTheta, mHSphereMinPositionTheta, and ActsTests::PropagationDatasets::theta.

void EcoMug::SetHSphereRadius ( double  radius)
inline

Set half-sphere radius

Definition at line 596 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 596 of file EcoMug.h

References mHSphereRadius.

Referenced by CosmicSpray::CosmicSpray().

+ Here is the caller graph for this function:

void EcoMug::SetMaximumMomentum ( double  momentum)
inline

Set maximum generation Momentum.

Definition at line 476 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 476 of file EcoMug.h

References mMaximumMomentum, and momentum.

void EcoMug::SetMaximumPhi ( double  phi)
inline

Set maximum generation Phi.

Definition at line 496 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 496 of file EcoMug.h

References mMaximumPhi, and ActsTests::PropagationDatasets::phi.

void EcoMug::SetMaximumTheta ( double  theta)
inline

Set maximum generation Theta.

Definition at line 486 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 486 of file EcoMug.h

References mMaximumTheta, and ActsTests::PropagationDatasets::theta.

void EcoMug::SetMinimumMomentum ( double  momentum)
inline

Set minimum generation Momentum.

Definition at line 471 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 471 of file EcoMug.h

References mMinimumMomentum, and momentum.

Referenced by CosmicSpray::CosmicSpray().

+ Here is the caller graph for this function:

void EcoMug::SetMinimumPhi ( double  phi)
inline

Set minimum generation Phi.

Definition at line 491 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 491 of file EcoMug.h

References mMinimumPhi, and ActsTests::PropagationDatasets::phi.

void EcoMug::SetMinimumTheta ( double  theta)
inline

Set minimum generation Theta.

Definition at line 481 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 481 of file EcoMug.h

References mMinimumTheta, and ActsTests::PropagationDatasets::theta.

void EcoMug::SetSeed ( uint64_t  seed)
inline

Set the seed for the internal PRNG (if 0 a random seed is used)

Definition at line 466 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 466 of file EcoMug.h

References mRandom, and EMRandom::SetSeed().

Referenced by CosmicSpray::CosmicSpray().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EcoMug::SetSkyCenterPosition ( const std::array< double, 3 > &  position)
inline

Set sky center position.

Definition at line 543 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 543 of file EcoMug.h

References mSkyCenterPosition, and position.

void EcoMug::SetSkySize ( const std::array< double, 2 > &  size)
inline

Set sky size

Definition at line 537 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 537 of file EcoMug.h

References mSkySize, and size.

void EcoMug::SetUseCylinder ( )
inline

Set cylindrical generation.

Definition at line 433 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 433 of file EcoMug.h

References Cylinder, and mGenMethod.

void EcoMug::SetUseHSphere ( )
inline

Set half-sphere generation.

Definition at line 438 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 438 of file EcoMug.h

References HSphere, and mGenMethod.

Referenced by CosmicSpray::CosmicSpray().

+ Here is the caller graph for this function:

void EcoMug::SetUseSky ( )
inline

Set generation from sky

Definition at line 428 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 428 of file EcoMug.h

References mGenMethod, and Sky.

Friends And Related Function Documentation

friend class EMRandom
friend

Definition at line 291 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 291 of file EcoMug.h

Member Data Documentation

bool EcoMug::mAccepted
private

Definition at line 328 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 328 of file EcoMug.h

Referenced by Generate(), and GenerateFromCustomJ().

int EcoMug::mCharge
private

Definition at line 314 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 314 of file EcoMug.h

Referenced by Generate(), GenerateFromCustomJ(), and GetCharge().

std::array<double, 3> EcoMug::mCylinderCenterPosition
private

Definition at line 333 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 333 of file EcoMug.h

Referenced by GeneratePositionCylinder(), GetCylinderCenterPosition(), and SetCylinderCenterPosition().

double EcoMug::mCylinderHeight
private

Definition at line 331 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 331 of file EcoMug.h

Referenced by GeneratePositionCylinder(), GetCylinderHeight(), and SetCylinderHeight().

double EcoMug::mCylinderMaxPositionPhi
private

Definition at line 316 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 316 of file EcoMug.h

Referenced by GeneratePositionCylinder(), and SetCylinderMaxPositionPhi().

double EcoMug::mCylinderMinPositionPhi
private

Definition at line 315 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 315 of file EcoMug.h

Referenced by GeneratePositionCylinder(), and SetCylinderMinPositionPhi().

double EcoMug::mCylinderRadius
private

Definition at line 332 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 332 of file EcoMug.h

Referenced by GeneratePositionCylinder(), GetCylinderRadius(), and SetCylinderRadius().

double EcoMug::mGenerationMomentum
private

Definition at line 307 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 307 of file EcoMug.h

Referenced by Generate(), GenerateFromCustomJ(), and GetGenerationMomentum().

double EcoMug::mGenerationPhi
private

Definition at line 306 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 306 of file EcoMug.h

Referenced by Generate(), GenerateFromCustomJ(), GetGenerationMomentum(), and GetGenerationPhi().

std::array<double, 3> EcoMug::mGenerationPosition
private

Definition at line 304 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 304 of file EcoMug.h

Referenced by Generate(), GenerateFromCustomJ(), GeneratePositionCylinder(), GeneratePositionSky(), and GetGenerationPosition().

double EcoMug::mGenerationTheta
private

Definition at line 305 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 305 of file EcoMug.h

Referenced by Generate(), GenerateFromCustomJ(), GetGenerationMomentum(), and GetGenerationTheta().

EMGeometry EcoMug::mGenMethod
private

Definition at line 303 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 303 of file EcoMug.h

Referenced by ComputeMaximum(), ComputeMaximumCustomJ(), Generate(), GenerateFromCustomJ(), GetGenerationMethod(), SetGenerationMethod(), SetUseCylinder(), SetUseHSphere(), and SetUseSky().

std::array<double, 3> EcoMug::mHSphereCenterPosition
private

Definition at line 336 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 336 of file EcoMug.h

Referenced by Generate(), GenerateFromCustomJ(), GetHSphereCenterPosition(), and SetHSphereCenterPosition().

double EcoMug::mHSphereCosMaxPositionTheta
private

Definition at line 322 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 322 of file EcoMug.h

Referenced by Generate(), GenerateFromCustomJ(), and SetHSphereMaxPositionTheta().

double EcoMug::mHSphereCosMinPositionTheta
private

Definition at line 321 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 321 of file EcoMug.h

Referenced by Generate(), GenerateFromCustomJ(), and SetHSphereMinPositionTheta().

double EcoMug::mHSphereMaxPositionPhi
private

Definition at line 318 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 318 of file EcoMug.h

Referenced by Generate(), GenerateFromCustomJ(), and SetHSphereMaxPositionPhi().

double EcoMug::mHSphereMaxPositionTheta
private

Definition at line 320 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 320 of file EcoMug.h

Referenced by SetHSphereMaxPositionTheta().

double EcoMug::mHSphereMinPositionPhi
private

Definition at line 317 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 317 of file EcoMug.h

Referenced by Generate(), GenerateFromCustomJ(), and SetHSphereMinPositionPhi().

double EcoMug::mHSphereMinPositionTheta
private

Definition at line 319 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 319 of file EcoMug.h

Referenced by SetHSphereMinPositionTheta().

double EcoMug::mHSphereRadius
private

Definition at line 334 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 334 of file EcoMug.h

Referenced by Generate(), GenerateFromCustomJ(), GetHSphereRadius(), and SetHSphereRadius().

std::function<double(double, double)> EcoMug::mJ
private

Definition at line 340 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 340 of file EcoMug.h

Referenced by ComputeMaximumCustomJ(), GenerateFromCustomJ(), and SetDifferentialFlux().

double EcoMug::mJPrime
private

Definition at line 323 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 323 of file EcoMug.h

Referenced by Generate(), and GenerateFromCustomJ().

std::array<double, 3> EcoMug::mMaxCustomJ
private

Definition at line 339 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 339 of file EcoMug.h

Referenced by ComputeMaximumCustomJ(), and GenerateFromCustomJ().

double EcoMug::mMaximumMomentum
private

Definition at line 309 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 309 of file EcoMug.h

Referenced by ComputeMaximum(), ComputeMaximumCustomJ(), GenerateFromCustomJ(), GenerateMomentumF1(), GetMaximumMomentum(), maxCylJFunc(), maxHSJFunc(), maxSkyJFunc(), and SetMaximumMomentum().

double EcoMug::mMaximumPhi
private

Definition at line 313 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 313 of file EcoMug.h

Referenced by ComputeMaximum(), ComputeMaximumCustomJ(), Generate(), GenerateFromCustomJ(), GetMaximumPhi(), and SetMaximumPhi().

double EcoMug::mMaximumTheta
private

Definition at line 311 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 311 of file EcoMug.h

Referenced by ComputeMaximum(), ComputeMaximumCustomJ(), Generate(), GenerateFromCustomJ(), GetMaximumTheta(), and SetMaximumTheta().

std::array<double, 3> EcoMug::mMaxJ
private

Definition at line 338 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 338 of file EcoMug.h

Referenced by ComputeMaximum(), and Generate().

double EcoMug::mMinimumMomentum
private

Definition at line 308 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 308 of file EcoMug.h

Referenced by ComputeMaximum(), ComputeMaximumCustomJ(), GenerateFromCustomJ(), GenerateMomentumF1(), GetMinimumMomentum(), and SetMinimumMomentum().

double EcoMug::mMinimumPhi
private

Definition at line 312 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 312 of file EcoMug.h

Referenced by ComputeMaximum(), ComputeMaximumCustomJ(), Generate(), GenerateFromCustomJ(), GetMinimumPhi(), and SetMinimumPhi().

double EcoMug::mMinimumTheta
private

Definition at line 310 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 310 of file EcoMug.h

Referenced by ComputeMaximum(), ComputeMaximumCustomJ(), Generate(), GenerateFromCustomJ(), GetMinimumTheta(), and SetMinimumTheta().

double EcoMug::mN
private

Definition at line 324 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 324 of file EcoMug.h

Referenced by Generate().

double EcoMug::mPhi0
private

Definition at line 326 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 326 of file EcoMug.h

Referenced by Generate(), GenerateFromCustomJ(), and GeneratePositionCylinder().

double EcoMug::mRandAccRej
private

Definition at line 325 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 325 of file EcoMug.h

Referenced by Generate(), and GenerateFromCustomJ().

EMRandom EcoMug::mRandom
private

Definition at line 337 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 337 of file EcoMug.h

Referenced by ComputeMaximum(), ComputeMaximumCustomJ(), Generate(), GenerateFromCustomJ(), GenerateMomentumF1(), GeneratePositionCylinder(), GeneratePositionSky(), and SetSeed().

std::array<double, 3> EcoMug::mSkyCenterPosition
private

Definition at line 330 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 330 of file EcoMug.h

Referenced by GeneratePositionSky(), and SetSkyCenterPosition().

std::array<double, 2> EcoMug::mSkySize
private

Definition at line 329 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 329 of file EcoMug.h

Referenced by GeneratePositionSky(), and SetSkySize().

double EcoMug::mTheta0
private

Definition at line 327 of file EcoMug.h.

View newest version in sPHENIX GitHub at line 327 of file EcoMug.h

Referenced by Generate(), and GenerateFromCustomJ().


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