CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SeedFromNuclearInteraction.h
Go to the documentation of this file.
1 #ifndef SeedFromNuclearInteraction_H
2 #define SeedFromNuclearInteraction_H
3 
5 
7 
12 
14 
16 
17 #include <boost/shared_ptr.hpp>
18 
20 
22 private :
27  typedef std::vector<ConstRecHitPointer> ConstRecHitContainer;
28 
29 public :
30  SeedFromNuclearInteraction(const Propagator* prop, const TrackerGeometry* geom, const edm::ParameterSet& iConfig);
31 
33 
35  void setMeasurements(const TSOS& tsosAtInteractionPoint, ConstRecHitPointer ihit, ConstRecHitPointer ohit);
36 
38  void setMeasurements(TangentHelix& primHelix, const TSOS& inner_TSOS, ConstRecHitPointer ihit, ConstRecHitPointer ohit);
39 
41 
43 
45 
47 
48  recHitContainer hits() const;
49 
51 
52  bool isValid() const { return isValid_; }
53 
54  const TSOS& updatedTSOS() const { return *updatedTSOS_; }
55 
56  const TSOS& initialTSOS() const { return *initialTSOS_; }
57 
59  return theTrackerGeom->idToDet(outerHitDetId())->surface().toGlobal(outerHit_->localPosition());
60  }
61 
62  DetId outerHitDetId() const { return outerHit_->geographicalId(); }
63 
65 
69 
70 private :
71  bool isValid_;
74  /* initial freeTS and to be fitted */
75 
79  boost::shared_ptr<TSOS> updatedTSOS_;
81  boost::shared_ptr<TSOS> initialTSOS_;
83  boost::shared_ptr<FreeTrajectoryState> freeTS_;
85  boost::shared_ptr<PTrajectoryStateOnDet> pTraj;
88  // input parameters
89 
90  double ptMin;
94 
95  bool construct();
96 
97 };
98 #endif
const TrackerGeometry * theTrackerGeom
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:78
PropagationDirection direction() const
boost::shared_ptr< TSOS > updatedTSOS_
boost::shared_ptr< FreeTrajectoryState > freeTS_
T perp() const
Magnitude of transverse component.
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...
edm::OwnVector< TrackingRecHit > recHitContainer
SeedFromNuclearInteraction(const Propagator *prop, const TrackerGeometry *geom, const edm::ParameterSet &iConfig)
PTrajectoryStateOnDet trajectoryState() const
boost::shared_ptr< PTrajectoryStateOnDet > pTraj
std::vector< ConstRecHitPointer > ConstRecHitContainer
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
virtual const GeomDet * idToDet(DetId) const
AlgebraicMatrix33 rotationMatrix(const GlobalVector &perp) const
Definition: DetId.h:20
boost::shared_ptr< TSOS > initialTSOS_
ConstRecHitPointer outerHit() const
virtual const BoundPlane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
ROOT::Math::SMatrix< double, 3, 3, ROOT::Math::MatRepStd< double, 3, 3 > > AlgebraicMatrix33
FreeTrajectoryState * stateWithError() const