CMS 3D CMS Logo

MeasurementTrackerEvent.h
Go to the documentation of this file.
1 #ifndef MeasurementTrackerEvent_H
2 #define MeasurementTrackerEvent_H
3 
4 #include <vector>
12 
14 
16 public:
18 
22 
25  const Phase2OTMeasurementDetSet *phase2OT,
26  const std::vector<bool> & stripClustersToSkip,
27  const std::vector<bool> & pixelClustersToSkip,
28  const std::vector<bool> & phase2OTClustersToSkip):
29  theTracker(&tracker), theStripData(strips), thePixelData(pixels), thePhase2OTData(phase2OT), theOwner(true),
30  theStripClustersToSkip(stripClustersToSkip), thePixelClustersToSkip(pixelClustersToSkip), thePhase2OTClustersToSkip(phase2OTClustersToSkip) {}
31 
36 
37  //FIXME:just temporary solution for phase2!
39  const edm::ContainerMask<edmNew::DetSetVector<SiPixelCluster> > & phase2pixelClustersToSkip,
41 
46 
47 
48  const MeasurementTracker & measurementTracker() const { return * theTracker; }
49  const StMeasurementDetSet & stripData() const { return * theStripData; }
50  const PxMeasurementDetSet & pixelData() const { return * thePixelData; }
52  const std::vector<bool> & stripClustersToSkip() const { return theStripClustersToSkip; }
53  const std::vector<bool> & pixelClustersToSkip() const { return thePixelClustersToSkip; }
54  const std::vector<bool> & phase2OTClustersToSkip() const { return thePhase2OTClustersToSkip; }
55 
56  // forwarded calls
59 
61  MeasurementDetWithData idToDet(const DetId& id) const { return measurementTracker().idToDet(id, *this); }
62 
63 private:
64  const MeasurementTracker * theTracker=nullptr;
68  bool theOwner=false; // do I own the tree above?
69  // these could be const pointers as well, but ContainerMask doesn't expose the vector
70  std::vector<bool> theStripClustersToSkip;
71  std::vector<bool> thePixelClustersToSkip;
72  std::vector<bool> thePhase2OTClustersToSkip;
73 };
74 
75 #endif // MeasurementTrackerEvent_H
const std::vector< bool > & phase2OTClustersToSkip() const
MeasurementDetWithData idToDet(const DetId &id) const
Previous MeasurementDetSystem interface.
const TrackingGeometry * geomTracker() const
const Phase2OTMeasurementDetSet & phase2OTData() const
std::vector< bool > thePhase2OTClustersToSkip
MeasurementTrackerEvent()
Dummy constructor used for I/O (even if it&#39;s a transient object)
const StMeasurementDetSet & stripData() const
const std::vector< bool > & pixelClustersToSkip() const
const std::vector< bool > & stripClustersToSkip() const
const StMeasurementDetSet * theStripData
MeasurementTrackerEvent(const MeasurementTracker &tracker, const StMeasurementDetSet *strips, const PxMeasurementDetSet *pixels, const Phase2OTMeasurementDetSet *phase2OT, const std::vector< bool > &stripClustersToSkip, const std::vector< bool > &pixelClustersToSkip, const std::vector< bool > &phase2OTClustersToSkip)
Real constructor 1: with the full data (owned)
const PxMeasurementDetSet * thePixelData
const PxMeasurementDetSet & pixelData() const
std::vector< bool > theStripClustersToSkip
const TrackingGeometry * geomTracker() const
MeasurementTrackerEvent & operator=(const MeasurementTrackerEvent &other)=delete
const MeasurementTracker & measurementTracker() const
MeasurementDetWithData idToDet(const DetId &id, const MeasurementTrackerEvent &data) const override=0
MeasurementDetSystem interface.
Definition: DetId.h:18
const Phase2OTMeasurementDetSet * thePhase2OTData
const MeasurementTracker * theTracker
std::vector< bool > thePixelClustersToSkip
const GeometricSearchTracker * geometricSearchTracker() const
const GeometricSearchTracker * geometricSearchTracker() const