ATLAS Offline Software
Loading...
Searching...
No Matches
ISF::IGeoIDSvc Class Referenceabstract

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

#include <IGeoIDSvc.h>

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

Public Member Functions

virtual ~IGeoIDSvc ()
 Virtual destructor.
 DeclareInterfaceID (IGeoIDSvc, 1, 0)
 Creates the InterfaceID and interfaceID() method.
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.
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.
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.
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.

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 ,
1 ,
0  )

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 }
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...
AtlasRegion
A simple enum of ATLAS regions and sub-detectors.
Definition AtlasRegion.h:21

◆ 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 }
static Double_t sp
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...

◆ 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 }
#define y
#define x
#define z
Eigen::Matrix< double, 3, 1 > Vector3D

◆ 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 }
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.

◆ 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: