ATLAS Offline Software
ForwardDetectors/ForwardTracker/ForwardTracker/IParticle.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_IPARTICLE_H
6 #define FORWARDTRACKER_IPARTICLE_H
7 
8 #include <string>
9 
10 namespace ForwardTracker {
11 
12  class IBeamElement;
13  class Point;
14  class TransversePoint;
15 
16  class IParticle {
17 
18  public:
19 
20  virtual ~IParticle() {};
21 
22  virtual Point position() const = 0;
23  virtual Point& position() = 0;
24  virtual Point positionRelBeam() const = 0;
25  virtual Point direction() const = 0;
26  virtual Point& direction() = 0;
27  virtual TransversePoint displacement() const = 0;
28  virtual TransversePoint transversePosition() const = 0;
29  virtual double z() const = 0;
30  virtual double& z() = 0;
31  virtual double momentum() const = 0;
32  virtual bool charged() const = 0;
33  virtual bool isOutOfAperture() const = 0;
34  virtual bool debug() const = 0;
35 
37  virtual void setBeamCoordinateShift (const TransversePoint&) = 0;
38  virtual void setBeamCoordinateShift (const IBeamElement*) = 0;
39  virtual void setOutOfAperture (bool) = 0;
40  virtual void setDebug (bool) = 0;
41  virtual void addMsg (const std::string&) = 0;
42 
43  virtual std::string str() const = 0;
44 
45  // Helper to work around cppcheck false positive.
46  Point& direction_nc() { return direction(); }
47  };
48 
49  std::ostream& operator<<(std::ostream&, const IParticle&);
50 }
51 
52 #endif
ForwardTracker::IParticle::updatePositionFromDisplacement
virtual void updatePositionFromDisplacement(const TransversePoint &)=0
ForwardTracker::IParticle::setDebug
virtual void setDebug(bool)=0
ForwardTracker::IParticle::setBeamCoordinateShift
virtual void setBeamCoordinateShift(const TransversePoint &)=0
ForwardTracker::IParticle::transversePosition
virtual TransversePoint transversePosition() const =0
ForwardTracker::IParticle::setBeamCoordinateShift
virtual void setBeamCoordinateShift(const IBeamElement *)=0
ForwardTracker::IParticle::momentum
virtual double momentum() const =0
ForwardTracker::IParticle::addMsg
virtual void addMsg(const std::string &)=0
ForwardTracker::IParticle::displacement
virtual TransversePoint displacement() const =0
ForwardTracker::IParticle::z
virtual double & z()=0
ForwardTracker::Point
Definition: ForwardTracker/ForwardTracker/Point.h:15
ForwardTracker::operator<<
std::ostream & operator<<(std::ostream &, const Beamline &)
Definition: ForwardTracker/src/Beamline.cxx:105
ForwardTracker::IParticle::z
virtual double z() const =0
ForwardTracker::IParticle::positionRelBeam
virtual Point positionRelBeam() const =0
ForwardTracker::IParticle::charged
virtual bool charged() const =0
ForwardTracker::IParticle::direction_nc
Point & direction_nc()
Definition: ForwardDetectors/ForwardTracker/ForwardTracker/IParticle.h:46
ForwardTracker::IParticle::direction
virtual Point direction() const =0
ForwardTracker::TransversePoint
Definition: ForwardTracker/ForwardTracker/TransversePoint.h:13
ForwardTracker::IParticle::position
virtual Point & position()=0
ForwardTracker::IParticle
Definition: ForwardDetectors/ForwardTracker/ForwardTracker/IParticle.h:16
ForwardTracker::IParticle::~IParticle
virtual ~IParticle()
Definition: ForwardDetectors/ForwardTracker/ForwardTracker/IParticle.h:20
ForwardTracker::IParticle::str
virtual std::string str() const =0
ChargedTracksWeightFilter::Spline::Point
Linear spline representation of a function used to calculate weights.
Definition: ChargedTracksWeightFilter.h:28
ForwardTracker::IParticle::debug
virtual bool debug() const =0
ForwardTracker::IParticle::direction
virtual Point & direction()=0
ForwardTracker::IParticle::isOutOfAperture
virtual bool isOutOfAperture() const =0
ForwardTracker::IBeamElement
Definition: ForwardTracker/ForwardTracker/IBeamElement.h:22
IParticle
Definition: Event/EventKernel/EventKernel/IParticle.h:43
ForwardTracker
Definition: ForwardTracker/ForwardTracker/Beamline.h:12
ForwardTracker::IParticle::setOutOfAperture
virtual void setOutOfAperture(bool)=0
ForwardTracker::IParticle::position
virtual Point position() const =0