ATLAS Offline Software
Loading...
Searching...
No Matches
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
15namespace 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
std::shared_ptr< const IBeamElement > ConstPtr_t
static const std::string s_label
std::string str() const
void calibrate(IParticle &)
std::vector< ConstPtr_t > Container_t
double zsignedpos() const
std::shared_ptr< const Plane > ConstPtr_t
void track(IParticle &) const
IBeamElement::ConstPtr_t clone() const
std::string label() const
std::ostream & operator<<(std::ostream &os, const Beamline &bl)