ATLAS Offline Software
FPTracker/FPTracker/Plane.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef FPTRACKER_PLANE_H
6 #define FPTRACKER_PLANE_H
7 
8 #include "IBeamElement.h"
9 #include "Point.h"
10 #include "FPTrackerConstants.h"
11 #include <memory>
12 #include <string>
13 #include <vector>
14 
15 namespace FPTracker{
16  class Magnet;
17  class IParticle;
18 
19  class Plane:public IBeamElement{
20  public:
21  Plane(double, Side);
22 
24  double frontFace() const;
25  double rearFace() const;
26  double zabspos() const;
27  double zsignedpos() const;
28  Side side() const;
29  Point position() const;
30 
31  std::string label() const;
32  std::string str() const;
33 
34  bool isEndElement() const;
35  void track(IParticle&) const;
36  void calibrate(IParticle&);
37 
38  typedef std::shared_ptr< const Plane > ConstPtr_t;
39  typedef std::vector< ConstPtr_t > Container_t;
40 
41 
42 
43  private:
44 
45  static const std::string s_label;
48  };
49 
50 
51  std::ostream& operator<<(std::ostream&, const Plane&);
52 }
53 #endif
FPTracker::IBeamElement
Definition: FPTracker/FPTracker/IBeamElement.h:23
FPTracker::operator<<
std::ostream & operator<<(std::ostream &os, const Beamline &bl)
Definition: FPTracker/src/Beamline.cxx:163
FPTracker::Plane::Plane
Plane(double, Side)
Definition: FPTracker/src/Plane.cxx:18
FPTracker::Plane::m_position
Point m_position
Definition: FPTracker/FPTracker/Plane.h:46
FPTracker::Plane::track
void track(IParticle &) const
Definition: FPTracker/src/Plane.cxx:41
FPTracker::Plane::Container_t
std::vector< ConstPtr_t > Container_t
Definition: FPTracker/FPTracker/Plane.h:39
FPTracker::Plane::zsignedpos
double zsignedpos() const
Definition: FPTracker/src/Plane.cxx:36
Point.h
FPTracker::Plane::str
std::string str() const
Definition: FPTracker/src/Plane.cxx:56
FPTracker::Plane::isEndElement
bool isEndElement() const
Definition: FPTracker/src/Plane.cxx:64
FPTracker::Plane::calibrate
void calibrate(IParticle &)
Definition: FPTracker/src/Plane.cxx:51
FPTracker::Plane::zabspos
double zabspos() const
Definition: FPTracker/src/Plane.cxx:35
FPTracker::Plane::rearFace
double rearFace() const
Definition: FPTracker/src/Plane.cxx:34
FPTracker::Plane::s_label
static const std::string s_label
Definition: FPTracker/FPTracker/Plane.h:45
FPTrackerConstants.h
FPTracker::Plane::position
Point position() const
Definition: FPTracker/src/Plane.cxx:37
FPTracker::Plane::clone
IBeamElement::ConstPtr_t clone() const
Definition: FPTracker/src/Plane.cxx:28
FPTracker::IBeamElement::ConstPtr_t
std::shared_ptr< const IBeamElement > ConstPtr_t
Definition: FPTracker/FPTracker/IBeamElement.h:40
FPTracker::Plane::label
std::string label() const
Definition: FPTracker/src/Plane.cxx:15
Side
Definition: WaferTree.h:36
FPTracker::Plane
Definition: FPTracker/FPTracker/Plane.h:19
FPTracker::Point
Definition: FPTracker/FPTracker/Point.h:14
FPTracker::Plane::ConstPtr_t
std::shared_ptr< const Plane > ConstPtr_t
Definition: FPTracker/FPTracker/Plane.h:38
IBeamElement.h
FPTracker::Plane::frontFace
double frontFace() const
Definition: FPTracker/src/Plane.cxx:33
FPTracker::Plane::m_side
Side m_side
Definition: FPTracker/FPTracker/Plane.h:47
FPTracker::Plane::side
Side side() const
Definition: FPTracker/src/Plane.cxx:38
FPTracker
Definition: FPTracker/FPTracker/Beamline.h:12
FPTracker::IParticle
Definition: ForwardDetectors/FPTracker/FPTracker/IParticle.h:17
IParticle
Definition: Event/EventKernel/EventKernel/IParticle.h:43