Skip to content

Commit f8f45a2

Browse files
hahassan7sawenzel
authored andcommitted
Fixing the problem with pre-trigger collisions
1 parent f363578 commit f8f45a2

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

Detectors/EMCAL/simulation/src/Digitizer.cxx

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,12 @@ void Digitizer::process(const std::vector<LabeledDigit>& labeledSDigits)
131131
}
132132
d.addLabel(label);
133133
}
134-
mDigits.addDigit(id, d, mEventTime);
134+
double digitTime = mEventTime;
135+
if (preTriggerCollision()) {
136+
digitTime = mEventTime - (mLiveTime + mBusyTime - mPreTriggerTime) + mAfterTriggerTime;
137+
}
138+
139+
mDigits.addDigit(id, d, digitTime);
135140
}
136141
}
137142

@@ -194,6 +199,11 @@ void Digitizer::setEventTime(double t)
194199
mPhase = ((int)(std::fmod(mEventTime, 100) / 25));
195200

196201
mEventTimeOffset = ((int)((mEventTime - std::fmod(mEventTime, 100) + 0.1) / 100));
202+
203+
if (preTriggerCollision()) {
204+
mEventTimeOffset = ((int)((mEventTime - std::fmod(mEventTime, 100) + 0.1) / 100)) - (mLiveTime + mBusyTime - mPreTriggerTime) / 100 + mAfterTriggerTime / 100;
205+
}
206+
197207
if (mPhase == 4) {
198208
mPhase = 0;
199209
mEventTimeOffset++;

0 commit comments

Comments
 (0)