CMS 3D CMS Logo

SimpleTECWedge.cc
Go to the documentation of this file.
1 #include "SimpleTECWedge.h"
5 
6 using namespace std;
7 
9 
10 SimpleTECWedge::SimpleTECWedge(const GeomDet* theInputDet) : theDet(theInputDet) {
11  theDets.push_back(theDet);
12 
14 
15  LogDebug("TkDetLayers") << "DEBUG INFO for CompositeTECWedge"
16  << "\n"
17  << "TECWedge z, perp,innerRadius,outerR: " << this->position().z() << " , "
18  << this->position().perp() << " , " << theDiskSector->innerRadius() << " , "
19  << theDiskSector->outerRadius();
20 }
21 
23 
24 const vector<const GeometricSearchDet*>& SimpleTECWedge::components() const {
25  throw DetLayerException("SimpleTECWedge doesn't have GeometricSearchDet components");
26 }
27 
28 pair<bool, TrajectoryStateOnSurface> SimpleTECWedge::compatible(const TrajectoryStateOnSurface& tsos,
29  const Propagator& prop,
30  const MeasurementEstimator& est) const {
31  return GeomDetCompatibilityChecker::isCompatible(theDet, tsos, prop, est);
32 }
33 
35  const Propagator& prop,
36  const MeasurementEstimator& est,
37  std::vector<DetGroup>& result) const {
38  pair<bool, TrajectoryStateOnSurface> compat = this->compatible(tsos, prop, est);
39 
40  if (compat.first) {
41  result.push_back(DetGroup(0, 1));
42  DetGroupElement ge(theDet, compat.second);
43  result.front().push_back(ge);
44  }
45 }
Common base class.
virtual const Surface::PositionType & position() const
Returns position of the surface.
const std::vector< const GeometricSearchDet * > & components() const override __attribute__((cold))
Returns basic components, if any.
T perp() const
Definition: PV3DBase.h:69
T z() const
Definition: PV3DBase.h:61
std::vector< const GeomDet * > theDets
std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const override __attribute__((hot))
ReferenceCountingPointer< BoundDiskSector > theDiskSector
Definition: TECWedge.h:24
static std::pair< bool, TrajectoryStateOnSurface > isCompatible(const GeomDet *theDet, const TrajectoryStateOnSurface &ts, const Propagator &prop, const MeasurementEstimator &est)
~SimpleTECWedge() override __attribute__((cold))
GeometricSearchDet::DetWithState DetWithState
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState
SimpleTECWedge(const GeomDet *theDet) __attribute__((cold))
const GeomDet * theDet
#define LogDebug(id)