ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonReconstruction
MuonRecEvent
MuonPrepRawData
MuonPrepRawData
NswClusteringUtils.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef MUONPREPRAWDATA_NSWCLUSTERING_UTILS_H
5
#define MUONPREPRAWDATA_NSWCLUSTERING_UTILS_H
6
7
#include "
MuonPrepRawData/MuonCluster.h
"
8
#include "
TrkSurfaces/Surface.h
"
9
15
namespace
Muon
{
16
namespace
NswClustering
{
21
inline
Amg::Vector3D
toLocal
(
const
Amg::Transform3D
& toLocalTrans,
const
Amg::Vector3D
& dir) {
22
Amg::Rotation3D
rotMat{toLocalTrans.linear()};
23
const
Amg::Vector3D
rotDir = rotMat * dir;
24
return
Amg::Vector3D
{rotDir.x(), rotDir.y(), std::abs(rotDir.z())};
25
}
26
27
inline
Amg::Vector3D
toLocal
(
const
Trk::Surface
& surf,
const
Amg::Vector3D
& dir){
28
Amg::Rotation3D
rotMat{surf.
transform
().inverse().linear()};
29
const
Amg::Vector3D
rotDir = rotMat * dir;
30
return
Amg::Vector3D
{rotDir.x(), rotDir.y(), std::abs(rotDir.z())};
31
}
32
inline
Amg::Vector3D
toLocal
(
const
MuonCluster
& prd,
const
Amg::Vector3D
& dir){
33
return
toLocal
(prd.
detectorElement
()->
surface
(prd.
identify
()), dir);
34
}
35
inline
Amg::Vector3D
toLocal
(
const
MuonCluster
& prd) {
36
return
toLocal
(prd, prd.
globalPosition
().unit());
37
}
38
}
39
}
40
#endif
MuonCluster.h
Surface.h
Muon::MuonCluster
Class representing clusters in the muon system.
Definition
MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MuonCluster.h:37
Muon::MuonCluster::globalPosition
virtual const Amg::Vector3D & globalPosition() const =0
Returns the global position of the measurement (calculated on the fly).
Trk::PrepRawData::detectorElement
virtual const TrkDetElementBase * detectorElement() const =0
return the detector element corresponding to this PRD The pointer will be zero if the det el is not d...
Trk::PrepRawData::identify
Identifier identify() const
return the identifier
Trk::Surface
Abstract Base Class for tracking surfaces.
Definition
Surface.h:79
Trk::Surface::transform
const Amg::Transform3D & transform() const
Returns HepGeom::Transform3D by reference.
Trk::TrkDetElementBase::surface
virtual const Surface & surface() const =0
Return surface associated with this detector element.
Amg::Rotation3D
Eigen::Quaternion< double > Rotation3D
Definition
GeoPrimitives.h:43
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition
GeoPrimitives.h:46
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
Muon::NswClustering
Definition
NswClusteringUtils.h:16
Muon::NswClustering::toLocal
Amg::Vector3D toLocal(const Amg::Transform3D &toLocalTrans, const Amg::Vector3D &dir)
Rotates a direction vector into a local frame: x-axis : Parallell to the radial direction of the dete...
Definition
NswClusteringUtils.h:21
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition
TrackSystemController.h:46
Generated on
for ATLAS Offline Software by
1.17.0