ATLAS Offline Software
ForwardTracker/ForwardTracker/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 FORWARDTRACKER_IBEAMELEMENT_H
6 #define FORWARDTRACKER_IBEAMELEMENT_H
7 
9 
10 #include <memory>
11 
12 #include <string>
13 #include <vector>
14 #include <list>
15 #include <iosfwd>
16 
17 namespace ForwardTracker {
18 
19  class IParticle;
20  class Point;
21 
22  class IBeamElement {
23 
24  public:
25 
26  virtual ~IBeamElement() {};
27 
28  virtual std::string label() const = 0;
29  virtual Side side() const = 0;
30  virtual double frontFace() const = 0;
31  virtual double rearFace() const = 0;
32  virtual Point position() const = 0;
33  virtual bool isEndElement() const = 0;
34 
35  virtual void track(IParticle&) const = 0;
36 
37  virtual std::shared_ptr<const IBeamElement> clone() const = 0;
38 
39  typedef std::shared_ptr<const IBeamElement> ConstPtr_t;
40  typedef std::vector<ConstPtr_t> Container_t;
42  typedef Container_t::const_iterator ConstIter_t;
43  typedef std::list<ConstPtr_t> List_t;
45  typedef List_t::const_iterator ConstListIter_t;
46 
47  virtual std::string str() const = 0;
48  };
49 
50  std::ostream& operator<<(std::ostream& os, const IBeamElement& be);
51 }
52 
53 #endif
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
ForwardTracker::IBeamElement::track
virtual void track(IParticle &) const =0
ForwardTracker::IBeamElement::position
virtual Point position() const =0
ForwardTracker::IBeamElement::side
virtual Side side() const =0
ForwardTracker::IBeamElement::clone
virtual std::shared_ptr< const IBeamElement > clone() const =0
ForwardTracker::IBeamElement::Container_t
std::vector< ConstPtr_t > Container_t
Definition: ForwardTracker/ForwardTracker/IBeamElement.h:40
ForwardTracker::IBeamElement::str
virtual std::string str() const =0
ForwardTracker::IBeamElement::isEndElement
virtual bool isEndElement() const =0
ForwardTracker::IBeamElement::ConstPtr_t
std::shared_ptr< const IBeamElement > ConstPtr_t
Definition: ForwardTracker/ForwardTracker/IBeamElement.h:39
ForwardTracker::Point
Definition: ForwardTracker/ForwardTracker/Point.h:15
ForwardTracker::IBeamElement::ConstListIter_t
List_t::const_iterator ConstListIter_t
Definition: ForwardTracker/ForwardTracker/IBeamElement.h:45
ForwardTracker::operator<<
std::ostream & operator<<(std::ostream &, const Beamline &)
Definition: ForwardTracker/src/Beamline.cxx:105
ForwardTracker::IBeamElement::label
virtual std::string label() const =0
ForwardTracker::IBeamElement::ConstIter_t
Container_t::const_iterator ConstIter_t
Definition: ForwardTracker/ForwardTracker/IBeamElement.h:42
Side
Definition: WaferTree.h:36
ForwardTracker::IBeamElement::List_t
std::list< ConstPtr_t > List_t
Definition: ForwardTracker/ForwardTracker/IBeamElement.h:43
ForwardTracker::IParticle
Definition: ForwardDetectors/ForwardTracker/ForwardTracker/IParticle.h:16
ForwardTracker::IBeamElement::frontFace
virtual double frontFace() const =0
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
ForwardTracker::IBeamElement::Iter_t
Container_t::iterator Iter_t
Definition: ForwardTracker/ForwardTracker/IBeamElement.h:41
ChargedTracksWeightFilter::Spline::Point
Linear spline representation of a function used to calculate weights.
Definition: ChargedTracksWeightFilter.h:28
ForwardTracker::IBeamElement::rearFace
virtual double rearFace() const =0
ForwardTracker::IBeamElement::~IBeamElement
virtual ~IBeamElement()
Definition: ForwardTracker/ForwardTracker/IBeamElement.h:26
ForwardTrackerConstants.h
ForwardTracker::IBeamElement::ListIter_t
List_t::iterator ListIter_t
Definition: ForwardTracker/ForwardTracker/IBeamElement.h:44
ForwardTracker::IBeamElement
Definition: ForwardTracker/ForwardTracker/IBeamElement.h:22
IParticle
Definition: Event/EventKernel/EventKernel/IParticle.h:43
PlotCalibFromCool.be
be
Definition: PlotCalibFromCool.py:398
ForwardTracker
Definition: ForwardTracker/ForwardTracker/Beamline.h:12