ATLAS Offline Software
Loading...
Searching...
No Matches
FPTracker/FPTracker/IBeamElement.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_IBEAMELEMENT_H
6#define FPTRACKER_IBEAMELEMENT_H
7
8
10#include <memory>
11
12#include <string>
13#include <vector>
14#include <list>
15#include <iosfwd>
16
17namespace FPTracker{
18 class IParticle;
19 class Point;
20
21
22
24 public:
25 virtual ~IBeamElement();
26 virtual double frontFace() const = 0;
27 virtual double rearFace() const = 0;
28 virtual double zsignedpos() const = 0;
29 virtual double zabspos() const = 0;
30 virtual Point position() const = 0;
31 virtual Side side() const = 0;
32 virtual std::string label() const = 0;
33 virtual bool isEndElement() const = 0;
34 virtual void track(IParticle&) const = 0;
35 virtual void calibrate(IParticle&) = 0;
36 virtual std::string str() const = 0;
37
38 virtual std::shared_ptr< const IBeamElement > clone() const = 0;
39
40 typedef std::shared_ptr< const IBeamElement > ConstPtr_t;
41 typedef std::shared_ptr< IBeamElement > Ptr_t;
42
43 typedef std::vector< Ptr_t > Container_t;
44 typedef Container_t::iterator Iter_t;
45 typedef Container_t::const_iterator ConstIter_t;
46
47 typedef std::list< Ptr_t > List_t;
48 typedef List_t::iterator ListIter_t;
49 typedef List_t::const_iterator ConstListIter_t;
50 };
51
52
53
54
55
56 std::ostream& operator<<(std::ostream&, const IBeamElement&);
57}
58#endif
virtual void calibrate(IParticle &)=0
virtual void track(IParticle &) const =0
std::shared_ptr< const IBeamElement > ConstPtr_t
virtual double rearFace() const =0
virtual double zsignedpos() const =0
virtual std::shared_ptr< const IBeamElement > clone() const =0
std::shared_ptr< IBeamElement > Ptr_t
virtual double frontFace() const =0
Container_t::const_iterator ConstIter_t
virtual bool isEndElement() const =0
virtual double zabspos() const =0
virtual Point position() const =0
virtual std::string str() const =0
virtual Side side() const =0
virtual std::string label() const =0
std::ostream & operator<<(std::ostream &os, const Beamline &bl)