9 #include <CLHEP/Units/SystemOfUnits.h> 10 #include <CLHEP/Units/PhysicalConstants.h> 18 : fractionOfSpeedOfLightInFibre_{iFractionOfSpeedOfLightInFibre},
19 gParHF_{hcons->getGparHF()},
20 rTableHF_{hcons->getRTableHF()},
21 shortFibreLength_{hps->shortFiberLength_},
22 longFibreLength_{hps->longFiberLength_},
23 attenuationLength_{hps->attenuationLength_},
24 lambdaLimits_{{
static_cast<double>(hps->lambdaLimits_[0]), static_cast<double>(hps->lambdaLimits_[1])}} {}
29 .getParameter<double>(
"CFibre"),
34 : cFibre_(
CLHEP::c_light * iP.fractionOfSpeedOfLightInFibre_),
36 radius_(
std::
move(iP.rTableHF_)),
37 shortFL_(
std::
move(iP.shortFibreLength_)),
38 longFL_(
std::
move(iP.longFibreLength_)),
39 attL_(
std::
move(iP.attenuationLength_)),
40 lambLim_(iP.lambdaLimits_) {
48 if (
it / 10 * 10 ==
it) {
57 logger <<
"HFFibre: " <<
longFL_.size() <<
" Long Fibre Length(cm):";
59 if (
it / 10 * 10 ==
it) {
66 logger <<
"HFFibre: " <<
shortFL_.size() <<
" Short Fibre Length(cm):";
68 if (
it / 10 * 10 ==
it) {
80 if (
i / 10 * 10 ==
i) {
88 logger <<
"HFFibre: " <<
gpar_.size() <<
" gParHF:";
89 for (std::size_t
i = 0;
i <
gpar_.size(); ++
i) {
90 if (
i / 10 * 10 ==
i) {
108 edm::LogVerbatim(
"HFShower") <<
"HFFibre::attLength for Lambda " << lambda <<
" index " <<
i <<
" " <<
j 109 <<
" Att. Length " << att;
119 <<
", traversed length = " << zFibre / CLHEP::cm <<
" cm) = " <<
time / CLHEP::ns
129 double length = 250 * CLHEP::cm;
133 if (fromEndAbs >= 0) {
149 if (fromEndAbs > 0) {
158 <<
" cm, Index = " <<
ieta <<
", depth = " <<
depth 159 <<
", Fibre Length = " << length / CLHEP::cm <<
" cm = " << zFibre / CLHEP::cm <<
" cm)";
std::vector< double > radius_
std::vector< double > shortFL_
Log< level::Info, true > LogVerbatim
double zShift(const G4ThreeVector &point, int depth, int fromEndAbs=0) const
std::vector< double > longFL_
HFFibre(const HcalDDDSimConstants *hcons, const HcalSimulationParameters *hps, edm::ParameterSet const &p)
std::vector< double > gpar_
double tShift(const G4ThreeVector &point, int depth, int fromEndAbs=0) const
std::vector< double > attL_
std::array< double, 2 > lambLim_
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
double attLength(double lambda) const