![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef MUONHOUGH_HIT_H
6 #define MUONHOUGH_HIT_H
19 class TgcClusterObj3D;
23 static constexpr
int UNINITIALIZED = -99999;
49 float r{UNINITIALIZED};
50 float ph{UNINITIALIZED};
51 float phn{UNINITIALIZED};
52 float ph1{UNINITIALIZED};
53 float ph2{UNINITIALIZED};
54 float rot{UNINITIALIZED};
75 float x{UNINITIALIZED};
78 float w{UNINITIALIZED};
89 std::unique_ptr<HitDebugInfo>
m_debug{
nullptr};
112 float r{UNINITIALIZED};
115 float w{UNINITIALIZED};
126 std::unique_ptr<HitDebugInfo>
m_debug{
nullptr};
137 float pt{UNINITIALIZED};
184 if (
db1->sector !=
db2->sector)
return db1->sector <
db2->sector;
185 if (
db1->region !=
db2->region)
return db1->region <
db2->region;
186 if (
db1->type !=
db2->type)
return db1->type <
db2->type;
187 if (
db1->layer !=
db2->layer)
return db1->layer <
db2->layer;
188 if (
db1->sublayer !=
db2->sublayer)
return db1->sublayer <
db2->sublayer;
190 if (lay1 != lay2)
return lay1 < lay2;
198 bool operator()(
const std::shared_ptr<Hit>& hit1,
const std::shared_ptr<Hit>& hit2)
const {
return operator()(*hit1, *hit2); }
199 bool operator()(
const std::shared_ptr<PhiHit>& hit1,
const std::shared_ptr<PhiHit>& hit2)
const {
return operator()(*hit1, *hit2); }
int muonIndex
barcode of the true muon
float rot
maximum value of the hit projected into the second other layer in the hough space
struct containing truth or segment information
float ymin
global hit position (x=r in barrel, x=z in endcap)
bool operator()(const Hit &hit1, const Hit &hit2) const
std::unique_ptr< HitDebugInfo > m_debug
bool operator()(const Hit *hit1, const Hit *hit2) const
const HitDebugInfo * debugInfo() const
weight of the hit
float w
maximum value of the hit in the precision coordinate (y=z in barrel, y=r in endcap)
Hit & operator=(const Hit &h_)
=operator
float r
layer identifier (packed word containing technology/sublayer)
struct containing additional debug information on the hits that is not needed for the actual alg but ...
LayerIndex
enum to classify the different layers in the muon spectrometer
int clusterLayers
cluster size
int muonIndex
barcode of truth particle - FIXME barcode-based
bool operator()(const std::shared_ptr< PhiHit > &hit1, const std::shared_ptr< PhiHit > &hit2) const
Muon::MuonStationIndex::LayerIndex layer
detector region (endcapA/barrel/endcapC)
int clusterSize
index of reconstructed muon
bool operator()(const PhiHit *hit1, const PhiHit *hit2) const
This class provides conversion from CSC RDO data to CSC Digits.
struct containing all hit information needed for the Hough transform
PhiHit(PhiHit &&h_) noexcept=default
int barcode
pdgId of the true muon
int sector
technology type
float phn
maximum value in the hough space
int binpos
flag whether confirmed by a trigger hit
HitDebugInfo * debugInfo()
bool operator()(const std::shared_ptr< Hit > &hit1, const std::shared_ptr< Hit > &hit2) const
float w
maximum value of the hit in the precision coordinate (y=z in barrel, y=r in endcap)
Hit(Hit &&h_) noexcept=default
float phimax
minimum value of the hit in the precision coordinate (y=z in barrel, y=r in endcap)
const Muon::TgcClusterObj3D * tgc
float x
layer identifier (packed word containing technology/sublayer)
Workaround x86 precision issues for FP inequality comparisons.
float ph2
maximum value of the hit projected into the first other layer in the hough space
HitDebugInfo * debugInfo()
bool isEtaPhi
number of layers in the cluster
int sublayer
layer (inner/middle/outer)
std::unique_ptr< HitDebugInfo > m_debug
DetectorRegionIndex
enum to classify the different layers in the muon spectrometer
int pdgId
sublayer within layer
Ensure that the ATLAS eigen extensions are properly loaded.
const Trk::PrepRawData * prd
access to assiciated hit, either the prd or the tgc pointer is set in athena
float pt
index of the associated track
PhiHit(int layer_, float r_, float phimin_, float phimax_, float w_, HitDebugInfo *d_=0, const Trk::PrepRawData *prd_=0, const Muon::TgcClusterObj3D *tgc_=0)
constructor, takes ownership of the HitDebugInfo pointer
bool operator()(const PhiHit &hit1, const PhiHit &hit2) const
PhiHit & operator=(const PhiHit &h_)
=operator
bool less(double a, double b)
Compare two FP numbers, working around x87 precision issues.
const Muon::TgcClusterObj3D * tgc
float time
angular bin of the hit with the highest value in the hough space
Hit(int layer_, float x_, float ymin_, float ymax_, float w_, HitDebugInfo *d_=nullptr, const Trk::PrepRawData *prd_=nullptr, const Muon::TgcClusterObj3D *tgc_=nullptr)
constructor, takes ownership of the HitDebugInfo pointer
float phimin
global hit position (x=r in barrel, x=z in endcap)
int bintheta
spacial bin of the hit with the highest value in the hough space
const Trk::PrepRawData * prd
access to assiciated hit, either the prd or the tgc pointer is set in athena
float ymax
minimum value of the hit in the precision coordinate (y=z in barrel, y=r in endcap)
int barcode
pdgId of the associated truth particle (if any)
void copy(const PhiHit &hit)
pointer to debug information
const HitDebugInfo * debugInfo() const
weight of the hit
Muon::MuonStationIndex::DetectorRegionIndex region
sector
float ph1
maximum value in the hough space in neighbouring sector; dege
struct containing all hit information needed for the Hough transform
float ph
drift radius for MDT, strip pitch for strips
bool trigConfirm
flag whether confirmed in the other projection
bool compare(float val1, float val2, int lay1, int lay2, const HitDebugInfo *db1, const HitDebugInfo *db2) const
void copy(const Hit &hit)
pointer to debug information
struct containing truth or track information