CMS 3D CMS Logo

ForwardDetRingOneZ.cc
Go to the documentation of this file.
4 //#include "TrackingTools/GeomPropagators/interface/Propagator.h"
5 
8 
9 #include <algorithm>
10 #include <cmath>
11 
12 using namespace std;
13 
15 
16 ForwardDetRingOneZ::ForwardDetRingOneZ(vector<const GeomDet*>::const_iterator first,
17  vector<const GeomDet*>::const_iterator last)
18  : ForwardDetRing(false), theDets(first,last)
19 {
20  initialize();
21 }
22 
23 ForwardDetRingOneZ::ForwardDetRingOneZ( const vector<const GeomDet*>& dets)
24  : ForwardDetRing(false), theDets(dets)
25 {
26  initialize();
27 }
28 
29 
31 {
32  // assume the dets ARE in a ring
33  // sort them in phi
36 }
37 
38 
39 bool ForwardDetRingOneZ::add(int idet, vector<DetWithState>& result,
40  const TrajectoryStateOnSurface& tsos,
41  const Propagator& prop,
42  const MeasurementEstimator& est) const {
43  pair<bool,TrajectoryStateOnSurface> compat =
44  theCompatibilityChecker.isCompatible(theDets[idet],tsos, prop, est);
45 
46  if (compat.first) {
47  result.push_back(DetWithState(theDets[idet], compat.second));
48  }
49 
50  return compat.first;
51 }
52 
ExtractPhi< GeomDet, float > DetPhi
Definition: DetSorting.h:39
~ForwardDetRingOneZ() override
GeomDetCompatibilityChecker theCompatibilityChecker
static std::pair< bool, TrajectoryStateOnSurface > isCompatible(const GeomDet *theDet, const TrajectoryStateOnSurface &ts, const Propagator &prop, const MeasurementEstimator &est)
void precomputed_value_sort(RandomAccessIterator begin, RandomAccessIterator end, const Extractor &extr)
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState
bool add(int idet, std::vector< DetWithState > &result, const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est) const
ForwardDetRingOneZ(std::vector< const GeomDet * >::const_iterator first, std::vector< const GeomDet * >::const_iterator last)
Construct from iterators on Det*.
std::vector< const GeomDet * > theDets
void setDisk(BoundDisk *disk)
Set the rod&#39;s disk.