ATLAS Offline Software
MuonSystemExtension.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUON_MUONSYSTEMEXTENSION_H
6 #define MUON_MUONSYSTEMEXTENSION_H
7 
8 #include <vector>
9 
12 
13 namespace Muon {
14 
19  public:
21  struct Intersection {
22  Intersection()= default;
23  Intersection(std::shared_ptr<const Trk::TrackParameters> trackParameters_, const MuonLayerSurface& layerSurface_) :
24  trackParameters(trackParameters_), layerSurface(layerSurface_) {}
25 
26  std::shared_ptr<const Trk::TrackParameters> trackParameters;
28  };
29 
34  MuonSystemExtension(const Trk::TrackParameters* muonEntry, std::vector<Intersection>&& intersections);
35 
38 
41 
45  const std::vector<Intersection>& layerIntersections() const;
46 
47  private:
51 
53  MuonSystemExtension() = delete;
54 
57  std::vector<Intersection> m_layerIntersections;
58  };
59 
61 
62  inline const std::vector<MuonSystemExtension::Intersection>& MuonSystemExtension::layerIntersections() const {
63  return m_layerIntersections;
64  }
65 
66 } // namespace Muon
67 
68 #endif
Muon::MuonSystemExtension::MuonSystemExtension
MuonSystemExtension()=delete
no default constructor
TrackParameters.h
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
MuonLayerSurface.h
Muon::MuonSystemExtension::muonEntryLayerIntersection
const Trk::TrackParameters & muonEntryLayerIntersection() const
access to intersection with the muon entry layer
Definition: MuonSystemExtension.h:60
Muon::MuonSystemExtension::Intersection::trackParameters
std::shared_ptr< const Trk::TrackParameters > trackParameters
Definition: MuonSystemExtension.h:26
Muon::MuonSystemExtension::~MuonSystemExtension
~MuonSystemExtension()
destructor
Muon::MuonLayerSurface
types
Definition: MuonLayerSurface.h:15
Muon::MuonSystemExtension
Tracking class to hold the extrapolation from a particle from the calo entry to the end of muon syste...
Definition: MuonSystemExtension.h:18
Muon::MuonSystemExtension::MuonSystemExtension
MuonSystemExtension(const MuonSystemExtension &)=delete
Trk::ParametersBase
Definition: ParametersBase.h:55
Muon::MuonSystemExtension::Intersection::Intersection
Intersection()=default
Muon::MuonSystemExtension::Intersection::Intersection
Intersection(std::shared_ptr< const Trk::TrackParameters > trackParameters_, const MuonLayerSurface &layerSurface_)
Definition: MuonSystemExtension.h:23
Muon::MuonSystemExtension::m_muonEntryLayerIntersection
const Trk::TrackParameters * m_muonEntryLayerIntersection
data members
Definition: MuonSystemExtension.h:56
Muon::MuonSystemExtension::m_layerIntersections
std::vector< Intersection > m_layerIntersections
parameters at the muon entrance
Definition: MuonSystemExtension.h:57
Muon::MuonSystemExtension::layerIntersections
const std::vector< Intersection > & layerIntersections() const
access to the intersections with the layers.
Definition: MuonSystemExtension.h:62
Muon::MuonSystemExtension::operator=
MuonSystemExtension & operator=(const MuonSystemExtension &)=delete
no copying nor assignment allow, use shared pointers instead
Muon::MuonSystemExtension::Intersection
data per intersection
Definition: MuonSystemExtension.h:21
Muon::MuonSystemExtension::Intersection::layerSurface
MuonLayerSurface layerSurface
Definition: MuonSystemExtension.h:27