File indexing completed on 2024-04-06 12:26:51
0001 #ifndef RecoMTD_TransientTrackingRecHit_MTDTransientTrackingRecHit_h
0002 #define RecoMTD_TransientTrackingRecHit_MTDTransientTrackingRecHit_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include "TrackingTools/TransientTrackingRecHit/interface/GenericTransientTrackingRecHit.h"
0014 #include "DataFormats/TrackingRecHit/interface/RecSegment.h"
0015
0016 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0017
0018 class MTDTransientTrackingRecHit final : public GenericTransientTrackingRecHit {
0019 public:
0020 using MTDRecHitPointer = std::shared_ptr<MTDTransientTrackingRecHit>;
0021 using ConstMTDRecHitPointer = std::shared_ptr<MTDTransientTrackingRecHit const>;
0022
0023 typedef std::vector<MTDRecHitPointer> MTDRecHitContainer;
0024 typedef std::vector<ConstMTDRecHitPointer> ConstMTDRecHitContainer;
0025
0026 ~MTDTransientTrackingRecHit() override {}
0027
0028
0029 bool isBTL() const;
0030
0031
0032 bool isETL() const;
0033
0034 static RecHitPointer build(const GeomDet* geom, const TrackingRecHit* rh) {
0035 return RecHitPointer(new MTDTransientTrackingRecHit(geom, rh));
0036 }
0037
0038 static MTDRecHitPointer specificBuild(const GeomDet* geom, const TrackingRecHit* rh) {
0039 LogDebug("MTDTransientTrackingRecHit") << "Getting specificBuild" << std::endl;
0040 return MTDRecHitPointer(new MTDTransientTrackingRecHit(geom, rh));
0041 }
0042
0043 void invalidateHit();
0044
0045 private:
0046
0047 MTDTransientTrackingRecHit(const GeomDet* geom, const TrackingRecHit* rh);
0048
0049
0050 MTDTransientTrackingRecHit(const MTDTransientTrackingRecHit& other);
0051
0052 MTDTransientTrackingRecHit* clone() const override { return new MTDTransientTrackingRecHit(*this); }
0053 };
0054 #endif