ATLAS Offline Software
ForwardTracker/ForwardTracker/Plane.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 FORWARDTRACKER_PLANE_H
6 #define FORWARDTRACKER_PLANE_H
7 
9 #include "IBeamElement.h"
10 #include "Point.h"
11 
12 namespace ForwardTracker {
13 
14  class IParticle;
15 
16  class Plane: public IBeamElement {
17 
18  public:
19 
20  Plane(double, Side);
21 
22  IBeamElement::ConstPtr_t clone() const { IBeamElement::ConstPtr_t pbe(new Plane(*this)); return pbe; }
23 
24  std::string label() const { return m_label; }
25  Side side() const { return m_side; }
26  double frontFace() const { return m_frontFace; }
27  double rearFace() const { return m_rearFace; }
28  Point position() const { return m_position; }
29  bool isEndElement() const { return true; }
30 
31  void track(IParticle&) const;
32 
33  typedef std::shared_ptr<const Plane> ConstPtr_t;
34  typedef std::vector<ConstPtr_t> Container_t;
35 
36  std::string str() const;
37 
38  private:
39 
40  std::string m_label;
42  double m_frontFace;
43  double m_rearFace;
45  };
46 
47  std::ostream& operator<<(std::ostream&, const Plane&);
48 }
49 
50 #endif
ForwardTracker::Plane::m_rearFace
double m_rearFace
Definition: ForwardTracker/ForwardTracker/Plane.h:43
ForwardTracker::Plane::Container_t
std::vector< ConstPtr_t > Container_t
Definition: ForwardTracker/ForwardTracker/Plane.h:34
ForwardTracker::Plane::m_label
std::string m_label
Definition: ForwardTracker/ForwardTracker/Plane.h:40
ForwardTracker::Plane::isEndElement
bool isEndElement() const
Definition: ForwardTracker/ForwardTracker/Plane.h:29
ForwardTracker::IBeamElement::ConstPtr_t
std::shared_ptr< const IBeamElement > ConstPtr_t
Definition: ForwardTracker/ForwardTracker/IBeamElement.h:39
ForwardTracker::Plane::Plane
Plane(double, Side)
Definition: ForwardTracker/src/Plane.cxx:12
Point.h
ForwardTracker::Plane::m_side
Side m_side
Definition: ForwardTracker/ForwardTracker/Plane.h:41
ForwardTracker::Point
Definition: ForwardTracker/ForwardTracker/Point.h:15
ForwardTracker::operator<<
std::ostream & operator<<(std::ostream &, const Beamline &)
Definition: ForwardTracker/src/Beamline.cxx:105
ForwardTracker::Plane::rearFace
double rearFace() const
Definition: ForwardTracker/ForwardTracker/Plane.h:27
ForwardTracker::Plane
Definition: ForwardTracker/ForwardTracker/Plane.h:16
ForwardTracker::Plane::m_position
Point m_position
Definition: ForwardTracker/ForwardTracker/Plane.h:44
ForwardTracker::Plane::label
std::string label() const
Definition: ForwardTracker/ForwardTracker/Plane.h:24
Side
Definition: WaferTree.h:36
ForwardTracker::Plane::clone
IBeamElement::ConstPtr_t clone() const
Definition: ForwardTracker/ForwardTracker/Plane.h:22
ForwardTracker::Plane::ConstPtr_t
std::shared_ptr< const Plane > ConstPtr_t
Definition: ForwardTracker/ForwardTracker/Plane.h:33
ForwardTracker::IParticle
Definition: ForwardDetectors/ForwardTracker/ForwardTracker/IParticle.h:16
ForwardTracker::Plane::m_frontFace
double m_frontFace
Definition: ForwardTracker/ForwardTracker/Plane.h:42
ForwardTracker::Plane::side
Side side() const
Definition: ForwardTracker/ForwardTracker/Plane.h:25
ForwardTracker::Plane::position
Point position() const
Definition: ForwardTracker/ForwardTracker/Plane.h:28
ForwardTracker::Plane::track
void track(IParticle &) const
Definition: ForwardTracker/src/Plane.cxx:22
ForwardTracker::Plane::frontFace
double frontFace() const
Definition: ForwardTracker/ForwardTracker/Plane.h:26
IBeamElement.h
ForwardTrackerConstants.h
ForwardTracker::Plane::str
std::string str() const
Definition: ForwardTracker/src/Plane.cxx:31
ForwardTracker::IBeamElement
Definition: ForwardTracker/ForwardTracker/IBeamElement.h:22
IParticle
Definition: Event/EventKernel/EventKernel/IParticle.h:43
ForwardTracker
Definition: ForwardTracker/ForwardTracker/Beamline.h:12