CMS 3D CMS Logo

TkPhase2OTMeasurementDet.h
Go to the documentation of this file.
1 #ifndef TkPhase2OTMeasurementDet_H
2 #define TkPhase2OTMeasurementDet_H
3 
12 
13 class TrackingRecHit;
15 
17 public:
18 
20 
24 
25  TkPhase2OTMeasurementDet( const GeomDet* gdet,
26  Phase2OTMeasurementConditionSet & conditionSet );
27 
28  void update(Phase2OTMeasurementDetSet &data, const detset & detSet ) {
29  data.update(index(), detSet);
30  data.setActiveThisEvent(index(), true);
31  }
32 
34  bool isEmpty(const Phase2OTMeasurementDetSet & data) const {return data.empty(index());}
35 
37 
38  virtual RecHitContainer recHits( const TrajectoryStateOnSurface&, const MeasurementTrackerEvent & dat ) const;
39 
40  // simple hits
42  const TrajectoryStateOnSurface& stateOnThisDet, const MeasurementEstimator&, const MeasurementTrackerEvent & data) const {
43  assert("not implemented for Pixel yet"==nullptr);
44  }
45 
46 
47 
48  virtual bool measurements( const TrajectoryStateOnSurface& stateOnThisDet,
49  const MeasurementEstimator& est, const MeasurementTrackerEvent & dat,
50  TempMeasurements & result) const;
51 
52 
53  const PixelGeomDetUnit& specificGeomDet() const {return static_cast<PixelGeomDetUnit const &>(fastGeomDet());}
54 
56  buildRecHit( const Phase2TrackerCluster1DRef & cluster,
57  const LocalTrajectoryParameters & ltp) const;
58 
60  void setActive(bool active) { conditionSet().setActive(index(), active); }
63  void setActiveThisEvent(Phase2OTMeasurementDetSet & data, bool active) const { data.setActiveThisEvent(index(), active); }
65  bool isActive(const MeasurementTrackerEvent & data) const { return data.phase2OTData().isActive(index()); }
66 
67  bool hasBadComponents( const TrajectoryStateOnSurface &tsos, const MeasurementTrackerEvent & dat ) const ;
68 
69  //FIXME:just temporary solution for phase2!
71  // void setBadRocPositions(std::vector< LocalPoint > & positions) { badRocPositions_.swap(positions); }
73  // void clearBadRocPositions() { badRocPositions_.clear(); }
74 
75  int index() const { return index_; }
76  void setIndex(int i) { index_ = i; }
77 
78 private:
79  unsigned int id_;
80  // std::vector< LocalPoint > badRocPositions_;
81 
82  int index_;
84  Phase2OTMeasurementConditionSet & conditionSet() { return *theDetConditions; }
85  const Phase2OTMeasurementConditionSet & conditionSet() const { return *theDetConditions; }
86 
87  const ClusterParameterEstimator<Phase2TrackerCluster1D>* cpe() const { return conditionSet().cpe(); }
88 
89 };
90 
91 #endif
#define dso_hidden
bool isEmpty(const Phase2OTMeasurementDetSet &data) const
const Phase2OTMeasurementDetSet & phase2OTData() const
edm::Ref< edmNew::DetSetVector< Phase2TrackerCluster1D >, Phase2TrackerCluster1D > Phase2TrackerCluster1DRef
virtual bool recHits(SimpleHitContainer &result, const TrajectoryStateOnSurface &stateOnThisDet, const MeasurementEstimator &, const MeasurementTrackerEvent &data) const
data_type const * const_iterator
Definition: DetSetNew.h:30
const PixelGeomDetUnit & specificGeomDet() const
edmNew::DetSet< Phase2TrackerCluster1D > detset
const Phase2OTMeasurementConditionSet & conditionSet() const
virtual RecHitContainer recHits(const TrajectoryStateOnSurface &, const MeasurementTrackerEvent &) const =0
const GeomDet & fastGeomDet() const
int index() const
Sets the list of bad ROCs, identified by the positions of their centers in the local coordinate frame...
virtual bool hasBadComponents(const TrajectoryStateOnSurface &tsos, const MeasurementTrackerEvent &data) const =0
const ClusterParameterEstimator< Phase2TrackerCluster1D > * cpe() const
std::shared_ptr< TrackingRecHit const > RecHitPointer
ClusterParameterEstimator< Phase2TrackerCluster1D >::LocalValues LocalValues
Phase2OTMeasurementConditionSet * theDetConditions
Phase2OTMeasurementConditionSet & conditionSet()
void setEmpty(Phase2OTMeasurementDetSet &data)
TrackingRecHit::ConstRecHitContainer RecHitContainer
std::vector< BaseTrackerRecHit * > SimpleHitContainer
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
void setActiveThisEvent(Phase2OTMeasurementDetSet &data, bool active) const
Turn on/off the module for reconstruction for one events. This per-event flag is cleared by any call ...
void setActive(bool active)
Turn on/off the module for reconstruction, for the full run or lumi (using info from DB...
virtual bool measurements(const TrajectoryStateOnSurface &stateOnThisDet, const MeasurementEstimator &est, const MeasurementTrackerEvent &data, TempMeasurements &result) const =0
void setActiveThisEvent(bool active)
bool isActive(const MeasurementTrackerEvent &data) const
Is this module active in reconstruction? It must be both &#39;setActiveThisEvent&#39; and &#39;setActive&#39;...
void update(int i, const Phase2DetSet &detSet)
detset::const_iterator const_iterator
void update(Phase2OTMeasurementDetSet &data, const detset &detSet)