166 std::vector<std::pair<double, int>> sortedPoints;
167 sortedPoints.reserve(
fPoints->GetEntriesFast());
169 for (
Int_t iPoint = 0; iPoint <
fPoints->GetEntriesFast(); iPoint++) {
171 sortedPoints.push_back(std::make_pair(point->GetTime(), iPoint));
174 std::sort(sortedPoints.begin(), sortedPoints.end(),
175 [](std::pair<double, int>& left, std::pair<double, int>& right) { return left.first < right.first; });
177 for (UInt_t iSorted = 0; iSorted < sortedPoints.size(); iSorted++) {
178 Int_t iPoint = sortedPoints[iSorted].second;
181 UInt_t address =
static_cast<UInt_t
>(point->GetDetectorID());
182 UShort_t channel = 0;
190 Long64_t time = Long64_t(round(timef));
191 if (time < 0) { time = 0; }
211 LOG(info) << left << setw(15) << GetName() <<
"[" << fixed << setprecision(3) << timer.RealTime() <<
" s]"
212 <<
" Points processed " <<
fPoints->GetEntriesFast();
234 fParSim->setInputVersion(-2, 1);
235 LOG(info) << GetName() <<
"--- Settings: " <<
fParSim->ToString();
241 UInt_t nChannels = 2048;
242 UInt_t nAsicChannels = 128;
246 Double_t dynRange = 75000.;
247 Double_t threshold = 3000.;
248 Double_t deadTime = 800.;
249 Double_t noiseRms = 1000.;
250 Double_t znr = 3.9789e-3;
265 for (
Int_t iModule = 0; iModule <
fSetup->GetNofModules(); iModule++) {
266 UInt_t address =
fSetup->GetModule(iModule)->GetAddress();
277 LOG(info) << GetName() <<
"--- Using global ASIC parameters for Pixels: \n " << userParAsicPixel.
ToString();
278 LOG(info) << GetName() <<
"--- Using global ASIC parameters for Strips: \n " << userParAsicPixel.
ToString();
279 LOG(info) << GetName() <<
"--- Module parameters: " <<
fParSetModule->ToString();
289 for (
Int_t iSensor = 0; iSensor <
fSetup->GetNofSensors(); iSensor++) {
292 TGeoBBox* box =
dynamic_cast<TGeoBBox*
>(sensor->
GetPnode()->GetShape());
294 Double_t lX = 2. * box->GetDX();
295 Double_t lY = 2. * box->GetDY();
296 Double_t lZ = 2. * box->GetDZ();
328 LOG(info) << GetName() <<
"--- Sensor parameters: " <<
fParSetSensor->ToString();