1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
#ifndef FastProjectedTrackerRecHit_H
#define FastProjectedTrackerRecHit_H
#include "DataFormats/TrackerRecHit2D/interface/FastTrackerRecHit.h"
#include "DataFormats/TrackerRecHit2D/interface/FastSingleTrackerRecHit.h"
#include "DataFormats/TrackerRecHit2D/interface/ProjectedSiStripRecHit2D.h"
class FastProjectedTrackerRecHit : public FastTrackerRecHit {
public:
FastProjectedTrackerRecHit() {}
~FastProjectedTrackerRecHit() override {}
FastProjectedTrackerRecHit(const LocalPoint& pos,
const LocalError& err,
GeomDet const& idet,
FastSingleTrackerRecHit const& originalHit)
: FastTrackerRecHit(pos,
err,
idet,
ProjectedSiStripRecHit2D::isMono(idet, *originalHit.det())
? fastTrackerRecHitType::siStripProjectedMono2D
: fastTrackerRecHitType::siStripProjectedStereo2D),
originalHit_(originalHit) {}
const FastSingleTrackerRecHit& originalHit() const { return originalHit_; }
FastProjectedTrackerRecHit* clone() const override {
FastProjectedTrackerRecHit* p = new FastProjectedTrackerRecHit(*this);
p->load();
return p;
}
size_t nIds() const override { return 1; }
int32_t id(size_t i = 0) const override { return originalHit().id(i); }
int32_t eventId(size_t i = 0) const override { return originalHit().eventId(i); }
size_t nSimTrackIds() const override {
return originalHit_.nSimTrackIds();
} ///< see addSimTrackId(int32_t simTrackId)
int32_t simTrackId(size_t i) const override {
return originalHit_.simTrackId(i);
} ///< see addSimTrackId(int32_t simTrackId)
int32_t simTrackEventId(size_t i) const override {
return originalHit_.simTrackEventId(i);
;
} ///< see addSimTrackId(int32_t simTrackId)
void setEventId(int32_t eventId) override { originalHit_.setEventId(eventId); }
void setRecHitCombinationIndex(int32_t recHitCombinationIndex) override {
FastTrackerRecHit::setRecHitCombinationIndex(recHitCombinationIndex);
originalHit_.setRecHitCombinationIndex(recHitCombinationIndex);
}
private:
FastSingleTrackerRecHit originalHit_;
};
#endif
|