ATLAS Offline Software
Public Types | Public Member Functions | Private Attributes | List of all members
MuonR4::SegmentSeed Class Reference

Representation of a segment seed (a fully processed hough maximum) produced by the hough transform. More...

#include <SegmentSeed.h>

Collaboration diagram for MuonR4::SegmentSeed:

Public Types

using HitType = HoughHitType
 
using Parameters = SegmentFit::Parameters
 

Public Member Functions

 SegmentSeed (double tanBeta, double interceptY, double tanAlpha, double interceptX, double counts, std::vector< HitType > &&hits, const SpacePointBucket *bucket)
 Constructor to write a segment seed from an eta maximum and a valid phi extension. More...
 
 SegmentSeed (const HoughMaximum &toCopy)
 Constructor to write a segment seed from an eta maximum without a valid phi extension. More...
 
double tanAlpha () const
 Returns the angle from the phi extension. More...
 
double interceptX () const
 Returns the intercept from the phi extension. More...
 
double tanBeta () const
 Returns the angular coordinate of the eta transform. More...
 
double interceptY () const
 Returns the intercept coordinate of the eta transform. More...
 
const Parametersparameters () const
 Returns the parameter array. More...
 
double getCounts () const
 
const std::vector< HitType > & getHitsInMax () const
 Returns the list of assigned hits. More...
 
const SpacePointBucketparentBucket () const
 Returns the bucket out of which the seed was formed. More...
 
const MuonGMR4::SpectrometerSectormsSector () const
 Returns the associated chamber. More...
 
bool hasPhiExtension () const
 check whether the segment seed includes a valid phi extension More...
 
Amg::Vector3D localPosition () const
 Returns the position of the seed in the sector frame. More...
 
Amg::Vector3D localDirection () const
 Returns the direction of the seed in the sector frame. More...
 

Private Attributes

Parameters m_pars {}
 Set of defining parameters. More...
 
const SpacePointBucketm_parent {nullptr}
 Pointer to the parent. More...
 
std::vector< HitTypem_hits {}
 List of associated hits. More...
 
bool m_hasPhiExt {false}
 Does the sed have a phi extension. More...
 
double m_counts {0.}
 Effective countsfrom the hough seed. More...
 

Detailed Description

Representation of a segment seed (a fully processed hough maximum) produced by the hough transform.


Definition at line 14 of file SegmentSeed.h.

Member Typedef Documentation

◆ HitType

Definition at line 16 of file SegmentSeed.h.

◆ Parameters

Definition at line 17 of file SegmentSeed.h.

Constructor & Destructor Documentation

◆ SegmentSeed() [1/2]

MuonR4::SegmentSeed::SegmentSeed ( double  tanBeta,
double  interceptY,
double  tanAlpha,
double  interceptX,
double  counts,
std::vector< HitType > &&  hits,
const SpacePointBucket bucket 
)

Constructor to write a segment seed from an eta maximum and a valid phi extension.

Parameters
tanBetatan(theta) from the eta-transform
interceptYy axis intercept from the eta-transform
tanAlphatan(phi) from the phi-extension
interceptXx axis intercept from the phi-extension
counts(weighted) counts for the given hough maximum
hitsMeasurements on this maximum
bucketSpace point bucket out of which the seed is built

Definition at line 11 of file SegmentSeed.cxx.

14  :
15  m_parent{bucket},
16  m_hits{std::move(hits)},
17  m_hasPhiExt{true},
19  const Amg::Vector3D dir = makeDirectionFromAxisTangents(tanAlpha, tanBeta);
20  using enum SegmentFit::ParamDefs;
21  m_pars[toUnderlying(x0)] = interceptX;
22  m_pars[toUnderlying(y0)] = interceptY;
23  m_pars[toUnderlying(theta)] = dir.theta();
24  m_pars[toUnderlying(phi)] = dir.phi();
25  }

◆ SegmentSeed() [2/2]

MuonR4::SegmentSeed::SegmentSeed ( const HoughMaximum toCopy)

Constructor to write a segment seed from an eta maximum without a valid phi extension.

Parameters
toCopyEta maximum

Definition at line 26 of file SegmentSeed.cxx.

26  :
27  m_parent{toCopy.parentBucket()},
28  m_hits{toCopy.getHitsInMax()},
29  m_counts{toCopy.getCounts()}{
30  const Amg::Vector3D dir = makeDirectionFromAxisTangents(0., toCopy.tanBeta());
31  using enum SegmentFit::ParamDefs;
32  m_pars[toUnderlying(y0)] = toCopy.interceptY();
33  m_pars[toUnderlying(theta)] = dir.theta();
34  m_pars[toUnderlying(phi)] = dir.phi();
35  }

Member Function Documentation

◆ getCounts()

double MuonR4::SegmentSeed::getCounts ( ) const
Returns
Returns the number of counts

Definition at line 47 of file SegmentSeed.cxx.

47 { return m_counts;}

◆ getHitsInMax()

const std::vector< SegmentSeed::HitType > & MuonR4::SegmentSeed::getHitsInMax ( ) const

Returns the list of assigned hits.

Definition at line 48 of file SegmentSeed.cxx.

48 { return m_hits; }

◆ hasPhiExtension()

bool MuonR4::SegmentSeed::hasPhiExtension ( ) const

check whether the segment seed includes a valid phi extension

Returns
true if an extension exists, false if we are dealing with a pure eta maximum

Definition at line 51 of file SegmentSeed.cxx.

51 { return m_hasPhiExt; }

◆ interceptX()

double MuonR4::SegmentSeed::interceptX ( ) const

Returns the intercept from the phi extension.

Definition at line 38 of file SegmentSeed.cxx.

38  {
39  using enum SegmentFit::ParamDefs;
40  return m_pars[toUnderlying(x0)];
41  }

◆ interceptY()

double MuonR4::SegmentSeed::interceptY ( ) const

Returns the intercept coordinate of the eta transform.

Definition at line 42 of file SegmentSeed.cxx.

42  {
43  using enum SegmentFit::ParamDefs;
44  return m_pars[toUnderlying(y0)];
45  }

◆ localDirection()

Amg::Vector3D MuonR4::SegmentSeed::localDirection ( ) const

Returns the direction of the seed in the sector frame.

Definition at line 53 of file SegmentSeed.cxx.

53  {
54  using enum SegmentFit::ParamDefs;;
55  return makeDirectionFromPhiTheta(m_pars[toUnderlying(phi)], m_pars[toUnderlying(theta)]);
56  }

◆ localPosition()

Amg::Vector3D MuonR4::SegmentSeed::localPosition ( ) const

Returns the position of the seed in the sector frame.

Definition at line 52 of file SegmentSeed.cxx.

52 { return Amg::Vector3D{interceptX(), interceptY(),0.}; }

◆ msSector()

const MuonGMR4::SpectrometerSector * MuonR4::SegmentSeed::msSector ( ) const

Returns the associated chamber.

Definition at line 50 of file SegmentSeed.cxx.

50 { return m_parent->msSector(); }

◆ parameters()

const SegmentFit::Parameters & MuonR4::SegmentSeed::parameters ( ) const

Returns the parameter array.

Definition at line 46 of file SegmentSeed.cxx.

46 { return m_pars; }

◆ parentBucket()

const SpacePointBucket * MuonR4::SegmentSeed::parentBucket ( ) const

Returns the bucket out of which the seed was formed.

Definition at line 49 of file SegmentSeed.cxx.

49 { return m_parent; }

◆ tanAlpha()

double MuonR4::SegmentSeed::tanAlpha ( ) const

Returns the angle from the phi extension.

Definition at line 36 of file SegmentSeed.cxx.

36 { return houghTanAlpha(localDirection()); }

◆ tanBeta()

double MuonR4::SegmentSeed::tanBeta ( ) const

Returns the angular coordinate of the eta transform.

Definition at line 37 of file SegmentSeed.cxx.

37 { return houghTanBeta(localDirection()); }

Member Data Documentation

◆ m_counts

double MuonR4::SegmentSeed::m_counts {0.}
private

Effective countsfrom the hough seed.

Definition at line 80 of file SegmentSeed.h.

◆ m_hasPhiExt

bool MuonR4::SegmentSeed::m_hasPhiExt {false}
private

Does the sed have a phi extension.

Definition at line 78 of file SegmentSeed.h.

◆ m_hits

std::vector<HitType> MuonR4::SegmentSeed::m_hits {}
private

List of associated hits.

Definition at line 76 of file SegmentSeed.h.

◆ m_parent

const SpacePointBucket* MuonR4::SegmentSeed::m_parent {nullptr}
private

Pointer to the parent.

Definition at line 74 of file SegmentSeed.h.

◆ m_pars

Parameters MuonR4::SegmentSeed::m_pars {}
private

Set of defining parameters.

Definition at line 72 of file SegmentSeed.h.


The documentation for this class was generated from the following files:
MuonR4::SegmentSeed::m_hits
std::vector< HitType > m_hits
List of associated hits.
Definition: SegmentSeed.h:76
TRTCalib_Extractor.hits
hits
Definition: TRTCalib_Extractor.py:35
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
MuonR4::SpacePointBucket::msSector
const MuonGMR4::SpectrometerSector * msSector() const
returns th associated muonChamber
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/MuonSpacePoint/SpacePointContainer.h:33
theta
Scalar theta() const
theta method
Definition: AmgMatrixBasePlugin.h:75
MuonR4::SegmentFit::ParamDefs
SeedingAux::FitParIndex ParamDefs
Use the same parameter indices as used by the CompSpacePointAuxiliaries.
Definition: MuonHoughDefs.h:38
MuonR4::SegmentSeed::m_counts
double m_counts
Effective countsfrom the hough seed.
Definition: SegmentSeed.h:80
MuonR4::houghTanBeta
double houghTanBeta(const Amg::Vector3D &v)
Returns the hough tanBeta [y] / [z].
Definition: SegmentFitterEventData.cxx:26
MuonR4::SegmentSeed::tanAlpha
double tanAlpha() const
Returns the angle from the phi extension.
Definition: SegmentSeed.cxx:36
L1TopoRatesCalculator_submatrix_plotter.counts
counts
Definition: L1TopoRatesCalculator_submatrix_plotter.py:74
MuonR4::SegmentSeed::interceptY
double interceptY() const
Returns the intercept coordinate of the eta transform.
Definition: SegmentSeed.cxx:42
MuonR4::SegmentSeed::m_hasPhiExt
bool m_hasPhiExt
Does the sed have a phi extension.
Definition: SegmentSeed.h:78
MuonR4::SegmentSeed::m_parent
const SpacePointBucket * m_parent
Pointer to the parent.
Definition: SegmentSeed.h:74
MuonR4::SegmentSeed::m_pars
Parameters m_pars
Set of defining parameters.
Definition: SegmentSeed.h:72
beamspotman.dir
string dir
Definition: beamspotman.py:619
MuonR4::SegmentSeed::tanBeta
double tanBeta() const
Returns the angular coordinate of the eta transform.
Definition: SegmentSeed.cxx:37
MuonR4::SegmentSeed::interceptX
double interceptX() const
Returns the intercept from the phi extension.
Definition: SegmentSeed.cxx:38
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
MuonR4::SegmentSeed::localDirection
Amg::Vector3D localDirection() const
Returns the direction of the seed in the sector frame.
Definition: SegmentSeed.cxx:53
MuonR4::houghTanAlpha
double houghTanAlpha(const Amg::Vector3D &v)
: Returns the hough tanAlpha [x] / [z]
Definition: SegmentFitterEventData.cxx:30