ATLAS Offline Software
Loading...
Searching...
No Matches
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
12namespace 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;
43 double m_rearFace;
45 };
46
47 std::ostream& operator<<(std::ostream&, const Plane&);
48}
49
50#endif
std::shared_ptr< const IBeamElement > ConstPtr_t
IBeamElement::ConstPtr_t clone() const
std::shared_ptr< const Plane > ConstPtr_t
void track(IParticle &) const
std::ostream & operator<<(std::ostream &, const Beamline &)