PandaRoot
genfit::MaterialEffects Class Reference

Stepper and energy loss/noise matrix calculation. More...

#include <MaterialEffects.h>

Inheritance diagram for genfit::MaterialEffects:

Public Member Functions

void init (AbsMaterialInterface *matIfc)
 set the material interface here. Material interface classes must be derived from AbsMaterialInterface. More...
 
bool isInitialized ()
 
void setNoEffects (bool opt=true)
 
void setEnergyLossBetheBloch (bool opt=true)
 
void setNoiseBetheBloch (bool opt=true)
 
void setNoiseCoulomb (bool opt=true)
 
void setEnergyLossBrems (bool opt=true)
 
void setNoiseBrems (bool opt=true)
 
void ignoreBoundariesBetweenEqualMaterials (bool opt=true)
 
void setMscModel (const std::string &modelName)
 Select the multiple scattering model that will be used during track fit. More...
 
double effects (const std::vector< RKStep > &steps, int materialsFXStart, int materialsFXStop, const double &mom, const int &pdg, M7x7 *noise=nullptr)
 Calculates energy loss in the traveled path, optional calculation of noise matrix. More...
 
void stepper (const RKTrackRep *rep, M1x7 &state7, const double &mom, double &relMomLoss, const int &pdg, MaterialProperties &currentMaterial, StepLimits &limits, bool varField=true)
 Returns maximum length so that a specified momentum loss will not be exceeded. More...
 
void setDebugLvl (unsigned int lvl=1)
 
void drawdEdx (int pdg=11)
 

Static Public Member Functions

static MaterialEffectsgetInstance ()
 
static void destruct ()
 

Detailed Description

Stepper and energy loss/noise matrix calculation.

Author
Christian Höppner (Technische Universität München, original author)
Sebastian Neubert (Technische Universität München, original author)
Johannes Rauch (Technische Universität München, author)

It provides functionality to limit the stepsize of an extrapolation in order not to exceed a specified maximum momentum loss. After propagation, the energy loss for the given length and (optionally) the noise matrix can be calculated. You have to set which energy-loss and noise mechanisms you want to use. At the moment, per default all energy loss and noise options are ON.

Definition at line 50 of file MaterialEffects.h.

Member Function Documentation

◆ destruct()

static void genfit::MaterialEffects::destruct ( )
static

◆ drawdEdx()

void genfit::MaterialEffects::drawdEdx ( int  pdg = 11)

◆ effects()

double genfit::MaterialEffects::effects ( const std::vector< RKStep > &  steps,
int  materialsFXStart,
int  materialsFXStop,
const double &  mom,
const int &  pdg,
M7x7 noise = nullptr 
)

Calculates energy loss in the traveled path, optional calculation of noise matrix.

Referenced by ignoreBoundariesBetweenEqualMaterials().

◆ getInstance()

static MaterialEffects* genfit::MaterialEffects::getInstance ( )
static

◆ ignoreBoundariesBetweenEqualMaterials()

void genfit::MaterialEffects::ignoreBoundariesBetweenEqualMaterials ( bool  opt = true)
inline

Definition at line 93 of file MaterialEffects.h.

References drawdEdx(), effects(), setDebugLvl(), setMscModel(), and stepper().

93 { ignoreBoundariesBetweenEqualMaterials_ = opt; }

◆ init()

void genfit::MaterialEffects::init ( AbsMaterialInterface matIfc)

set the material interface here. Material interface classes must be derived from AbsMaterialInterface.

◆ isInitialized()

bool genfit::MaterialEffects::isInitialized ( )
inline

Definition at line 64 of file MaterialEffects.h.

64 { return materialInterface_ != nullptr; }

◆ setDebugLvl()

void genfit::MaterialEffects::setDebugLvl ( unsigned int  lvl = 1)

◆ setEnergyLossBetheBloch()

void genfit::MaterialEffects::setEnergyLossBetheBloch ( bool  opt = true)
inline

Definition at line 68 of file MaterialEffects.h.

69  {
70  energyLossBetheBloch_ = opt;
71  noEffects_ = false;
72  }

◆ setEnergyLossBrems()

void genfit::MaterialEffects::setEnergyLossBrems ( bool  opt = true)
inline

Definition at line 83 of file MaterialEffects.h.

84  {
85  energyLossBrems_ = opt;
86  noEffects_ = false;
87  }

◆ setMscModel()

void genfit::MaterialEffects::setMscModel ( const std::string &  modelName)

Select the multiple scattering model that will be used during track fit.

At the moment two model are available GEANE and Highland. GEANE is the model was was present in Genfit first. Note that using this function has no effect if setNoiseCoulomb(false) is set.

Referenced by ignoreBoundariesBetweenEqualMaterials().

◆ setNoEffects()

void genfit::MaterialEffects::setNoEffects ( bool  opt = true)
inline

Definition at line 66 of file MaterialEffects.h.

66 { noEffects_ = opt; }

◆ setNoiseBetheBloch()

void genfit::MaterialEffects::setNoiseBetheBloch ( bool  opt = true)
inline

Definition at line 73 of file MaterialEffects.h.

74  {
75  noiseBetheBloch_ = opt;
76  noEffects_ = false;
77  }

◆ setNoiseBrems()

void genfit::MaterialEffects::setNoiseBrems ( bool  opt = true)
inline

Definition at line 88 of file MaterialEffects.h.

89  {
90  noiseBrems_ = opt;
91  noEffects_ = false;
92  }

◆ setNoiseCoulomb()

void genfit::MaterialEffects::setNoiseCoulomb ( bool  opt = true)
inline

Definition at line 78 of file MaterialEffects.h.

79  {
80  noiseCoulomb_ = opt;
81  noEffects_ = false;
82  }

◆ stepper()

void genfit::MaterialEffects::stepper ( const RKTrackRep rep,
M1x7 state7,
const double &  mom,
double &  relMomLoss,
const int &  pdg,
MaterialProperties currentMaterial,
StepLimits limits,
bool  varField = true 
)

Returns maximum length so that a specified momentum loss will not be exceeded.

The stepper returns the maximum length that the particle may travel, so that a specified relative momentum loss will not be exceeded, or the next material boundary is reached. The material crossed are stored together with their stepsizes.

Referenced by ignoreBoundariesBetweenEqualMaterials().


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