ATLAS Offline Software
Loading...
Searching...
No Matches
Muon::TgcCoinData Class Reference

#include <TgcCoinData.h>

Collaboration diagram for Muon::TgcCoinData:

Public Types

enum  CoinDataType {
  TYPE_TRACKLET , TYPE_HIPT , TYPE_SL , TYPE_UNKNOWN ,
  TYPE_TRACKLET_EIFI
}

Public Member Functions

 TgcCoinData ()
 Public, Copy, operator=, constructor.
 TgcCoinData (const TgcCoinData &)
TgcCoinDataoperator= (const TgcCoinData &)
 TgcCoinData (const Identifier &channelIdIn, const Identifier &channelIdOut, const IdentifierHash &collectionIdHash, const MuonGM::TgcReadoutElement *detElIn, const MuonGM::TgcReadoutElement *detElOut, const CoinDataType type, const bool isAside, const int phi, const bool isInner, const bool isForward, const bool isStrip, const int trackletId, const Amg::Vector2D *posIn, const Amg::Vector2D *posOut, const double widthIn, const double widthOut, const int delta, const int sub, const int inner, const int roi=0, const int pt=0, const int trackletIdStrip=0, const Amg::MatrixX *errMat=nullptr, const bool isPositiveDeltaR=false, const bool veto=false)
 Constructor:
 TgcCoinData (const Identifier &channelIdIn, const IdentifierHash &collectionIdHash, const MuonGM::TgcReadoutElement *detElIn, const CoinDataType type, const bool isAside, const int phi, const bool isForward, const bool isStrip, const Amg::Vector2D *posIn, const double widthIn, const int sub)
 TgcCoinData (const Identifier &channelIdOut, const IdentifierHash &collectionIdHash, const MuonGM::TgcReadoutElement *detElOut, const CoinDataType type, const bool isAside, const int phi, const bool isForward, const int trackletId, const int trackletIdStrip, const Amg::Vector2D *posOut, const Amg::MatrixX *errMat, const int roi, const int pt, const bool veto, const bool isPositiveDeltaR)
 ~TgcCoinData ()
 Destructor:
Identifier identify () const
 return OfflineID of Outer Hit
IdentifierHash identifyHash () const
 return the identifierHash of Outer Hit
void setIdentifier (Identifier in, Identifier out)
 set the OfflineID of Inner and Outer Hits
void setHashAndIndex (unsigned short collHash, unsigned short objIndex)
void setHashAndIndex (unsigned int indexAndHash)
const IdentContIndexgetHashAndIndex () const
Identifier channelIdIn () const
 return offlineID on TGC1(HIPT) or TGC2(TRACKLET)
Identifier channelIdOut () const
 return offlineID on track on TGC3
CoinDataType type () const
 return the coincidence type (HIPT, LPT, SL)
bool isAside () const
 Aside or Cside.
int phi () const
 return phi number of trigger sector
bool isInner () const
 Inner layers or BW.
bool isForward () const
 Forward region or Endcap region.
bool isStrip () const
 Strip hit or Wire hit?
int trackletId () const
 return trackletId (Identifier for each track)
int trackletIdStrip () const
 return trackletId for strip (Identifier for each track)
const Amg::Vector2DposIn () const
 return Local position of track on TGC1(HIPT) or TGC2(TRACKLET)
const Amg::Vector2DposInPtr () const
const Amg::Vector2DposOut () const
 return Local position of track on TGC3
const Amg::Vector2DposOutPtr () const
bool hasErrMat () const
 Test to see if the error matrix is present.
const Amg::MatrixXerrMat () const
 return 2d width of ROI for SL: errMat[0][0]==(width for R), errMat[1][1]==(width for phi)
double widthIn () const
 return region width of hit on TGC1
double widthOut () const
 return region width of hit on TGC2(TRACKLET) or TGC3(HIPT)
int delta () const
 return the deviation from Pt=oo track
int roi () const
 return ROI number
int pt () const
 return pt threshold value
bool veto () const
 return veto bit
int sub () const
 return subMatrix of Tracklet or hsub of HiPt
int inner () const
 return InnerCoincidecne trigger bits
bool isPositiveDeltaR () const
 return isPositiveDeltaR (isMuplus) of SL
const MuonGM::TgcReadoutElementdetectorElementIn () const
 return TgcReadoutElement of track on TGC1(HIPT) or TGC2(TRACKLET)
const MuonGM::TgcReadoutElementdetectorElementOut () const
 return TgcReadoutElement of track on TGC3
const Amg::Vector3DglobalposIn () const
 return global position of track on TGC1(HIPT) or TGC2(TRACKLET)
const Amg::Vector3DglobalposOut () const
 return global position of track on TGC3

Static Public Attributes

static constexpr uint32_t INNER_NSW_R_BITSHIFT = 0
 Bit info in int inner for the NSW inner-coincidence.
static constexpr uint32_t INNER_NSW_R_BIT = 0xFF
static constexpr uint32_t INNER_NSW_PHI_BITSHIFT = 8
static constexpr uint32_t INNER_NSW_PHI_BIT = 0x3F
static constexpr uint32_t INNER_NSW_DTHETA_BITSHIFT = 14
static constexpr uint32_t INNER_NSW_DTHETA_BIT = 0x1F
static constexpr uint32_t INNER_NSW_PHIRES_BITSHIFT = 19
static constexpr uint32_t INNER_NSW_PHIRES_BIT = 0x1
static constexpr uint32_t INNER_NSW_LOWRES_BITSHIFT = 20
static constexpr uint32_t INNER_NSW_LOWRES_BIT = 0x1
static constexpr uint32_t INNER_NSW_ID_BITSHIFT = 21
static constexpr uint32_t INNER_NSW_ID_BIT = 0xF
static constexpr uint32_t INNER_NSW_BCID_BITSHIFT = 25
static constexpr uint32_t INNER_NSW_BCID_BIT = 0xF
static constexpr uint32_t INNER_NSW_INPUT_BITSHIFT = 29
static constexpr uint32_t INNER_NSW_INPUT_BIT = 0x7
static constexpr uint32_t INNER_RPC_ETA_BITSHIFT = 0
 Bit info in int inner for the RPC inner-coincidence.
static constexpr uint32_t INNER_RPC_ETA_BIT = 0x3F
static constexpr uint32_t INNER_RPC_PHI_BITSHIFT = 6
static constexpr uint32_t INNER_RPC_PHI_BIT = 0x3F
static constexpr uint32_t INNER_RPC_DETA_BITSHIFT = 12
static constexpr uint32_t INNER_RPC_DETA_BIT = 0x7
static constexpr uint32_t INNER_RPC_DPHI_BITSHIFT = 15
static constexpr uint32_t INNER_RPC_DPHI_BIT = 0x7
static constexpr uint32_t INNER_RPC_FLAG_BITSHIFT = 18
static constexpr uint32_t INNER_RPC_FLAG_BIT = 0x3
static constexpr uint32_t INNER_RPC_BCID_BITSHIFT = 20
static constexpr uint32_t INNER_RPC_BCID_BIT = 0xF
static constexpr uint32_t INNER_EIFI_EI_BITSHIFT = 0
 Bit info in int inner for the EI/FI inner-coincidence.
static constexpr uint32_t INNER_EIFI_EI_BIT = 0xFF
static constexpr uint32_t INNER_EIFI_FI_BITSHIFT = 8
static constexpr uint32_t INNER_EIFI_FI_BIT = 0xFF
static constexpr uint32_t INNER_EIFI_CID_BITSHIFT = 16
static constexpr uint32_t INNER_EIFI_CID_BIT = 0x7
static constexpr uint32_t INNER_TILE_MODULE_BITSHIFT = 0
 Bit info in int inner for the Tile inner-coincidence.
static constexpr uint32_t INNER_TILE_MODULE_BIT = 0xFFF
static constexpr uint32_t INNER_TILE_BCID_BITSHIFT = 12
static constexpr uint32_t INNER_TILE_BCID_BIT = 0xF

Private Attributes

Identifier m_channelIdIn
Identifier m_channelIdOut
IdentifierHash m_collectionIdHash
IdentContIndex m_indexAndHash
const MuonGM::TgcReadoutElementm_detElIn
const MuonGM::TgcReadoutElementm_detElOut
CoinDataType m_type
bool m_isAside
int m_phi
bool m_isInner
bool m_isForward
bool m_isStrip
int m_trackletId
int m_trackletIdStrip
const Amg::Vector2Dm_posIn
const Amg::Vector2Dm_posOut
const Amg::MatrixXm_errMat
double m_widthIn
double m_widthOut
int m_delta
int m_roi
int m_pt
bool m_veto
int m_sub
int m_inner
bool m_isPositiveDeltaR
CxxUtils::CachedUniquePtr< const Amg::Vector3Dm_globalposIn
CxxUtils::CachedUniquePtr< const Amg::Vector3Dm_globalposOut

Friends

class ::TgcCoinDataContainerCnv
class Muon::TgcCoinDataContainerCnv_p1
class Muon::TgcCoinDataContainerCnv_p2
class Muon::TgcCoinDataContainerCnv_p3
MsgStream & operator<< (MsgStream &sl, const TgcCoinData &coin)
 Overload of << operator for MsgStream for debug output.
std::ostream & operator<< (std::ostream &sl, const TgcCoinData &coin)
 Overload of << operator for std::ostream for debug output.

Detailed Description

Definition at line 37 of file TgcCoinData.h.

Member Enumeration Documentation

◆ CoinDataType

Enumerator
TYPE_TRACKLET 
TYPE_HIPT 
TYPE_SL 
TYPE_UNKNOWN 
TYPE_TRACKLET_EIFI 

Definition at line 49 of file TgcCoinData.h.

Constructor & Destructor Documentation

◆ TgcCoinData() [1/5]

Muon::TgcCoinData::TgcCoinData ( )

Public, Copy, operator=, constructor.

Definition at line 171 of file TgcCoinData.cxx.

171 :
172 m_channelIdIn(0),
176 m_detElIn(nullptr),
177 m_detElOut(nullptr),
179 m_isAside(true),
180 m_phi(0),
181 m_isInner(false),
182 m_isForward(false),
183 m_isStrip(false),
184 m_trackletId(0),
186 m_posIn(nullptr),
187 m_posOut(nullptr),
188 m_errMat(nullptr),
189 m_widthIn(0),
190 m_widthOut(0),
191 m_delta(0),
192 m_roi(0),
193 m_pt(0),
194 m_veto(false),
195 m_sub(0),
196 m_inner(0),
197 m_isPositiveDeltaR(false),
200{ }
const MuonGM::TgcReadoutElement * m_detElIn
const MuonGM::TgcReadoutElement * m_detElOut
const Amg::Vector2D * m_posOut
IdentContIndex m_indexAndHash
CxxUtils::CachedUniquePtr< const Amg::Vector3D > m_globalposIn
Identifier m_channelIdOut
CxxUtils::CachedUniquePtr< const Amg::Vector3D > m_globalposOut
const Amg::MatrixX * m_errMat
CoinDataType m_type
Identifier m_channelIdIn
IdentifierHash m_collectionIdHash
const Amg::Vector2D * m_posIn

◆ TgcCoinData() [2/5]

Muon::TgcCoinData::TgcCoinData ( const TgcCoinData & RIO)

Definition at line 203 of file TgcCoinData.cxx.

203 :
204 m_channelIdIn(RIO.m_channelIdIn),
205 m_channelIdOut(RIO.m_channelIdOut),
206 m_collectionIdHash(RIO.m_collectionIdHash),
207 m_indexAndHash(RIO.m_indexAndHash),
208 m_detElIn(RIO.m_detElIn),
209 m_detElOut(RIO.m_detElOut),
210 m_type(RIO.m_type),
211 m_isAside(RIO.m_isAside),
212 m_phi(RIO.m_phi),
213 m_isInner(RIO.m_isInner),
214 m_isForward(RIO.m_isForward),
215 m_isStrip(RIO.m_isStrip),
216 m_trackletId(RIO.m_trackletId),
217 m_trackletIdStrip(RIO.m_trackletIdStrip),
218 m_widthIn(RIO.m_widthIn),
219 m_widthOut(RIO.m_widthOut),
220 m_delta(RIO.m_delta),
221 m_roi(RIO.m_roi),
222 m_pt(RIO.m_pt),
223 m_veto(RIO.m_veto),
224 m_sub(RIO.m_sub),
225 m_inner(RIO.m_inner),
226 m_isPositiveDeltaR(RIO.m_isPositiveDeltaR),
229{
230 m_posIn = ((RIO.m_posIn) ? new Amg::Vector2D(*RIO.m_posIn) : nullptr );
231 m_posOut = ((RIO.m_posOut) ? new Amg::Vector2D(*RIO.m_posOut) : nullptr );
232 m_errMat = ((RIO.m_errMat) ? new Amg::MatrixX(*RIO.m_errMat) : nullptr );
233 if (RIO.m_globalposIn) m_globalposIn.store(std::make_unique<const Amg::Vector3D>(*RIO.m_globalposIn));
234 if (RIO.m_globalposOut) m_globalposOut.store(std::make_unique<const Amg::Vector3D>(*RIO.m_globalposOut));
235}
if(febId1==febId2)
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Eigen::Matrix< double, 2, 1 > Vector2D

◆ TgcCoinData() [3/5]

Muon::TgcCoinData::TgcCoinData ( const Identifier & channelIdIn,
const Identifier & channelIdOut,
const IdentifierHash & collectionIdHash,
const MuonGM::TgcReadoutElement * detElIn,
const MuonGM::TgcReadoutElement * detElOut,
const CoinDataType type,
const bool isAside,
const int phi,
const bool isInner,
const bool isForward,
const bool isStrip,
const int trackletId,
const Amg::Vector2D * posIn,
const Amg::Vector2D * posOut,
const double widthIn,
const double widthOut,
const int delta,
const int sub,
const int inner,
const int roi = 0,
const int pt = 0,
const int trackletIdStrip = 0,
const Amg::MatrixX * errMat = nullptr,
const bool isPositiveDeltaR = false,
const bool veto = false )

Constructor:

Definition at line 19 of file TgcCoinData.cxx.

43 :
46 m_collectionIdHash(collectionIdHash),
48 m_detElIn(detElIn),
49 m_detElOut(detElOut),
50 m_type(type),
52 m_phi(phi),
64 m_roi(roi),
65 m_pt(pt),
66 m_veto(veto),
67 m_sub(sub),
72{ }
int roi() const
return ROI number
double widthOut() const
return region width of hit on TGC2(TRACKLET) or TGC3(HIPT)
const Amg::Vector2D & posOut() const
return Local position of track on TGC3
CoinDataType type() const
return the coincidence type (HIPT, LPT, SL)
int trackletId() const
return trackletId (Identifier for each track)
double widthIn() const
return region width of hit on TGC1
int trackletIdStrip() const
return trackletId for strip (Identifier for each track)
const Amg::Vector2D & posIn() const
return Local position of track on TGC1(HIPT) or TGC2(TRACKLET)
bool isPositiveDeltaR() const
return isPositiveDeltaR (isMuplus) of SL
int sub() const
return subMatrix of Tracklet or hsub of HiPt
const Amg::MatrixX & errMat() const
return 2d width of ROI for SL: errMat[0][0]==(width for R), errMat[1][1]==(width for phi)
bool isAside() const
Aside or Cside.
bool veto() const
return veto bit
int phi() const
return phi number of trigger sector
bool isForward() const
Forward region or Endcap region.
bool isInner() const
Inner layers or BW.
int pt() const
return pt threshold value
Identifier channelIdIn() const
return offlineID on TGC1(HIPT) or TGC2(TRACKLET)
Identifier channelIdOut() const
return offlineID on track on TGC3
int delta() const
return the deviation from Pt=oo track
bool isStrip() const
Strip hit or Wire hit?
int inner() const
return InnerCoincidecne trigger bits

◆ TgcCoinData() [4/5]

Muon::TgcCoinData::TgcCoinData ( const Identifier & channelIdIn,
const IdentifierHash & collectionIdHash,
const MuonGM::TgcReadoutElement * detElIn,
const CoinDataType type,
const bool isAside,
const int phi,
const bool isForward,
const bool isStrip,
const Amg::Vector2D * posIn,
const double widthIn,
const int sub )

Definition at line 75 of file TgcCoinData.cxx.

85 :
88 m_collectionIdHash(collectionIdHash),
90 m_detElIn(detElIn),
91 m_detElOut(nullptr),
92 m_type(type),
94 m_phi(phi),
95 m_isInner(false),
98 m_trackletId(0),
100 m_posIn(posIn),
101 m_posOut(nullptr),
102 m_errMat(nullptr),
104 m_widthOut(0),
105 m_delta(0),
106 m_roi(0),
107 m_pt(0),
108 m_veto(false),
109 m_sub(sub),
110 m_inner(0),
111 m_isPositiveDeltaR(false),
114{ }

◆ TgcCoinData() [5/5]

Muon::TgcCoinData::TgcCoinData ( const Identifier & channelIdOut,
const IdentifierHash & collectionIdHash,
const MuonGM::TgcReadoutElement * detElOut,
const CoinDataType type,
const bool isAside,
const int phi,
const bool isForward,
const int trackletId,
const int trackletIdStrip,
const Amg::Vector2D * posOut,
const Amg::MatrixX * errMat,
const int roi,
const int pt,
const bool veto,
const bool isPositiveDeltaR )

Definition at line 117 of file TgcCoinData.cxx.

131 :
132 m_channelIdIn(0),
134 m_collectionIdHash(collectionIdHash),
136 m_detElIn(nullptr),
137 m_detElOut(detElOut),
138 m_type(type),
140 m_phi(phi),
141 m_isInner(false),
143 m_isStrip(false),
146 m_posIn(nullptr),
149 m_widthIn(0),
150 m_widthOut(0),
151 m_delta(0),
152 m_roi(roi),
153 m_pt(pt),
154 m_veto(veto),
155 m_sub(0),
156 m_inner(0),
160{ }

◆ ~TgcCoinData()

Muon::TgcCoinData::~TgcCoinData ( )

Destructor:

Definition at line 163 of file TgcCoinData.cxx.

164{
165 if(m_posIn) { delete m_posIn; m_posIn=nullptr;}
166 if(m_posOut) { delete m_posOut; m_posOut=nullptr;}
167 if(m_errMat) { delete m_errMat; m_errMat=nullptr;}
168 }

Member Function Documentation

◆ channelIdIn()

Identifier Muon::TgcCoinData::channelIdIn ( ) const
inline

return offlineID on TGC1(HIPT) or TGC2(TRACKLET)

Definition at line 342 of file TgcCoinData.h.

342{ return m_channelIdIn; }

◆ channelIdOut()

Identifier Muon::TgcCoinData::channelIdOut ( ) const
inline

return offlineID on track on TGC3

Definition at line 344 of file TgcCoinData.h.

344{ return m_channelIdOut; }

◆ delta()

int Muon::TgcCoinData::delta ( ) const
inline

return the deviation from Pt=oo track

Definition at line 376 of file TgcCoinData.h.

376{ return m_delta; }

◆ detectorElementIn()

const MuonGM::TgcReadoutElement * Muon::TgcCoinData::detectorElementIn ( ) const
inline

return TgcReadoutElement of track on TGC1(HIPT) or TGC2(TRACKLET)

Definition at line 390 of file TgcCoinData.h.

391 {
392 return m_detElIn;
393 }

◆ detectorElementOut()

const MuonGM::TgcReadoutElement * Muon::TgcCoinData::detectorElementOut ( ) const
inline

return TgcReadoutElement of track on TGC3

Definition at line 395 of file TgcCoinData.h.

396 {
397 return m_detElOut;
398 }

◆ errMat()

const Amg::MatrixX & Muon::TgcCoinData::errMat ( ) const
inline

return 2d width of ROI for SL: errMat[0][0]==(width for R), errMat[1][1]==(width for phi)

Definition at line 370 of file TgcCoinData.h.

370{ return *m_errMat; }

◆ getHashAndIndex()

const IdentContIndex & Muon::TgcCoinData::getHashAndIndex ( ) const
inline

Definition at line 337 of file TgcCoinData.h.

338 {
339 return m_indexAndHash;
340 }

◆ globalposIn()

const Amg::Vector3D & Muon::TgcCoinData::globalposIn ( ) const
inline

return global position of track on TGC1(HIPT) or TGC2(TRACKLET)

Definition at line 400 of file TgcCoinData.h.

401 {
402 if(not m_globalposIn) {
403 if (m_detElIn) {
404 m_globalposIn.set(std::make_unique<const Amg::Vector3D>(
405 m_detElIn->surface(m_channelIdIn)
406 .Trk::Surface::localToGlobal(*m_posIn)));
407 } else {
408 m_globalposIn.set(std::make_unique<const Amg::Vector3D>(0., 0., 0.));
409 }
410 }
411 return *m_globalposIn;
412 }

◆ globalposOut()

const Amg::Vector3D & Muon::TgcCoinData::globalposOut ( ) const
inline

return global position of track on TGC3

Definition at line 414 of file TgcCoinData.h.

415 {
416 if(not m_globalposOut) {
417 if (m_detElOut && m_posOut) {
418 m_globalposOut.set(std::make_unique<const Amg::Vector3D>(
419 m_detElOut->surface(m_channelIdOut)
420 .Trk::Surface::localToGlobal(*m_posOut)));
421 } else {
422 m_globalposOut.set(std::make_unique<const Amg::Vector3D>(0., 0., 0.));
423 }
424 }
425 return *m_globalposOut;
426 }

◆ hasErrMat()

bool Muon::TgcCoinData::hasErrMat ( ) const
inline

Test to see if the error matrix is present.

Definition at line 368 of file TgcCoinData.h.

368{ return m_errMat != nullptr; }

◆ identify()

Identifier Muon::TgcCoinData::identify ( ) const
inline

return OfflineID of Outer Hit

Definition at line 314 of file TgcCoinData.h.

314 {
316 return m_channelIdOut;
317 }

◆ identifyHash()

IdentifierHash Muon::TgcCoinData::identifyHash ( ) const
inline

return the identifierHash of Outer Hit

Definition at line 319 of file TgcCoinData.h.

319{ return m_collectionIdHash; }

◆ inner()

int Muon::TgcCoinData::inner ( ) const
inline

return InnerCoincidecne trigger bits

Definition at line 386 of file TgcCoinData.h.

386{ return m_inner; }

◆ isAside()

bool Muon::TgcCoinData::isAside ( ) const
inline

Aside or Cside.

Definition at line 348 of file TgcCoinData.h.

348{ return m_isAside; }

◆ isForward()

bool Muon::TgcCoinData::isForward ( ) const
inline

Forward region or Endcap region.

Definition at line 354 of file TgcCoinData.h.

354{ return m_isForward; }

◆ isInner()

bool Muon::TgcCoinData::isInner ( ) const
inline

Inner layers or BW.

Definition at line 352 of file TgcCoinData.h.

352{ return m_isInner; }

◆ isPositiveDeltaR()

bool Muon::TgcCoinData::isPositiveDeltaR ( ) const
inline

return isPositiveDeltaR (isMuplus) of SL

Definition at line 388 of file TgcCoinData.h.

388{ return m_isPositiveDeltaR; }

◆ isStrip()

bool Muon::TgcCoinData::isStrip ( ) const
inline

Strip hit or Wire hit?

Definition at line 356 of file TgcCoinData.h.

356{ return m_isStrip; }

◆ operator=()

TgcCoinData & Muon::TgcCoinData::operator= ( const TgcCoinData & RIO)

Definition at line 238 of file TgcCoinData.cxx.

239{
240 if(&RIO !=this)
241 {
242 m_channelIdIn = RIO.m_channelIdIn;
243 m_channelIdOut = RIO.m_channelIdOut;
244 m_collectionIdHash = RIO.m_collectionIdHash;
245 m_indexAndHash = RIO.m_indexAndHash;
246 delete m_detElIn;
247 m_detElIn = RIO.m_detElIn;
248 delete m_detElOut;
249 m_detElOut = RIO.m_detElOut;
250 m_type = RIO.m_type;
251 m_phi = RIO.m_phi;
252 m_isAside = RIO.m_isAside;
253 m_isInner = RIO.m_isInner;
254 m_isForward = RIO.m_isForward;
255 m_isStrip = RIO.m_isStrip;
256 m_trackletId = RIO.m_trackletId;
257 m_trackletIdStrip = RIO.m_trackletIdStrip;
258 delete m_posIn;
259 m_posIn = ((RIO.m_posIn) ? new Amg::Vector2D(*RIO.m_posIn) : nullptr );
260 delete m_posOut;
261 m_posOut = ((RIO.m_posOut) ? new Amg::Vector2D(*RIO.m_posOut) : nullptr );
262 delete m_errMat;
263 m_errMat = ((RIO.m_errMat) ? new Amg::MatrixX(*RIO.m_errMat) : nullptr );
264 m_widthIn = RIO.m_widthIn;
265 m_widthOut = RIO.m_widthOut;
266 m_delta = RIO.m_delta;
267 m_roi = RIO.m_roi;
268 m_pt = RIO.m_pt;
269 m_veto = RIO.m_veto;
270 m_inner = RIO.m_inner;
271 m_sub = RIO.m_sub;
272 m_isPositiveDeltaR = RIO.m_isPositiveDeltaR;
273 if (RIO.m_globalposIn) m_globalposIn.store(std::make_unique<const Amg::Vector3D>(*RIO.m_globalposIn));
274 else if (m_globalposIn) m_globalposIn.release().reset();
275 if (RIO.m_globalposOut) m_globalposOut.store(std::make_unique<const Amg::Vector3D>(*RIO.m_globalposOut));
276 else if (m_globalposOut) m_globalposOut.release().reset();
277 }
278 return *this;
279}

◆ phi()

int Muon::TgcCoinData::phi ( ) const
inline

return phi number of trigger sector

Definition at line 350 of file TgcCoinData.h.

350{ return m_phi; }

◆ posIn()

const Amg::Vector2D & Muon::TgcCoinData::posIn ( ) const
inline

return Local position of track on TGC1(HIPT) or TGC2(TRACKLET)

Definition at line 362 of file TgcCoinData.h.

362{ return *m_posIn; }

◆ posInPtr()

const Amg::Vector2D * Muon::TgcCoinData::posInPtr ( ) const
inline

Definition at line 363 of file TgcCoinData.h.

363{ return m_posIn; }

◆ posOut()

const Amg::Vector2D & Muon::TgcCoinData::posOut ( ) const
inline

return Local position of track on TGC3

Definition at line 365 of file TgcCoinData.h.

365{ return *m_posOut; }

◆ posOutPtr()

const Amg::Vector2D * Muon::TgcCoinData::posOutPtr ( ) const
inline

Definition at line 366 of file TgcCoinData.h.

366{ return m_posOut; }

◆ pt()

int Muon::TgcCoinData::pt ( ) const
inline

return pt threshold value

Definition at line 380 of file TgcCoinData.h.

380{ return m_pt; }

◆ roi()

int Muon::TgcCoinData::roi ( ) const
inline

return ROI number

Definition at line 378 of file TgcCoinData.h.

378{ return m_roi; }

◆ setHashAndIndex() [1/2]

void Muon::TgcCoinData::setHashAndIndex ( unsigned int indexAndHash)
inline

Definition at line 332 of file TgcCoinData.h.

333 {
334 m_indexAndHash.setHashAndIndex(indexAndHash);
335 }

◆ setHashAndIndex() [2/2]

void Muon::TgcCoinData::setHashAndIndex ( unsigned short collHash,
unsigned short objIndex )
inline

Definition at line 326 of file TgcCoinData.h.

327 {
328 m_indexAndHash.setCollHash(collHash);
329 m_indexAndHash.setObjIndex(objIndex);
330 }

◆ setIdentifier()

void Muon::TgcCoinData::setIdentifier ( Identifier in,
Identifier out )
inline

set the OfflineID of Inner and Outer Hits

Definition at line 321 of file TgcCoinData.h.

◆ sub()

int Muon::TgcCoinData::sub ( ) const
inline

return subMatrix of Tracklet or hsub of HiPt

Definition at line 384 of file TgcCoinData.h.

384{ return m_sub; }

◆ trackletId()

int Muon::TgcCoinData::trackletId ( ) const
inline

return trackletId (Identifier for each track)

Definition at line 358 of file TgcCoinData.h.

358{ return m_trackletId; }

◆ trackletIdStrip()

int Muon::TgcCoinData::trackletIdStrip ( ) const
inline

return trackletId for strip (Identifier for each track)

Definition at line 360 of file TgcCoinData.h.

360{ return m_trackletIdStrip; }

◆ type()

TgcCoinData::CoinDataType Muon::TgcCoinData::type ( ) const
inline

return the coincidence type (HIPT, LPT, SL)

Definition at line 346 of file TgcCoinData.h.

346{ return m_type; }

◆ veto()

bool Muon::TgcCoinData::veto ( ) const
inline

return veto bit

Definition at line 382 of file TgcCoinData.h.

382{ return m_veto; }

◆ widthIn()

double Muon::TgcCoinData::widthIn ( ) const
inline

return region width of hit on TGC1

Definition at line 372 of file TgcCoinData.h.

372{ return m_widthIn; }

◆ widthOut()

double Muon::TgcCoinData::widthOut ( ) const
inline

return region width of hit on TGC2(TRACKLET) or TGC3(HIPT)

Definition at line 374 of file TgcCoinData.h.

374{ return m_widthOut; }

◆ ::TgcCoinDataContainerCnv

friend class ::TgcCoinDataContainerCnv
friend

Definition at line 44 of file TgcCoinData.h.

◆ Muon::TgcCoinDataContainerCnv_p1

friend class Muon::TgcCoinDataContainerCnv_p1
friend

Definition at line 45 of file TgcCoinData.h.

◆ Muon::TgcCoinDataContainerCnv_p2

friend class Muon::TgcCoinDataContainerCnv_p2
friend

Definition at line 46 of file TgcCoinData.h.

◆ Muon::TgcCoinDataContainerCnv_p3

friend class Muon::TgcCoinDataContainerCnv_p3
friend

Definition at line 47 of file TgcCoinData.h.

◆ operator<< [1/2]

MsgStream & operator<< ( MsgStream & sl,
const TgcCoinData & coin )
friend

Overload of << operator for MsgStream for debug output.

Definition at line 282 of file TgcCoinData.cxx.

283{
284 sl<<"### TgcCoinData Object ###"<<endmsg;
285 sl<<"DataType = "<<coin.type()
286 <<", isAside = "<<coin.isAside()
287 <<", phi = "<<coin.phi()
288 <<", isForward = "<<coin.isForward()
289 <<", isStrip = "<<coin.isStrip()
290 <<", trackletId = "<<coin.trackletId()
291 <<", trackletIdStrip = "<<coin.trackletIdStrip();
292
293 if(coin.m_posIn) sl<<", posIn = "<<coin.posIn();
294 else sl<<", posIn = NULL";
295 if(coin.m_posOut) sl<<", posOut = "<<coin.posOut();
296 else sl<<", posOut = NULL";
297 if(coin.m_errMat) sl<<", errMat = "<<coin.errMat();
298 else sl<<", errMat = NULL";
299
300 sl<<", widthIn = "<<coin.widthIn()
301 <<", widthOut = "<<coin.widthOut()
302 <<", delta = "<<coin.delta()
303 <<", roi = "<<coin.roi()
304 <<", pt = "<<coin.pt()
305 <<", veto = "<<coin.veto()
306 <<", sub = "<<coin.sub()
307 <<", isPositiveDeltaR = "<<coin.isPositiveDeltaR()
308 <<endmsg;
309 return sl;
310}
#define endmsg

◆ operator<< [2/2]

std::ostream & operator<< ( std::ostream & sl,
const TgcCoinData & coin )
friend

Overload of << operator for std::ostream for debug output.

Definition at line 312 of file TgcCoinData.cxx.

313{
314 sl<<"### TgcCoinData Object ###"<<std::endl;
315 sl<<"DataType = "<<coin.type()
316 <<", isAside = "<<coin.isAside()
317 <<", phi = "<<coin.phi()
318 <<", isForward = "<<coin.isForward()
319 <<", isStrip = "<<coin.isStrip()
320 <<", trackletId = "<<coin.trackletId()
321 <<", trackletIdStrip = "<<coin.trackletIdStrip();
322
323 if(coin.m_posIn) sl<<", posIn = "<<coin.posIn();
324 else sl<<", posIn = NULL";
325 if(coin.m_posOut) sl<<", posOut = "<<coin.posOut();
326 else sl<<", posOut = NULL";
327 if(coin.m_errMat) sl<<", errMat = "<<coin.errMat();
328 else sl<<", errMat = NULL";
329
330 sl<<", widthIn = "<<coin.widthIn()
331 <<", widthOut = "<<coin.widthOut()
332 <<", delta = "<<coin.delta()
333 <<", roi = "<<coin.roi()
334 <<", pt = "<<coin.pt()
335 <<", veto = "<<coin.veto()
336 <<", sub = "<<coin.sub()
337 <<", isPositiveDeltaR = "<<coin.isPositiveDeltaR()
338 <<std::endl;
339 return sl;
340}

Member Data Documentation

◆ INNER_EIFI_CID_BIT

uint32_t Muon::TgcCoinData::INNER_EIFI_CID_BIT = 0x7
staticconstexpr

Definition at line 265 of file TgcCoinData.h.

◆ INNER_EIFI_CID_BITSHIFT

uint32_t Muon::TgcCoinData::INNER_EIFI_CID_BITSHIFT = 16
staticconstexpr

Definition at line 264 of file TgcCoinData.h.

◆ INNER_EIFI_EI_BIT

uint32_t Muon::TgcCoinData::INNER_EIFI_EI_BIT = 0xFF
staticconstexpr

Definition at line 261 of file TgcCoinData.h.

◆ INNER_EIFI_EI_BITSHIFT

uint32_t Muon::TgcCoinData::INNER_EIFI_EI_BITSHIFT = 0
staticconstexpr

Bit info in int inner for the EI/FI inner-coincidence.

Definition at line 260 of file TgcCoinData.h.

◆ INNER_EIFI_FI_BIT

uint32_t Muon::TgcCoinData::INNER_EIFI_FI_BIT = 0xFF
staticconstexpr

Definition at line 263 of file TgcCoinData.h.

◆ INNER_EIFI_FI_BITSHIFT

uint32_t Muon::TgcCoinData::INNER_EIFI_FI_BITSHIFT = 8
staticconstexpr

Definition at line 262 of file TgcCoinData.h.

◆ INNER_NSW_BCID_BIT

uint32_t Muon::TgcCoinData::INNER_NSW_BCID_BIT = 0xF
staticconstexpr

Definition at line 241 of file TgcCoinData.h.

◆ INNER_NSW_BCID_BITSHIFT

uint32_t Muon::TgcCoinData::INNER_NSW_BCID_BITSHIFT = 25
staticconstexpr

Definition at line 240 of file TgcCoinData.h.

◆ INNER_NSW_DTHETA_BIT

uint32_t Muon::TgcCoinData::INNER_NSW_DTHETA_BIT = 0x1F
staticconstexpr

Definition at line 233 of file TgcCoinData.h.

◆ INNER_NSW_DTHETA_BITSHIFT

uint32_t Muon::TgcCoinData::INNER_NSW_DTHETA_BITSHIFT = 14
staticconstexpr

Definition at line 232 of file TgcCoinData.h.

◆ INNER_NSW_ID_BIT

uint32_t Muon::TgcCoinData::INNER_NSW_ID_BIT = 0xF
staticconstexpr

Definition at line 239 of file TgcCoinData.h.

◆ INNER_NSW_ID_BITSHIFT

uint32_t Muon::TgcCoinData::INNER_NSW_ID_BITSHIFT = 21
staticconstexpr

Definition at line 238 of file TgcCoinData.h.

◆ INNER_NSW_INPUT_BIT

uint32_t Muon::TgcCoinData::INNER_NSW_INPUT_BIT = 0x7
staticconstexpr

Definition at line 243 of file TgcCoinData.h.

◆ INNER_NSW_INPUT_BITSHIFT

uint32_t Muon::TgcCoinData::INNER_NSW_INPUT_BITSHIFT = 29
staticconstexpr

Definition at line 242 of file TgcCoinData.h.

◆ INNER_NSW_LOWRES_BIT

uint32_t Muon::TgcCoinData::INNER_NSW_LOWRES_BIT = 0x1
staticconstexpr

Definition at line 237 of file TgcCoinData.h.

◆ INNER_NSW_LOWRES_BITSHIFT

uint32_t Muon::TgcCoinData::INNER_NSW_LOWRES_BITSHIFT = 20
staticconstexpr

Definition at line 236 of file TgcCoinData.h.

◆ INNER_NSW_PHI_BIT

uint32_t Muon::TgcCoinData::INNER_NSW_PHI_BIT = 0x3F
staticconstexpr

Definition at line 231 of file TgcCoinData.h.

◆ INNER_NSW_PHI_BITSHIFT

uint32_t Muon::TgcCoinData::INNER_NSW_PHI_BITSHIFT = 8
staticconstexpr

Definition at line 230 of file TgcCoinData.h.

◆ INNER_NSW_PHIRES_BIT

uint32_t Muon::TgcCoinData::INNER_NSW_PHIRES_BIT = 0x1
staticconstexpr

Definition at line 235 of file TgcCoinData.h.

◆ INNER_NSW_PHIRES_BITSHIFT

uint32_t Muon::TgcCoinData::INNER_NSW_PHIRES_BITSHIFT = 19
staticconstexpr

Definition at line 234 of file TgcCoinData.h.

◆ INNER_NSW_R_BIT

uint32_t Muon::TgcCoinData::INNER_NSW_R_BIT = 0xFF
staticconstexpr

Definition at line 229 of file TgcCoinData.h.

◆ INNER_NSW_R_BITSHIFT

uint32_t Muon::TgcCoinData::INNER_NSW_R_BITSHIFT = 0
staticconstexpr

Bit info in int inner for the NSW inner-coincidence.

Definition at line 228 of file TgcCoinData.h.

◆ INNER_RPC_BCID_BIT

uint32_t Muon::TgcCoinData::INNER_RPC_BCID_BIT = 0xF
staticconstexpr

Definition at line 257 of file TgcCoinData.h.

◆ INNER_RPC_BCID_BITSHIFT

uint32_t Muon::TgcCoinData::INNER_RPC_BCID_BITSHIFT = 20
staticconstexpr

Definition at line 256 of file TgcCoinData.h.

◆ INNER_RPC_DETA_BIT

uint32_t Muon::TgcCoinData::INNER_RPC_DETA_BIT = 0x7
staticconstexpr

Definition at line 251 of file TgcCoinData.h.

◆ INNER_RPC_DETA_BITSHIFT

uint32_t Muon::TgcCoinData::INNER_RPC_DETA_BITSHIFT = 12
staticconstexpr

Definition at line 250 of file TgcCoinData.h.

◆ INNER_RPC_DPHI_BIT

uint32_t Muon::TgcCoinData::INNER_RPC_DPHI_BIT = 0x7
staticconstexpr

Definition at line 253 of file TgcCoinData.h.

◆ INNER_RPC_DPHI_BITSHIFT

uint32_t Muon::TgcCoinData::INNER_RPC_DPHI_BITSHIFT = 15
staticconstexpr

Definition at line 252 of file TgcCoinData.h.

◆ INNER_RPC_ETA_BIT

uint32_t Muon::TgcCoinData::INNER_RPC_ETA_BIT = 0x3F
staticconstexpr

Definition at line 247 of file TgcCoinData.h.

◆ INNER_RPC_ETA_BITSHIFT

uint32_t Muon::TgcCoinData::INNER_RPC_ETA_BITSHIFT = 0
staticconstexpr

Bit info in int inner for the RPC inner-coincidence.

Definition at line 246 of file TgcCoinData.h.

◆ INNER_RPC_FLAG_BIT

uint32_t Muon::TgcCoinData::INNER_RPC_FLAG_BIT = 0x3
staticconstexpr

Definition at line 255 of file TgcCoinData.h.

◆ INNER_RPC_FLAG_BITSHIFT

uint32_t Muon::TgcCoinData::INNER_RPC_FLAG_BITSHIFT = 18
staticconstexpr

Definition at line 254 of file TgcCoinData.h.

◆ INNER_RPC_PHI_BIT

uint32_t Muon::TgcCoinData::INNER_RPC_PHI_BIT = 0x3F
staticconstexpr

Definition at line 249 of file TgcCoinData.h.

◆ INNER_RPC_PHI_BITSHIFT

uint32_t Muon::TgcCoinData::INNER_RPC_PHI_BITSHIFT = 6
staticconstexpr

Definition at line 248 of file TgcCoinData.h.

◆ INNER_TILE_BCID_BIT

uint32_t Muon::TgcCoinData::INNER_TILE_BCID_BIT = 0xF
staticconstexpr

Definition at line 271 of file TgcCoinData.h.

◆ INNER_TILE_BCID_BITSHIFT

uint32_t Muon::TgcCoinData::INNER_TILE_BCID_BITSHIFT = 12
staticconstexpr

Definition at line 270 of file TgcCoinData.h.

◆ INNER_TILE_MODULE_BIT

uint32_t Muon::TgcCoinData::INNER_TILE_MODULE_BIT = 0xFFF
staticconstexpr

Definition at line 269 of file TgcCoinData.h.

◆ INNER_TILE_MODULE_BITSHIFT

uint32_t Muon::TgcCoinData::INNER_TILE_MODULE_BITSHIFT = 0
staticconstexpr

Bit info in int inner for the Tile inner-coincidence.

Definition at line 268 of file TgcCoinData.h.

◆ m_channelIdIn

Identifier Muon::TgcCoinData::m_channelIdIn
private

Definition at line 275 of file TgcCoinData.h.

◆ m_channelIdOut

Identifier Muon::TgcCoinData::m_channelIdOut
private

Definition at line 276 of file TgcCoinData.h.

◆ m_collectionIdHash

IdentifierHash Muon::TgcCoinData::m_collectionIdHash
private

Definition at line 277 of file TgcCoinData.h.

◆ m_delta

int Muon::TgcCoinData::m_delta
private

Definition at line 298 of file TgcCoinData.h.

◆ m_detElIn

const MuonGM::TgcReadoutElement* Muon::TgcCoinData::m_detElIn
private

Definition at line 281 of file TgcCoinData.h.

◆ m_detElOut

const MuonGM::TgcReadoutElement* Muon::TgcCoinData::m_detElOut
private

Definition at line 282 of file TgcCoinData.h.

◆ m_errMat

const Amg::MatrixX* Muon::TgcCoinData::m_errMat
private

Definition at line 294 of file TgcCoinData.h.

◆ m_globalposIn

CxxUtils::CachedUniquePtr<const Amg::Vector3D> Muon::TgcCoinData::m_globalposIn
private

Definition at line 307 of file TgcCoinData.h.

◆ m_globalposOut

CxxUtils::CachedUniquePtr<const Amg::Vector3D> Muon::TgcCoinData::m_globalposOut
private

Definition at line 308 of file TgcCoinData.h.

◆ m_indexAndHash

IdentContIndex Muon::TgcCoinData::m_indexAndHash
private

Definition at line 279 of file TgcCoinData.h.

◆ m_inner

int Muon::TgcCoinData::m_inner
private

Definition at line 304 of file TgcCoinData.h.

◆ m_isAside

bool Muon::TgcCoinData::m_isAside
private

Definition at line 285 of file TgcCoinData.h.

◆ m_isForward

bool Muon::TgcCoinData::m_isForward
private

Definition at line 288 of file TgcCoinData.h.

◆ m_isInner

bool Muon::TgcCoinData::m_isInner
private

Definition at line 287 of file TgcCoinData.h.

◆ m_isPositiveDeltaR

bool Muon::TgcCoinData::m_isPositiveDeltaR
private

Definition at line 305 of file TgcCoinData.h.

◆ m_isStrip

bool Muon::TgcCoinData::m_isStrip
private

Definition at line 289 of file TgcCoinData.h.

◆ m_phi

int Muon::TgcCoinData::m_phi
private

Definition at line 286 of file TgcCoinData.h.

◆ m_posIn

const Amg::Vector2D* Muon::TgcCoinData::m_posIn
private

Definition at line 292 of file TgcCoinData.h.

◆ m_posOut

const Amg::Vector2D* Muon::TgcCoinData::m_posOut
private

Definition at line 293 of file TgcCoinData.h.

◆ m_pt

int Muon::TgcCoinData::m_pt
private

Definition at line 300 of file TgcCoinData.h.

◆ m_roi

int Muon::TgcCoinData::m_roi
private

Definition at line 299 of file TgcCoinData.h.

◆ m_sub

int Muon::TgcCoinData::m_sub
private

Definition at line 303 of file TgcCoinData.h.

◆ m_trackletId

int Muon::TgcCoinData::m_trackletId
private

Definition at line 290 of file TgcCoinData.h.

◆ m_trackletIdStrip

int Muon::TgcCoinData::m_trackletIdStrip
private

Definition at line 291 of file TgcCoinData.h.

◆ m_type

CoinDataType Muon::TgcCoinData::m_type
private

Definition at line 284 of file TgcCoinData.h.

◆ m_veto

bool Muon::TgcCoinData::m_veto
private

Definition at line 301 of file TgcCoinData.h.

◆ m_widthIn

double Muon::TgcCoinData::m_widthIn
private

Definition at line 295 of file TgcCoinData.h.

◆ m_widthOut

double Muon::TgcCoinData::m_widthOut
private

Definition at line 296 of file TgcCoinData.h.


The documentation for this class was generated from the following files: