CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
GsfBetheHeitlerUpdator Class Referencefinal

#include <GsfBetheHeitlerUpdator.h>

Inheritance diagram for GsfBetheHeitlerUpdator:
GsfMaterialEffectsUpdator

Classes

class  Polynomial
 

Public Types

enum  CorrectionFlag { NoCorrection =0, MeanCorrection =1, FullCorrection =2 }
 
- Public Types inherited from GsfMaterialEffectsUpdator
typedef materialEffect::Covariance Covariance
 
typedef materialEffect::CovIndex CovIndex
 
typedef materialEffect::Effect Effect
 

Public Member Functions

virtual GsfBetheHeitlerUpdatorclone () const
 
 GsfBetheHeitlerUpdator (const std::string fileName, const int correctionFlag)
 constructor with explicit filename and correction flag More...
 
- Public Member Functions inherited from GsfMaterialEffectsUpdator
 GsfMaterialEffectsUpdator (float mass, uint32_t is)
 
float mass () const
 
size_t size () const
 
virtual TrajectoryStateOnSurface updateState (const TrajectoryStateOnSurface &TSoS, const PropagationDirection propDir) const
 
virtual ~GsfMaterialEffectsUpdator ()
 

Private Types

typedef Triplet< float, float,
float > 
GSContainer
 

Private Member Functions

virtual void compute (const TrajectoryStateOnSurface &, const PropagationDirection, Effect[]) const
 Computation: generates vectors of weights, means and standard deviations. More...
 
float correctedFirstMean (const float, const GSContainer[]) const
 Correction for mean of component 1. More...
 
float correctedFirstVar (const float, const GSContainer[]) const
 Correction for variance of component 1. More...
 
void correctWeights (GSContainer[]) const
 Correction for weight of component 1. More...
 
void getMixtureParameters (const float, GSContainer[]) const
 Filling of mixture (in terms of z=E/E0) More...
 
void readParameters (const std::string)
 Read parametrization from file. More...
 
Polynomial readPolynomial (std::ifstream &, const int)
 Read coefficients of one polynomial from file. More...
 

Private Attributes

int theCorrectionFlag
 values to be transformed by logistic / exp. function? More...
 
int theNrComponents
 
Polynomial thePolyMeans [MaxSize]
 parametrisation of weight for each component More...
 
Polynomial thePolyVars [MaxSize]
 parametrisation of mean for each componentP More...
 
Polynomial thePolyWeights [MaxSize]
 correction of 1st or 1st&2nd moments More...
 
int theTransformationCode
 number of components used for parameterisation More...
 

Static Private Attributes

static int MaxOrder =6
 
static int MaxSize =6
 

Additional Inherited Members

- Protected Member Functions inherited from GsfMaterialEffectsUpdator
void resize (size_t is)
 

Detailed Description

Description of electron energy loss according to Bethe-Heitler as a sum of Gaussian components. The weights and parameters of the Gaussians as a function of x/X0 are parametrized as polynomials. The coefficients of these polynomials are read from a file at construction time.

Definition at line 26 of file GsfBetheHeitlerUpdator.h.

Member Typedef Documentation

typedef Triplet<float,float,float> GsfBetheHeitlerUpdator::GSContainer
private

Definition at line 72 of file GsfBetheHeitlerUpdator.h.

Member Enumeration Documentation

Constructor & Destructor Documentation

GsfBetheHeitlerUpdator::GsfBetheHeitlerUpdator ( const std::string  fileName,
const int  correctionFlag 
)

constructor with explicit filename and correction flag

Definition at line 46 of file GsfBetheHeitlerUpdator.cc.

Referenced by clone().

Member Function Documentation

virtual GsfBetheHeitlerUpdator* GsfBetheHeitlerUpdator::clone ( void  ) const
inlinevirtual

Implements GsfMaterialEffectsUpdator.

Definition at line 62 of file GsfBetheHeitlerUpdator.h.

References GsfBetheHeitlerUpdator().

63  {
64  return new GsfBetheHeitlerUpdator(*this);
65  }
GsfBetheHeitlerUpdator(const std::string fileName, const int correctionFlag)
constructor with explicit filename and correction flag
void GsfBetheHeitlerUpdator::compute ( const TrajectoryStateOnSurface TSoS,
const PropagationDirection  propDir,
Effect  effects[] 
) const
privatevirtual

Computation: generates vectors of weights, means and standard deviations.

Implements GsfMaterialEffectsUpdator.

Definition at line 97 of file GsfBetheHeitlerUpdator.cc.

float GsfBetheHeitlerUpdator::correctedFirstMean ( const float  rl,
const GSContainer  mixture[] 
) const
private

Correction for mean of component 1.

Definition at line 212 of file GsfBetheHeitlerUpdator.cc.

float GsfBetheHeitlerUpdator::correctedFirstVar ( const float  rl,
const GSContainer  mixture[] 
) const
private

Correction for variance of component 1.

Definition at line 230 of file GsfBetheHeitlerUpdator.cc.

void GsfBetheHeitlerUpdator::correctWeights ( GSContainer  mixture[]) const
private

Correction for weight of component 1.

Definition at line 194 of file GsfBetheHeitlerUpdator.cc.

void GsfBetheHeitlerUpdator::getMixtureParameters ( const float  rl,
GSContainer  mixture[] 
) const
private

Filling of mixture (in terms of z=E/E0)

Definition at line 169 of file GsfBetheHeitlerUpdator.cc.

void GsfBetheHeitlerUpdator::readParameters ( const std::string  fileName)
private

Read parametrization from file.

Definition at line 63 of file GsfBetheHeitlerUpdator.cc.

GsfBetheHeitlerUpdator::Polynomial GsfBetheHeitlerUpdator::readPolynomial ( std::ifstream &  aStream,
const int  order 
)
private

Read coefficients of one polynomial from file.

Definition at line 89 of file GsfBetheHeitlerUpdator.cc.

Member Data Documentation

int GsfBetheHeitlerUpdator::MaxOrder =6
staticprivate

Definition at line 30 of file GsfBetheHeitlerUpdator.h.

int GsfBetheHeitlerUpdator::MaxSize =6
staticprivate

Definition at line 29 of file GsfBetheHeitlerUpdator.h.

int GsfBetheHeitlerUpdator::theCorrectionFlag
private

values to be transformed by logistic / exp. function?

Definition at line 98 of file GsfBetheHeitlerUpdator.h.

int GsfBetheHeitlerUpdator::theNrComponents
private

Definition at line 96 of file GsfBetheHeitlerUpdator.h.

Polynomial GsfBetheHeitlerUpdator::thePolyMeans[MaxSize]
private

parametrisation of weight for each component

Definition at line 101 of file GsfBetheHeitlerUpdator.h.

Polynomial GsfBetheHeitlerUpdator::thePolyVars[MaxSize]
private

parametrisation of mean for each componentP

Definition at line 102 of file GsfBetheHeitlerUpdator.h.

Polynomial GsfBetheHeitlerUpdator::thePolyWeights[MaxSize]
private

correction of 1st or 1st&2nd moments

Definition at line 100 of file GsfBetheHeitlerUpdator.h.

int GsfBetheHeitlerUpdator::theTransformationCode
private

number of components used for parameterisation

Definition at line 97 of file GsfBetheHeitlerUpdator.h.