Skip to content

Commit 6c087cc

Browse files
authored
TPC MC: Move hit exlusion after Track Ref creation
1 parent 74c640e commit 6c087cc

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

Detectors/TPC/simulation/src/Detector.cxx

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,24 @@ Bool_t Detector::ProcessHits(FairVolume* vol)
142142
// TODO: Temporary hack to process only one sector
143143
// if (sectorID != 0) return kFALSE;
144144

145+
// ---| momentum and beta gamma |---
146+
static TLorentzVector momentum; // static to make avoid creation/deletion of this expensive object
147+
fMC->TrackMomentum(momentum);
148+
149+
const float time = fMC->TrackTime() * 1.0e9;
150+
const int trackID = fMC->GetStack()->GetCurrentTrackNumber();
151+
const int detID = vol->getMCid();
152+
o2::data::Stack* stack = (o2::data::Stack*)fMC->GetStack();
153+
if (fMC->IsTrackEntering() || fMC->IsTrackExiting()) {
154+
stack->addTrackReference(o2::TrackReference(position.X(), position.Y(), position.Z(), momentum.X(), momentum.Y(),
155+
momentum.Z(), fMC->TrackLength(), time, trackID, GetDetId()));
156+
}
157+
if (TMath::Abs(lastReferenceR - fMC->TrackLength()) > kMaxDistRef) { /// we can speedup
158+
stack->addTrackReference(o2::TrackReference(position.X(), position.Y(), position.Z(), momentum.X(), momentum.Y(),
159+
momentum.Z(), fMC->TrackLength(), time, trackID, GetDetId()));
160+
lastReferenceR = fMC->TrackLength();
161+
}
162+
145163
// ---| remove clusters between the IFC and the FC strips |---
146164
// those should not enter the active readout area
147165
// do coarse selection before, to limit number of transformations
@@ -164,24 +182,6 @@ Bool_t Detector::ProcessHits(FairVolume* vol)
164182
}
165183
}
166184

167-
// ---| momentum and beta gamma |---
168-
static TLorentzVector momentum; // static to make avoid creation/deletion of this expensive object
169-
fMC->TrackMomentum(momentum);
170-
171-
const float time = fMC->TrackTime() * 1.0e9;
172-
const int trackID = fMC->GetStack()->GetCurrentTrackNumber();
173-
const int detID = vol->getMCid();
174-
o2::data::Stack* stack = (o2::data::Stack*)fMC->GetStack();
175-
if (fMC->IsTrackEntering() || fMC->IsTrackExiting()) {
176-
stack->addTrackReference(o2::TrackReference(position.X(), position.Y(), position.Z(), momentum.X(), momentum.Y(),
177-
momentum.Z(), fMC->TrackLength(), time, trackID, GetDetId()));
178-
}
179-
if (TMath::Abs(lastReferenceR - fMC->TrackLength()) > kMaxDistRef) { /// we can speedup
180-
stack->addTrackReference(o2::TrackReference(position.X(), position.Y(), position.Z(), momentum.X(), momentum.Y(),
181-
momentum.Z(), fMC->TrackLength(), time, trackID, GetDetId()));
182-
lastReferenceR = fMC->TrackLength();
183-
}
184-
185185
// ===| CONVERT THE ENERGY LOSS TO IONIZATION ELECTRONS |=====================
186186
//
187187
// The energy loss is implemented directly below and taken GEANT3,

0 commit comments

Comments
 (0)