CMS 3D CMS Logo

BeamHaloPropagator.h
Go to the documentation of this file.
1 #ifndef GeomPropagators_BeamHaloPropagator_H
2 #define GeomPropagators_BeamHaloPropagator_H
3 
14 /* Collaborating Class Declarations */
21 
22 /* Class BeamHaloPropagator Interface */
23 
24 class BeamHaloPropagator final : public Propagator {
25 public:
26  /* Constructor */
28  BeamHaloPropagator(const Propagator* aEndCapTkProp,
29  const Propagator* aCrossTkProp,
30  const MagneticField* field,
32 
34  BeamHaloPropagator(const Propagator& aEndCapTkProp,
35  const Propagator& aCrossTkProp,
36  const MagneticField* field,
38 
41 
43  ~BeamHaloPropagator() override;
44 
46  BeamHaloPropagator* clone() const override {
47  return new BeamHaloPropagator(
49  }
50 
55  }
56 
59 
60 private:
61  std::pair<TrajectoryStateOnSurface, double> propagateWithPath(const FreeTrajectoryState& fts,
62  const Plane& plane) const override;
63 
64  std::pair<TrajectoryStateOnSurface, double> propagateWithPath(const FreeTrajectoryState& fts,
65  const Cylinder& cylinder) const override;
66 
68  bool crossingTk(const FreeTrajectoryState& fts, const Plane& plane) const;
69 
71  const Propagator* getEndCapTkPropagator() const;
73  const Propagator* getCrossTkPropagator() const;
75  const MagneticField* magneticField() const override { return theField; }
76 
77 private:
79 
83 
84 protected:
85 };
86 
87 #endif
Propagator.h
TrajectoryStateOnSurface.h
BeamHaloPropagator::crossingTk
bool crossingTk(const FreeTrajectoryState &fts, const Plane &plane) const
true if the plane and the fts z position have different sign
Definition: BeamHaloPropagator.cc:80
FreeTrajectoryState.h
BeamHaloPropagator::~BeamHaloPropagator
~BeamHaloPropagator() override
Definition: BeamHaloPropagator.cc:75
BeamHaloPropagator::getCrossTkPropagator
const Propagator * getCrossTkPropagator() const
return the propagator used to cross the tracker
Definition: BeamHaloPropagator.cc:106
BeamHaloPropagator::setPropagationDirection
void setPropagationDirection(PropagationDirection dir) override
Definition: BeamHaloPropagator.h:51
BeamHaloPropagator
Definition: BeamHaloPropagator.h:24
BeamHaloPropagator::theField
const MagneticField * theField
Definition: BeamHaloPropagator.h:82
BeamHaloPropagator::BeamHaloPropagator
BeamHaloPropagator(const Propagator *aEndCapTkProp, const Propagator *aCrossTkProp, const MagneticField *field, PropagationDirection dir=alongMomentum)
Defines which propagator is used inside endcap and in barrel.
Definition: BeamHaloPropagator.cc:50
Propagator
Definition: Propagator.h:44
Propagator::propagationDirection
virtual PropagationDirection propagationDirection() const final
Definition: Propagator.h:139
Propagator::setPropagationDirection
virtual void setPropagationDirection(PropagationDirection dir)
Definition: Propagator.h:130
BeamHaloPropagator::theCrossTkProp
Propagator * theCrossTkProp
Definition: BeamHaloPropagator.h:81
BeamHaloPropagator::clone
BeamHaloPropagator * clone() const override
Virtual constructor (using copy c'tor)
Definition: BeamHaloPropagator.h:46
BeamHaloPropagator::magneticField
const MagneticField * magneticField() const override
return the magneticField
Definition: BeamHaloPropagator.h:75
MagneticField.h
Propagator::propagate
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
Definition: Propagator.h:50
PropagationDirection.h
ReferenceCounted.h
BeamHaloPropagator::propagateWithPath
std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &fts, const Plane &plane) const override
Definition: BeamHaloPropagator.cc:87
BeamHaloPropagator::getEndCapTkPropagator
const Propagator * getEndCapTkPropagator() const
return the propagator used in endcaps
Definition: BeamHaloPropagator.cc:101
FreeTrajectoryState
Definition: FreeTrajectoryState.h:27
PropagationDirection
PropagationDirection
Definition: PropagationDirection.h:4
Plane
Definition: Plane.h:16
Propagator::propagateWithPath
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &, const Surface &) const final
Definition: Propagator.cc:10
BeamHaloPropagator::theEndCapTkProp
Propagator * theEndCapTkProp
Definition: BeamHaloPropagator.h:80
Cylinder
Definition: Cylinder.h:19
MagneticField
Definition: MagneticField.h:19
alongMomentum
Definition: PropagationDirection.h:4
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23
BeamHaloPropagator::directionCheck
void directionCheck(PropagationDirection dir)
Definition: BeamHaloPropagator.cc:31