Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Fatras::GeneralMixture Struct Reference

#include <acts-fatras/blob/master/Core/include/Fatras/Physics/Scattering/GeneralMixture.hpp>

Public Member Functions

template<typename generator_t , typename detector_t , typename particle_t >
double operator() (generator_t &generator, const detector_t &detector, particle_t &particle) const
 Call operator to perform this scattering.
 
std::array< double, 4 > getGaussian (double beta, double p, double tInX0, double scale) const
 
std::array< double, 4 > getGaussmix (double beta, double p, double tInX0, double Z, double scale) const
 
std::array< double, 6 > getSemigauss (double beta, double p, double tInX0, double Z, double scale) const
 
template<typename generator_t >
double gaussmix (UniformDist &udist, generator_t &generator, const std::array< double, 4 > &scattering_params) const
 Retrieve the gaussian mixture.
 
template<typename generator_t >
double semigauss (UniformDist &udist, generator_t &generator, const std::array< double, 6 > &scattering_params) const
 Retrieve the semi-gaussian mixture.
 

Public Attributes

bool log_include = true
 Steering parameter.
 
double genMixtureScalor = 1.
 

Detailed Description

This scatter emulated core and tail scattering

General mixture model Fruehwirth, M. Liendl. Comp. Phys. Comm. 141 (2001) 230-246

Definition at line 20 of file GeneralMixture.hpp.

View newest version in sPHENIX GitHub at line 20 of file GeneralMixture.hpp

Member Function Documentation

template<typename generator_t >
double Fatras::GeneralMixture::gaussmix ( UniformDist udist,
generator_t &  generator,
const std::array< double, 4 > &  scattering_params 
) const
inline

Retrieve the gaussian mixture.

Template Parameters
generator_tType of the generator
Parameters
udistThe uniform distribution handed over by the call operator
scattering_paramsthe tuned parameters for the generation
Returns
a double value that represents the gaussian mixture

Definition at line 168 of file GeneralMixture.hpp.

View newest version in sPHENIX GitHub at line 168 of file GeneralMixture.hpp

References physmon_ckf_tracking::u.

Referenced by operator()().

+ Here is the caller graph for this function:

std::array<double, 4> Fatras::GeneralMixture::getGaussian ( double  beta,
double  p,
double  tInX0,
double  scale 
) const
inline

Definition at line 104 of file GeneralMixture.hpp.

View newest version in sPHENIX GitHub at line 104 of file GeneralMixture.hpp

Referenced by operator()().

+ Here is the caller graph for this function:

std::array<double, 4> Fatras::GeneralMixture::getGaussmix ( double  beta,
double  p,
double  tInX0,
double  Z,
double  scale 
) const
inline

Definition at line 115 of file GeneralMixture.hpp.

View newest version in sPHENIX GitHub at line 115 of file GeneralMixture.hpp

References Acts::UnitConstants::e.

Referenced by operator()().

+ Here is the caller graph for this function:

std::array<double, 6> Fatras::GeneralMixture::getSemigauss ( double  beta,
double  p,
double  tInX0,
double  Z,
double  scale 
) const
inline

Definition at line 135 of file GeneralMixture.hpp.

View newest version in sPHENIX GitHub at line 135 of file GeneralMixture.hpp

References KFPMath::a, KFPMath::b, E, n, N, and rho.

Referenced by operator()().

+ Here is the caller graph for this function:

template<typename generator_t , typename detector_t , typename particle_t >
double Fatras::GeneralMixture::operator() ( generator_t &  generator,
const detector_t &  detector,
particle_t &  particle 
) const
inline

Call operator to perform this scattering.

Template Parameters
generator_tis a random number generator type
detector_tis the detector information type
particle_tis the particle information type
Parameters
[in]generatoris the random number generator
[in]detectorthe detector information
[in]particlethe particle which is being scattered
Returns
a scattering angle in 3D

Uniform distribution, will be sampled with generator

Gauss distribution, will be sampled with generator

Definition at line 40 of file GeneralMixture.hpp.

View newest version in sPHENIX GitHub at line 40 of file GeneralMixture.hpp

References Acts::computeMultipleScatteringTheta0(), gaussmix(), genMixtureScalor, getGaussian(), getGaussmix(), getSemigauss(), semigauss(), ActsTests::PropagationDatasets::theta, and SVM_v1::Z.

+ Here is the call graph for this function:

template<typename generator_t >
double Fatras::GeneralMixture::semigauss ( UniformDist udist,
generator_t &  generator,
const std::array< double, 6 > &  scattering_params 
) const
inline

Retrieve the semi-gaussian mixture.

Template Parameters
generator_tType of the generator
Parameters
udistThe uniform distribution handed over by the call operator
scattering_paramsthe tuned parameters for the generation
Returns
a double value that represents the gaussian mixture

Definition at line 191 of file GeneralMixture.hpp.

View newest version in sPHENIX GitHub at line 191 of file GeneralMixture.hpp

References KFPMath::a, KFPMath::b, and physmon_ckf_tracking::u.

Referenced by operator()().

+ Here is the caller graph for this function:

Member Data Documentation

double Fatras::GeneralMixture::genMixtureScalor = 1.

Definition at line 26 of file GeneralMixture.hpp.

View newest version in sPHENIX GitHub at line 26 of file GeneralMixture.hpp

Referenced by operator()().

bool Fatras::GeneralMixture::log_include = true

Steering parameter.

Definition at line 23 of file GeneralMixture.hpp.

View newest version in sPHENIX GitHub at line 23 of file GeneralMixture.hpp


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