#include <FixedArrayBM.h>
Definition at line 23 of file FixedArrayBM.h.
◆ FixedArrayBM()
FixedArrayBM::FixedArrayBM |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
svc |
|
) |
| |
◆ ~FixedArrayBM()
FixedArrayBM::~FixedArrayBM |
( |
| ) |
|
|
virtual |
◆ getBCID()
virtual unsigned int FixedArrayBM::getBCID |
( |
int |
iXing | ) |
const |
|
inlineprivatevirtual |
◆ getBeamPatternLength()
virtual unsigned int FixedArrayBM::getBeamPatternLength |
( |
| ) |
const |
|
inlinefinaloverridevirtual |
◆ getCurrentT0BunchCrossing()
virtual unsigned int FixedArrayBM::getCurrentT0BunchCrossing |
( |
| ) |
const |
|
inlinefinaloverridevirtual |
◆ initialize()
StatusCode FixedArrayBM::initialize |
( |
| ) |
|
|
finaloverridevirtual |
Definition at line 24 of file FixedArrayBM.cxx.
27 std::vector<float>::const_iterator pBegin(rProp.begin());
28 std::vector<float>::const_iterator pEnd(rProp.end());
33 return StatusCode::FAILURE;
39 return StatusCode::FAILURE;
43 float nonZeroElementCount(
static_cast<float>(std::count_if(pBegin, pEnd, IsNonZero)));
44 if(nonZeroElementCount<1.0)
47 return StatusCode::FAILURE;
49 float elementSum(
static_cast<float>(
std::accumulate(pBegin, pEnd,0.0)));
53 float maxElement(*(std::max_element(pBegin, pEnd)));
54 float inv_maxElement = maxElement != 0 ? 1. / maxElement : 1;
64 ATH_MSG_ERROR(
"All IntensityPattern elements must be >=0. Please fix element #" <<
i );
65 return StatusCode::FAILURE;
91 ATH_MSG_ERROR(
"Requested T0 offset (" <<
m_t0Offset <<
") coincides with an empty bunch crossing in the IntensityPattern provided. Please re-submit your job and select an offset corresponding to a bunch crossing with non-zero luminosity.");
92 return StatusCode::FAILURE;
96 ATH_MSG_INFO(
"Allowing T0 to coincide with an empty bunch crossing in the IntensityPattern provided. T0 offset set to " <<
m_t0Offset <<
" for all events in this run." );
99 return StatusCode::SUCCESS;
◆ largestElementInPattern()
virtual float FixedArrayBM::largestElementInPattern |
( |
| ) |
const |
|
inlinefinaloverridevirtual |
◆ normFactor()
float FixedArrayBM::normFactor |
( |
int |
iXing | ) |
const |
|
finaloverridevirtual |
◆ selectT0()
virtual void FixedArrayBM::selectT0 |
( |
unsigned int |
, |
|
|
unsigned long long |
|
|
) |
| |
|
inlinefinaloverridevirtual |
◆ m_allowEmptyT0BunchCrossing
Gaudi::Property<bool> FixedArrayBM::m_allowEmptyT0BunchCrossing |
|
private |
Initial value:{this, "AllowEmptyT0BunchCrossing", false,
"Allow the offset of the T0 to sit in an empty bunch crossing."}
Definition at line 56 of file FixedArrayBM.h.
◆ m_intensityPattern
double* FixedArrayBM::m_intensityPattern |
|
private |
◆ m_intensityPatternProp
Gaudi::Property<std::vector<float> > FixedArrayBM::m_intensityPatternProp |
|
private |
Initial value:{this, "IntensityPattern", {},
"An array of floats containing the beam intensity distribution as a function of "
"time in bins of 25ns. FixedArrayBM normalizes the distribution and uses it as a "
"stencil to determine the relative intensity at each beam xing in the simulated range"}
Definition at line 59 of file FixedArrayBM.h.
◆ m_ipLength
unsigned int FixedArrayBM::m_ipLength {1} |
|
private |
◆ m_largestElementInPattern
float FixedArrayBM::m_largestElementInPattern {1.0} |
|
private |
The largest value in the pattern assuming that the pattern has mean value 1.0.
Multiplying by this converts values in the m_intensityPattern from having max value 1.0 to having mean value 1.0.
Definition at line 72 of file FixedArrayBM.h.
◆ m_maxBunchCrossingPerOrbit
Gaudi::Property<unsigned int> FixedArrayBM::m_maxBunchCrossingPerOrbit |
|
private |
Initial value:{this, "MaxBunchCrossingPerOrbit", 3564,
"The number of slots in each LHC beam. Default: 3564."}
Definition at line 50 of file FixedArrayBM.h.
◆ m_t0Offset
Gaudi::Property<unsigned int> FixedArrayBM::m_t0Offset |
|
private |
Initial value:{this, "T0Offset", 0,
"Offset of the T0 w.r.t. our intensity pattern"}
Definition at line 53 of file FixedArrayBM.h.
The documentation for this class was generated from the following files: