ATLAS Offline Software
Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Static Private Attributes | List of all members
MuonCalib::MuonCalibSimpleHoleSearch Class Reference

#include <MuonCalibSimpleHoleSearch.h>

Collaboration diagram for MuonCalib::MuonCalibSimpleHoleSearch:

Classes

struct  Result
 

Public Types

typedef std::vector< ResultResultVec
 
typedef ResultVec::iterator ResultIt
 

Public Member Functions

 MuonCalibSimpleHoleSearch ()
 
ResultVec intersectsWithGeometry (const Amg::Vector3D &parPos, const Amg::Vector3D &parDir, double tolerance=1e9)
 

Private Types

typedef std::vector< std::pair< const MuonCalibSurface *, MuonFixedId > > SurfaceIdVec
 
typedef SurfaceIdVec::iterator SurfaceIdIt
 

Private Member Functions

void searchForSurfaceIntersect (const Amg::Vector3D &parPos, const Amg::Vector3D &parDir, const MuonCalibSurface &surf, const MuonFixedId &stLayerId, ResultVec &intersects, double tolerance=1e9) const
 search for intersect with the give surface More...
 
void init ()
 init static members More...
 

Static Private Attributes

static MuonCalibSimpleGeometry m_geometry
 
static MuonCalibSLPropagator m_propagator
 
static MuonFixedIdManipulator m_idManipulator
 
static SurfaceIdVec m_surfaceIdList
 

Detailed Description

Definition at line 19 of file MuonCalibSimpleHoleSearch.h.

Member Typedef Documentation

◆ ResultIt

Definition at line 28 of file MuonCalibSimpleHoleSearch.h.

◆ ResultVec

Definition at line 27 of file MuonCalibSimpleHoleSearch.h.

◆ SurfaceIdIt

typedef SurfaceIdVec::iterator MuonCalib::MuonCalibSimpleHoleSearch::SurfaceIdIt
private

Definition at line 47 of file MuonCalibSimpleHoleSearch.h.

◆ SurfaceIdVec

Definition at line 46 of file MuonCalibSimpleHoleSearch.h.

Constructor & Destructor Documentation

◆ MuonCalibSimpleHoleSearch()

MuonCalib::MuonCalibSimpleHoleSearch::MuonCalibSimpleHoleSearch ( )
inline

Definition at line 31 of file MuonCalibSimpleHoleSearch.h.

31 { init(); }

Member Function Documentation

◆ init()

void MuonCalib::MuonCalibSimpleHoleSearch::init ( )
private

init static members

Definition at line 19 of file MuonCalibSimpleHoleSearch.cxx.

◆ intersectsWithGeometry()

MuonCalibSimpleHoleSearch::ResultVec MuonCalib::MuonCalibSimpleHoleSearch::intersectsWithGeometry ( const Amg::Vector3D parPos,
const Amg::Vector3D parDir,
double  tolerance = 1e9 
)

Definition at line 43 of file MuonCalibSimpleHoleSearch.cxx.

44  {
45  ResultVec intersectedLayers;
46  SurfaceIdIt it = m_surfaceIdList.begin();
47  SurfaceIdIt it_end = m_surfaceIdList.end();
48  for (; it != it_end; ++it) { searchForSurfaceIntersect(parPos, parDir, *it->first, it->second, intersectedLayers, tolerance); }
49 
50  return intersectedLayers;
51  }

◆ searchForSurfaceIntersect()

void MuonCalib::MuonCalibSimpleHoleSearch::searchForSurfaceIntersect ( const Amg::Vector3D parPos,
const Amg::Vector3D parDir,
const MuonCalibSurface surf,
const MuonFixedId stLayerId,
ResultVec intersects,
double  tolerance = 1e9 
) const
private

search for intersect with the give surface

Definition at line 53 of file MuonCalibSimpleHoleSearch.cxx.

55  {
56  // propagate to layer
57  Amg::Vector3D pos = m_propagator.propagate(parPos, parDir, surf);
58 
59  // check if position is within bounds, if so add intersect
60  if (surf.inBounds(pos, tolerance)) {
61  bool add = true;
62  if (m_idManipulator.isEndcap(stLayerId)) {
63  // for the endcap only take intersects on the same side as the track
64  double sideTrack = parPos.z() < 0. ? -1. : 1.;
65  double sideInter = pos.z() < 0. ? -1. : 1.;
66  if (sideTrack != sideInter) add = false;
67  }
68  if (add) intersects.push_back(Result(stLayerId, pos));
69  }
70  }

Member Data Documentation

◆ m_geometry

MuonCalibSimpleGeometry MuonCalib::MuonCalibSimpleHoleSearch::m_geometry
staticprivate

Definition at line 43 of file MuonCalibSimpleHoleSearch.h.

◆ m_idManipulator

MuonFixedIdManipulator MuonCalib::MuonCalibSimpleHoleSearch::m_idManipulator
staticprivate

Definition at line 45 of file MuonCalibSimpleHoleSearch.h.

◆ m_propagator

MuonCalibSLPropagator MuonCalib::MuonCalibSimpleHoleSearch::m_propagator
staticprivate

Definition at line 44 of file MuonCalibSimpleHoleSearch.h.

◆ m_surfaceIdList

MuonCalibSimpleHoleSearch::SurfaceIdVec MuonCalib::MuonCalibSimpleHoleSearch::m_surfaceIdList
staticprivate

Definition at line 48 of file MuonCalibSimpleHoleSearch.h.


The documentation for this class was generated from the following files:
MuonCalib::MuonFixedIdManipulator::EMA
@ EMA
Definition: MuonFixedIdManipulator.h:17
MuonCalib::MuonFixedIdManipulator::stationLayerIdentifier
MuonFixedId stationLayerIdentifier(const MuonFixedId &id) const
returns a station layer identifier for the give identifier
Definition: MuonFixedIdManipulator.cxx:34
MuonCalib::MuonCalibSimpleGeometry::barrelOuterCylinder
const MuonCalibCylinder barrelOuterCylinder
Definition: MuonCalibSimpleGeometry.h:48
MuonCalib::MuonCalibSimpleHoleSearch::ResultVec
std::vector< Result > ResultVec
Definition: MuonCalibSimpleHoleSearch.h:27
MuonCalib::MuonCalibSLPropagator::propagate
Amg::Vector3D propagate(const Amg::Vector3D &pos, const Amg::Vector3D &dir, const MuonCalibSurface &surf) const
Propagator track parameters to a plane paralel to the xy plane.
Definition: MuonCalibSLPropagator.cxx:64
MuonCalib::MuonCalibSimpleGeometry::endcapOuterDiskASide
const MuonCalibDisk endcapOuterDiskASide
Definition: MuonCalibSimpleGeometry.h:40
MuonCalib::MuonFixedIdManipulator::BM
@ BM
Definition: MuonFixedIdManipulator.h:17
skel.it
it
Definition: skel.GENtoEVGEN.py:423
MuonCalib::MuonFixedIdManipulator::BO
@ BO
Definition: MuonFixedIdManipulator.h:17
MuonCalib::MuonFixedIdManipulator::EOC
@ EOC
Definition: MuonFixedIdManipulator.h:17
MuonCalib::MuonCalibSimpleHoleSearch::m_propagator
static MuonCalibSLPropagator m_propagator
Definition: MuonCalibSimpleHoleSearch.h:44
MuonCalib::MuonCalibSimpleGeometry::endcapInnerDiskASide
const MuonCalibDisk endcapInnerDiskASide
Definition: MuonCalibSimpleGeometry.h:38
MuonCalib::MuonFixedIdManipulator::EMC
@ EMC
Definition: MuonFixedIdManipulator.h:17
MuonCalib::MuonFixedIdManipulator::BI
@ BI
Definition: MuonFixedIdManipulator.h:17
MuonCalib::MuonCalibSimpleHoleSearch::m_idManipulator
static MuonFixedIdManipulator m_idManipulator
Definition: MuonCalibSimpleHoleSearch.h:45
MuonCalib::MuonCalibSimpleHoleSearch::m_surfaceIdList
static SurfaceIdVec m_surfaceIdList
Definition: MuonCalibSimpleHoleSearch.h:48
Result
ICscStripFitter::Result Result
Definition: CalibCscStripFitter.cxx:13
MuonCalib::MuonFixedIdManipulator::EIA
@ EIA
Definition: MuonFixedIdManipulator.h:17
add
bool add(const std::string &hname, TKey *tobj)
Definition: fastadd.cxx:55
MuonCalib::MuonCalibSimpleHoleSearch::searchForSurfaceIntersect
void searchForSurfaceIntersect(const Amg::Vector3D &parPos, const Amg::Vector3D &parDir, const MuonCalibSurface &surf, const MuonFixedId &stLayerId, ResultVec &intersects, double tolerance=1e9) const
search for intersect with the give surface
Definition: MuonCalibSimpleHoleSearch.cxx:53
tolerance
Definition: suep_shower.h:17
MuonCalib::MuonCalibSimpleGeometry::endcapMiddleDiskCSide
const MuonCalibDisk endcapMiddleDiskCSide
Definition: MuonCalibSimpleGeometry.h:43
MuonCalib::MuonCalibSimpleHoleSearch::m_geometry
static MuonCalibSimpleGeometry m_geometry
Definition: MuonCalibSimpleHoleSearch.h:43
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
MuonCalib::MuonCalibSimpleGeometry::barrelMiddleCylinder
const MuonCalibCylinder barrelMiddleCylinder
Definition: MuonCalibSimpleGeometry.h:47
MuonCalib::MuonCalibSimpleGeometry::endcapMiddleDiskASide
const MuonCalibDisk endcapMiddleDiskASide
Definition: MuonCalibSimpleGeometry.h:39
MuonCalib::MuonFixedIdManipulator::isEndcap
bool isEndcap(const MuonFixedId &id) const
returns whether this is a phi measurement
Definition: MuonFixedIdManipulator.h:77
MuonCalib::MuonFixedIdManipulator::EIC
@ EIC
Definition: MuonFixedIdManipulator.h:17
MuonCalib::MuonFixedIdManipulator::EOA
@ EOA
Definition: MuonFixedIdManipulator.h:17
MuonCalib::MuonCalibSimpleGeometry::barrelInnerCylinder
const MuonCalibCylinder barrelInnerCylinder
Definition: MuonCalibSimpleGeometry.h:46
MuonCalib::MuonCalibSimpleGeometry::endcapInnerDiskCSide
const MuonCalibDisk endcapInnerDiskCSide
Definition: MuonCalibSimpleGeometry.h:42
MuonCalib::MuonCalibSimpleHoleSearch::SurfaceIdIt
SurfaceIdVec::iterator SurfaceIdIt
Definition: MuonCalibSimpleHoleSearch.h:47
MuonCalib::MuonCalibSimpleHoleSearch::init
void init()
init static members
Definition: MuonCalibSimpleHoleSearch.cxx:19
MuonCalib::MuonCalibSimpleGeometry::endcapOuterDiskCSide
const MuonCalibDisk endcapOuterDiskCSide
Definition: MuonCalibSimpleGeometry.h:44