ATLAS Offline Software
Public Member Functions | List of all members
ISF::IGeoIDSvc Class Referenceabstract

#include <IGeoIDSvc.h>

Inheritance diagram for ISF::IGeoIDSvc:
Collaboration diagram for ISF::IGeoIDSvc:

Public Member Functions

virtual ~IGeoIDSvc ()
 Virtual destructor. More...
 
 DeclareInterfaceID (IGeoIDSvc, 1, 0)
 Creates the InterfaceID and interfaceID() method. More...
 
virtual ISF::InsideType inside (const Amg::Vector3D &pos, AtlasDetDescr::AtlasRegion geoID) const =0
 Checks if the given position (ISFParticle) is inside/outside/onsurface a given AtlasRegion. More...
 
ISF::InsideType inside (const ISFParticle &sp, AtlasDetDescr::AtlasRegion geoID) const
 
ISF::InsideType inside (double x, double y, double z, AtlasDetDescr::AtlasRegion geoID) const
 
virtual AtlasDetDescr::AtlasRegion identifyGeoID (const Amg::Vector3D &pos) const =0
 A static filter that returns the AtlasRegion of the given ISFParticle (position) -> returns ISF::fUndefinedGeoID if particle is on surface. More...
 
AtlasDetDescr::AtlasRegion identifyGeoID (const ISFParticle &sp) const
 
AtlasDetDescr::AtlasRegion identifyGeoID (double x, double y, double z) const
 
virtual AtlasDetDescr::AtlasRegion identifyNextGeoID (const Amg::Vector3D &pos, const Amg::Vector3D &dir) const =0
 Find the AtlasRegion that the particle will enter with its next infinitesimal step along the given direction. More...
 
AtlasDetDescr::AtlasRegion identifyNextGeoID (const ISFParticle &sp) const
 
AtlasDetDescr::AtlasRegion identifyNextGeoID (double x, double y, double z, double dx, double dy, double dz) const
 
AtlasDetDescr::AtlasRegion identifyAndRegNextGeoID (ISFParticle &sp) const
 Find the AtlasRegion that the particle will enter with its next infinitesimal step along the given direction, and register this geoID to the particle. More...
 

Detailed Description

The interface to chose between the sub geometry services, realized as an AlgTool since it does not have to be dynamically created

The IGeoIDSvc registers the nextGeoSvcID to the ISFParticle.

Author
Andreas.Salzburger -at- cern.ch , Elmar.Ritsch -at- cern.ch

Definition at line 41 of file IGeoIDSvc.h.

Constructor & Destructor Documentation

◆ ~IGeoIDSvc()

virtual ISF::IGeoIDSvc::~IGeoIDSvc ( )
inlinevirtual

Virtual destructor.

Definition at line 45 of file IGeoIDSvc.h.

45 {}

Member Function Documentation

◆ DeclareInterfaceID()

ISF::IGeoIDSvc::DeclareInterfaceID ( IGeoIDSvc  ,
,
 
)

Creates the InterfaceID and interfaceID() method.

◆ identifyAndRegNextGeoID()

AtlasDetDescr::AtlasRegion ISF::IGeoIDSvc::identifyAndRegNextGeoID ( ISFParticle sp) const
inline

Find the AtlasRegion that the particle will enter with its next infinitesimal step along the given direction, and register this geoID to the particle.

Definition at line 106 of file IGeoIDSvc.h.

106  {
107  AtlasDetDescr::AtlasRegion geoID = identifyNextGeoID( part.position(), part.momentum());
108  part.setNextGeoID(geoID);
109  return geoID;
110  }

◆ identifyGeoID() [1/3]

virtual AtlasDetDescr::AtlasRegion ISF::IGeoIDSvc::identifyGeoID ( const Amg::Vector3D pos) const
pure virtual

A static filter that returns the AtlasRegion of the given ISFParticle (position) -> returns ISF::fUndefinedGeoID if particle is on surface.

◆ identifyGeoID() [2/3]

AtlasDetDescr::AtlasRegion ISF::IGeoIDSvc::identifyGeoID ( const ISFParticle sp) const
inline

Definition at line 86 of file IGeoIDSvc.h.

86  {
87  return identifyGeoID( sp.position());
88  }

◆ identifyGeoID() [3/3]

AtlasDetDescr::AtlasRegion ISF::IGeoIDSvc::identifyGeoID ( double  x,
double  y,
double  z 
) const
inline

Definition at line 89 of file IGeoIDSvc.h.

89  {
90  const Amg::Vector3D pos(x, y, z);
91  return identifyGeoID( pos);
92  }

◆ identifyNextGeoID() [1/3]

virtual AtlasDetDescr::AtlasRegion ISF::IGeoIDSvc::identifyNextGeoID ( const Amg::Vector3D pos,
const Amg::Vector3D dir 
) const
pure virtual

Find the AtlasRegion that the particle will enter with its next infinitesimal step along the given direction.

◆ identifyNextGeoID() [2/3]

AtlasDetDescr::AtlasRegion ISF::IGeoIDSvc::identifyNextGeoID ( const ISFParticle sp) const
inline

Definition at line 95 of file IGeoIDSvc.h.

95  {
96  return identifyNextGeoID( sp.position(), sp.momentum());
97  }

◆ identifyNextGeoID() [3/3]

AtlasDetDescr::AtlasRegion ISF::IGeoIDSvc::identifyNextGeoID ( double  x,
double  y,
double  z,
double  dx,
double  dy,
double  dz 
) const
inline

Definition at line 98 of file IGeoIDSvc.h.

99  {
100  const Amg::Vector3D pos(x, y, z);
101  const Amg::Vector3D dir(dx, dy, dz);
102  return identifyNextGeoID( pos, dir);
103  }

◆ inside() [1/3]

virtual ISF::InsideType ISF::IGeoIDSvc::inside ( const Amg::Vector3D pos,
AtlasDetDescr::AtlasRegion  geoID 
) const
pure virtual

Checks if the given position (ISFParticle) is inside/outside/onsurface a given AtlasRegion.

◆ inside() [2/3]

ISF::InsideType ISF::IGeoIDSvc::inside ( const ISFParticle sp,
AtlasDetDescr::AtlasRegion  geoID 
) const
inline

Definition at line 77 of file IGeoIDSvc.h.

77  {
78  return inside( sp.position(), geoID);
79  }

◆ inside() [3/3]

ISF::InsideType ISF::IGeoIDSvc::inside ( double  x,
double  y,
double  z,
AtlasDetDescr::AtlasRegion  geoID 
) const
inline

Definition at line 80 of file IGeoIDSvc.h.

80  {
81  const Amg::Vector3D pos(x, y, z);
82  return inside( pos, geoID);
83  }

The documentation for this class was generated from the following file:
LArG4FSStartPointFilter.part
part
Definition: LArG4FSStartPointFilter.py:21
AtlasDetDescr::AtlasRegion
AtlasRegion
Definition: AtlasRegion.h:27
ISF::IGeoIDSvc::inside
virtual ISF::InsideType inside(const Amg::Vector3D &pos, AtlasDetDescr::AtlasRegion geoID) const =0
Checks if the given position (ISFParticle) is inside/outside/onsurface a given AtlasRegion.
x
#define x
z
#define z
beamspotman.dir
string dir
Definition: beamspotman.py:623
ISF::IGeoIDSvc::identifyNextGeoID
virtual AtlasDetDescr::AtlasRegion identifyNextGeoID(const Amg::Vector3D &pos, const Amg::Vector3D &dir) const =0
Find the AtlasRegion that the particle will enter with its next infinitesimal step along the given di...
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
makeTRTBarrelCans.dy
tuple dy
Definition: makeTRTBarrelCans.py:21
y
#define y
ISF::IGeoIDSvc::identifyGeoID
virtual AtlasDetDescr::AtlasRegion identifyGeoID(const Amg::Vector3D &pos) const =0
A static filter that returns the AtlasRegion of the given ISFParticle (position) -> returns ISF::fUnd...
makeTRTBarrelCans.dx
tuple dx
Definition: makeTRTBarrelCans.py:20