ATLAS Offline Software
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 
17 namespace FPTracker{
18  class IParticle;
19  class Point;
20 
21 
22 
23  class IBeamElement{
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;
45  typedef Container_t::const_iterator ConstIter_t;
46 
47  typedef std::list< Ptr_t > List_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
FPTracker::IBeamElement::zabspos
virtual double zabspos() const =0
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
FPTracker::IBeamElement
Definition: FPTracker/FPTracker/IBeamElement.h:23
FPTracker::IBeamElement::Container_t
std::vector< Ptr_t > Container_t
Definition: FPTracker/FPTracker/IBeamElement.h:43
FPTracker::IBeamElement::~IBeamElement
virtual ~IBeamElement()
Definition: FPTracker/src/IBeamElement.cxx:8
FPTracker::operator<<
std::ostream & operator<<(std::ostream &os, const Beamline &bl)
Definition: FPTracker/src/Beamline.cxx:163
FPTracker::IBeamElement::List_t
std::list< Ptr_t > List_t
Definition: FPTracker/FPTracker/IBeamElement.h:47
FPTracker::IBeamElement::position
virtual Point position() const =0
FPTracker::IBeamElement::track
virtual void track(IParticle &) const =0
FPTracker::IBeamElement::frontFace
virtual double frontFace() const =0
FPTracker::IBeamElement::clone
virtual std::shared_ptr< const IBeamElement > clone() const =0
FPTracker::IBeamElement::rearFace
virtual double rearFace() const =0
FPTracker::IBeamElement::calibrate
virtual void calibrate(IParticle &)=0
FPTracker::IBeamElement::Iter_t
Container_t::iterator Iter_t
Definition: FPTracker/FPTracker/IBeamElement.h:44
FPTrackerConstants.h
FPTracker::IBeamElement::ConstPtr_t
std::shared_ptr< const IBeamElement > ConstPtr_t
Definition: FPTracker/FPTracker/IBeamElement.h:40
Side
Definition: WaferTree.h:36
FPTracker::IBeamElement::isEndElement
virtual bool isEndElement() const =0
FPTracker::IBeamElement::label
virtual std::string label() const =0
ChargedTracksWeightFilter::Spline::Point
Linear spline representation of a function used to calculate weights.
Definition: ChargedTracksWeightFilter.h:28
FPTracker::Point
Definition: FPTracker/FPTracker/Point.h:14
FPTracker::IBeamElement::ListIter_t
List_t::iterator ListIter_t
Definition: FPTracker/FPTracker/IBeamElement.h:48
FPTracker::IBeamElement::str
virtual std::string str() const =0
FPTracker::IBeamElement::Ptr_t
std::shared_ptr< IBeamElement > Ptr_t
Definition: FPTracker/FPTracker/IBeamElement.h:41
FPTracker::IBeamElement::ConstListIter_t
List_t::const_iterator ConstListIter_t
Definition: FPTracker/FPTracker/IBeamElement.h:49
FPTracker
Definition: FPTracker/FPTracker/Beamline.h:12
FPTracker::IBeamElement::side
virtual Side side() const =0
FPTracker::IBeamElement::ConstIter_t
Container_t::const_iterator ConstIter_t
Definition: FPTracker/FPTracker/IBeamElement.h:45
FPTracker::IParticle
Definition: ForwardDetectors/FPTracker/FPTracker/IParticle.h:17
FPTracker::IBeamElement::zsignedpos
virtual double zsignedpos() const =0
IParticle
Definition: Event/EventKernel/EventKernel/IParticle.h:43