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  // for the edm wrapper...
48  void swap(MeasurementTrackerEvent &other) ;
49 
50 
51  const MeasurementTracker & measurementTracker() const { return * theTracker; }
52  const StMeasurementDetSet & stripData() const { return * theStripData; }
53  const PxMeasurementDetSet & pixelData() const { return * thePixelData; }
55  const std::vector<bool> & stripClustersToSkip() const { return theStripClustersToSkip; }
56  const std::vector<bool> & pixelClustersToSkip() const { return thePixelClustersToSkip; }
57  const std::vector<bool> & phase2OTClustersToSkip() const { return thePhase2OTClustersToSkip; }
58 
59  // forwarded calls
62 
64  MeasurementDetWithData idToDet(const DetId& id) const { return measurementTracker().idToDet(id, *this); }
65 
66 private:
67  const MeasurementTracker * theTracker=nullptr;
71  bool theOwner=false; // do I own the tree above?
72  // these could be const pointers as well, but ContainerMask doesn't expose the vector
73  std::vector<bool> theStripClustersToSkip;
74  std::vector<bool> thePixelClustersToSkip;
75  std::vector<bool> thePhase2OTClustersToSkip;
76 };
77 
79 
80 #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)
void swap(MeasurementTrackerEvent &other)
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
double b
Definition: hdecay.h:120
const Phase2OTMeasurementDetSet * thePhase2OTData
double a
Definition: hdecay.h:121
const MeasurementTracker * theTracker
std::vector< bool > thePixelClustersToSkip
const GeometricSearchTracker * geometricSearchTracker() const
const GeometricSearchTracker * geometricSearchTracker() const