17 #ifndef HERD_ATTENUATIONTOOL_H_ 18 #define HERD_ATTENUATIONTOOL_H_ 27 namespace FitDigitizationTools {
29 namespace AttenuationTool {
34 constexpr
double m_shortAttenuationLength = 20;
35 constexpr
double m_longAttenuationLength = 470;
36 constexpr
double m_fractionShort = 0.18;
37 constexpr
double m_reflectionCoefficient = 0.7;
39 inline double calcAtt(
const double l) {
40 return (m_fractionShort * exp(-l / m_shortAttenuationLength) +
41 (1 - m_fractionShort) * exp(-l / m_longAttenuationLength));
46 inline double calcAttDir(
const double y) {
47 double Len = m_matLength / 2. - y;
51 inline double calcAttRef(
const double y) {
52 double Len_dir = y - (-m_matLength / 2.);
53 return calcAtt(Len_dir) * m_reflectionCoefficient * calcAtt(m_matLength);
58 std::pair<double, double>
attenuation(
const double hitYPosition) {
59 return std::make_pair(calcAttDir(hitYPosition), calcAttRef(hitYPosition));
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:24