86 size_t digitize(std::map<InteractionRecord, DigitsAndLabels>& irDigitsAndLabels);
97 std::vector<MCCompLabel> labels;
103 void addSignal(
int padid,
const InteractionRecord& collisionTime,
float charge,
const MCCompLabel&
label);
105 void addNoise(
int padid,
const InteractionRecord& rofIR);
107 void addNoise(Signal& signal, uint32_t nSamples);
109 void addTimeDispersion(Signal& signal);
111 bool isAboveThreshold(
float charge);
113 DigitsAndLabels* addNewDigit(std::map<InteractionRecord, DigitsAndLabels>& irDigitsAndLabels,
114 int padid,
const Signal& signal, uint32_t nSamples)
const;
116 void appendLastDigit(
DigitsAndLabels* digitsAndLabels,
const Signal& signal, uint32_t nSamples)
const;
121 mapping::Segmentation mSegmentation;
123 std::mt19937& mRandom;
124 std::normal_distribution<float> mMinChargeDist;
125 std::normal_distribution<float> mTimeDist;
126 std::normal_distribution<float> mNoiseDist;
127 std::normal_distribution<float> mNoiseOnlyDist;
128 std::poisson_distribution<int> mNofNoisyPadsDist;
129 std::uniform_int_distribution<int> mPadIdDist;
130 std::uniform_int_distribution<int> mBCDist;
132 uint32_t mFirstTFOrbit;
134 std::vector<std::vector<Signal>> mSignals;