CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
SeedFromNuclearInteraction.h
Go to the documentation of this file.
1 #ifndef SeedFromNuclearInteraction_H
2 #define SeedFromNuclearInteraction_H
3 
5 
7 
12 
14 
16 
18 private:
23  typedef std::vector<ConstRecHitPointer> ConstRecHitContainer;
24 
25 public:
26  SeedFromNuclearInteraction(const Propagator* prop, const TrackerGeometry* geom, double ptMin);
27 
29 
31  void setMeasurements(const TSOS& tsosAtInteractionPoint, ConstRecHitPointer ihit, ConstRecHitPointer ohit);
32 
34  void setMeasurements(TangentHelix& primHelix,
35  const TSOS& inner_TSOS,
36  ConstRecHitPointer ihit,
37  ConstRecHitPointer ohit);
38 
39  PTrajectoryStateOnDet const& trajectoryState() const { return pTraj; }
40 
42 
44 
46 
47  recHitContainer hits() const;
48 
50 
51  bool isValid() const { return isValid_; }
52 
53  const TSOS& updatedTSOS() const { return *updatedTSOS_; }
54 
55  const TSOS& initialTSOS() const { return *initialTSOS_; }
56 
58  return theTrackerGeom->idToDet(outerHitDetId())->surface().toGlobal(outerHit_->localPosition());
59  }
60 
61  DetId outerHitDetId() const { return outerHit_->geographicalId(); }
62 
64 
68 
69 private:
70  bool isValid_;
73  /* initial freeTS and to be fitted */
74 
78  std::shared_ptr<TSOS> updatedTSOS_;
80  std::shared_ptr<TSOS> initialTSOS_;
82  std::shared_ptr<FreeTrajectoryState> freeTS_;
86  // input parameters
87 
88  double ptMin;
92 
93  bool construct();
94 };
95 #endif
const TrackerGeometry * theTrackerGeom
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:79
PropagationDirection direction() const
ROOT::Math::SMatrix< double, 3, 3, ROOT::Math::MatRepStd< double, 3, 3 > > AlgebraicMatrix33
SeedFromNuclearInteraction(const Propagator *prop, const TrackerGeometry *geom, double ptMin)
PropagationDirection
void setMeasurements(const TSOS &tsosAtInteractionPoint, ConstRecHitPointer ihit, ConstRecHitPointer ohit)
Fill all data members from 2 TM&#39;s where the first one is supposed to be at the interaction point...
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
std::shared_ptr< TSOS > initialTSOS_
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
edm::OwnVector< TrackingRecHit > recHitContainer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
std::vector< ConstRecHitPointer > ConstRecHitContainer
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
PTrajectoryStateOnDet const & trajectoryState() const
const TrackerGeomDet * idToDet(DetId) const override
AlgebraicMatrix33 rotationMatrix(const GlobalVector &perp) const
Definition: DetId.h:17
std::shared_ptr< TSOS > updatedTSOS_
std::shared_ptr< FreeTrajectoryState > freeTS_
T perp() const
Magnitude of transverse component.
ConstRecHitPointer outerHit() const
FreeTrajectoryState * stateWithError() const