24 mDEDigitizers[deId] = std::make_unique<DEDigitizer>(deId, transformationCreator(deId), mRandom);
30 for (
auto& d : mDEDigitizers) {
31 d.second->setFirstTFOrbit(firstTFOrbit);
37 for (
const auto& hit : hits) {
38 mDEDigitizers[hit.detElemId()]->processHit(hit, collisionTime, evID, srcID);
44 for (
auto& d : mDEDigitizers) {
45 d.second->addNoise(firstIR, lastIR);
50 std::vector<Digit>&
digits,
55 std::map<InteractionRecord, DEDigitizer::DigitsAndLabels> irDigitsAndLabels{};
56 for (
auto& d : mDEDigitizers) {
57 nPileup += d.second->digitize(irDigitsAndLabels);
62 for (
const auto& [
ir, digitsAndLabels] : irDigitsAndLabels) {
65 digits.insert(
digits.end(), digitsAndLabels.first.begin(), digitsAndLabels.first.end());
75 for (
auto& d : mDEDigitizers) {
static const HBFUtils & Instance()
Digitizer(geo::TransformationCreator transformationCreator)
void addNoise(const InteractionRecord &firstIR, const InteractionRecord &lastIR)
void setFirstTFOrbit(uint32_t firstTFOrbit)
void processHits(gsl::span< const Hit > hits, const InteractionRecord &collisionTime, int evID, int srcID)
size_t digitize(std::vector< ROFRecord > &rofs, std::vector< Digit > &digits, dataformats::MCLabelContainer &labels)
std::function< o2::math_utils::Transform3D(int detElemId)> TransformationCreator
void forEachDetectionElement(CALLABLE &&func)
Defining DataPointCompositeObject explicitly as copiable.
IR getFirstSampledTFIR() const
get TF and HB (abs) for this IR
o2::InteractionRecord ir(0, 0)
std::vector< Digit > digits