|
ATLAS Offline Software
|
#include <MuonTGMeasurementTool.h>
|
| MuonTGMeasurementTool (const std::string &type, const std::string &name, const IInterface *) |
| Constructor with AlgTool parameters. More...
|
|
virtual | ~MuonTGMeasurementTool ()=default |
|
virtual StatusCode | initialize () override |
|
const Trk::TrackParameters * | layerToDetEl (const Trk::Layer *, const Trk::TrackParameters *, Identifier) const override |
|
const Trk::TrackParameters * | detElToLayer (const Trk::Layer *, const Trk::TrackParameters *, Identifier) const override |
|
const Trk::RIO_OnTrack * | measToLayer (const Trk::Layer *, const Trk::TrackParameters *, const Trk::RIO_OnTrack *) const override |
|
double | residual (const Trk::Layer *, const Trk::TrackParameters *, const Trk::RIO_OnTrack *) const override |
|
double | residual (const Trk::Layer *, const Trk::TrackParameters *, Identifier) const override |
|
double | residual (const Trk::TrackParameters *, const Trk::RIO_OnTrack *) const override |
|
double | residual (const Trk::TrackParameters *, Identifier &) const override |
|
const Identifier | nearestDetEl (const Trk::Layer *, const Trk::TrackParameters *, bool measPhi, double &pitch) const override |
|
const Trk::Layer * | associatedLayer (Identifier id, Amg::Vector3D &gp) const override |
|
const Trk::Layer * | associatedLayer (Identifier id, const Trk::TrackingVolume *vol) const override |
|
const Trk::Layer * | match (Identifier id, const Trk::Layer *lay) const override |
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
ServiceHandle< Muon::IMuonIdHelperSvc > | m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"} |
|
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > | m_DetectorManagerKey |
|
ServiceHandle< Trk::ITrackingGeometrySvc > | m_trackingGeometrySvc |
|
SG::ReadCondHandleKey< Trk::TrackingGeometry > | m_trackingGeometryReadKey |
|
const MuonGM::MuonDetectorManager * | m_muonDetMgr |
|
std::unique_ptr< AmgMatrix(5, 5)> | m_tgcProjEta |
|
std::unique_ptr< AmgMatrix(5, 5)> | m_tgcProjPhi |
|
std::unique_ptr< AmgMatrix(5, 5)> | m_rpcProjEta |
|
std::unique_ptr< AmgMatrix(5, 5)> | m_rpcProjPhi |
|
Gaudi::Property< bool > | m_alignedMode {this, "AlignedMode", true} |
|
Gaudi::Property< bool > | m_useDSManager {this, "UseDSManager", false} |
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
contain application tools for (muon) tracking geometry
- Author
- Sarka.nosp@m..Tod.nosp@m.orova.nosp@m.@cer.nosp@m.n.ch
Definition at line 49 of file MuonTGMeasurementTool.h.
◆ PairOfLayerID
◆ PairOfLayerPrd
◆ StoreGateSvc_t
◆ Track
◆ MuonTGMeasurementTool()
Muon::MuonTGMeasurementTool::MuonTGMeasurementTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
Constructor with AlgTool parameters.
Definition at line 34 of file MuonTGMeasurementTool.cxx.
36 declareInterface<Muon::IMuonTGMeasTool>(
this);
◆ ~MuonTGMeasurementTool()
virtual Muon::MuonTGMeasurementTool::~MuonTGMeasurementTool |
( |
| ) |
|
|
virtualdefault |
◆ associatedLayer() [1/2]
Implements Muon::IMuonTGMeasTool.
Definition at line 1112 of file MuonTGMeasurementTool.cxx.
1117 if (!
id.get_identifier32().get_compact())
return lay;
1125 for (
const auto *
i : detTV) {
1126 if (
i->layerRepresentation() &&
i->layerRepresentation()->layerType() > 0) {
1127 Identifier stId(
i->layerRepresentation()->layerType());
◆ associatedLayer() [2/2]
Implements Muon::IMuonTGMeasTool.
Definition at line 1143 of file MuonTGMeasurementTool.cxx.
1146 if (!vol)
return lay;
1151 while (!lay && iter != subVols.end()) {
1156 if (lay)
return lay;
1162 while (!lay && iter != ordLay.end()) {
1163 lay =
match(
id, *iter);
1167 if (lay)
return lay;
1173 while (!lay && iter != unOrdLay.end()) {
1174 lay =
match(
id, *iter);
1178 if (lay)
return lay;
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detElToLayer()
Implements Muon::IMuonTGMeasTool.
Definition at line 366 of file MuonTGMeasurementTool.cxx.
373 if (!lay || !parm || !(
id.get_identifier32().get_compact() > 0))
return projPar;
381 unsigned int hitType = 0;
387 unsigned int layType = 0;
393 if (layType != hitType)
return projPar;
404 if (fabs(lay->
getRef()) > 10e6) {
407 double ref0 = dec / 1.e5;
408 double ref1 = lay->
getRef() - dec * 1e5 - 0.5 * (
sign + 1) * 1e5;
415 if (sqrt(locWire[0] * locWire[0] + locWire[1] * locWire[1]) > 2000.) {
418 <<
": abandon projection");
429 if (!laySurf)
return projPar;
431 double ND =
dir.dot(normal);
432 double DL =
locDir.dot(wireDir);
433 double A = sqrt(1. - DL * DL);
435 mdtProj.setIdentity();
439 mdtProj(0, 1) = ND /
A;
441 mdtProj(1, 1) = DL /
A * sqrt(
A *
A - ND * ND) /
A;
452 pPar[0] += locWire[0];
453 pPar[1] += locWire[1];
459 projPar =
new Trk::
AtaPlane(pPar[0], pPar[1], pPar[2], pPar[3], pPar[4], *laySurf, projEM);
467 if (!laySurf)
return projPar;
480 double zswap = (lay->
getRef() > 10000.) ? -1. : 1.;
497 std::optional<
AmgMatrix(5, 5)> projEM = parm->covariance()->similarityT(*pMx);
499 ATH_MSG_DEBUG(
"back projected covariance(RPC->layer):" << (*projEM));
500 projPar =
new Trk::AtaPlane(pPar[0], pPar[1], pPar[2], pPar[3], pPar[4], *laySurf, projEM);
504 ATH_MSG_DEBUG(
"geometrical RPC projection (detElToLayer) for hit : "
511 bool onSurface = laySurf->
globalToLocal(globPos, globPos, locPos);
516 projPar =
new Trk::AtaPlane(pPar[0], pPar[1], pPar[2], pPar[3], pPar[4], *laySurf, projEM);
529 if (!laySurf)
return projPar;
534 double DN = parm->
momentum().dot(layNormal);
535 double t =
diff / DN;
546 Amg::
Vector3D corrLocPos = lay->surfaceRepresentation().center() -
t * parm->
momentum() +
t * DN * layNormal;
548 bool onSurface = lay->surfaceRepresentation().
globalToLocal(corrLocPos, corrLocPos, locCorrLay);
549 if (onSurface && locCorrLay.
size() > 0) {
554 std::optional<
AmgMatrix(5, 5)> projEM = parm->covariance()->similarity(pMxInv);
556 ATH_MSG_DEBUG(
"back projected covariance(CSC->layer):" << (*projEM));
557 projPar =
new Trk::AtaPlane(parProj[0], parProj[1], parProj[2], parProj[3], parProj[4], *laySurf, projEM);
564 if (!laySurf) {
return projPar; }
578 projPar =
new Trk::
AtaPlane(locPar[0], locPar[1], locPar[2], locPar[3], locPar[4], *laySurf, projEM);
587 bool onSurface = laySurf->globalToLocal(globPos, globPos, locPos);
589 locPar[0] = locPos[0];
590 locPar[1] = locPos[1];
593 projPar =
new Trk::AtaPlane(locPar[0], locPar[1], locPar[2], locPar[3], locPar[4], *laySurf, projEM);
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ getGeometry()
Good old way of retrieving the volume via the geometry service
Definition at line 98 of file MuonTGMeasurementTool.h.
102 if (!handle.isValid()) {
106 return handle.cptr();
◆ initialize()
StatusCode Muon::MuonTGMeasurementTool::initialize |
( |
| ) |
|
|
overridevirtual |
Definition at line 40 of file MuonTGMeasurementTool.cxx.
51 (*m_tgcProjEta)(0, 0) = 0.;
52 (*m_tgcProjEta)(1, 1) = 0.;
53 (*m_tgcProjEta)(0, 1) = 1.;
54 (*m_tgcProjEta)(1, 0) = -1.;
60 (*m_rpcProjEta)(0, 0) = 0.;
61 (*m_rpcProjEta)(1, 1) = 0.;
62 (*m_rpcProjEta)(0, 1) = 1.;
63 (*m_rpcProjEta)(1, 0) = 1.;
72 return StatusCode::SUCCESS;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ interfaceID()
static const InterfaceID& Muon::IMuonTGMeasTool::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
AlgTool interface method.
Definition at line 29 of file IMuonTGMeasTool.h.
30 static const InterfaceID IID_IMuonTGMeasTool(
"IMuonTGMeasTool", 1, 0);
31 return IID_IMuonTGMeasTool;
◆ layerToDetEl()
Implements Muon::IMuonTGMeasTool.
Definition at line 74 of file MuonTGMeasurementTool.cxx.
79 MuonDetMgr = DetectorManagerHandle.cptr();
80 if (MuonDetMgr ==
nullptr) {
81 ATH_MSG_ERROR(
"Null pointer to the read MuonDetectorManager conditions object");
91 if (!lay || !parm || !
id.get_identifier32().get_compact())
return projPar;
99 unsigned int hitType = 0;
105 unsigned int layType = 0;
111 if (layType != hitType)
return projPar;
120 ATH_MSG_DEBUG(
"extrapolated covariance:" << parm->covariance());
131 if (fabs(lay->
getRef()) > 10e6) {
134 double ref0 = dec / 1.e5;
135 double ref1 = lay->
getRef() - dec * 1e5 - 0.5 * (
sign + 1) * 1e5;
142 if (sqrt(locWire[0] * locWire[0] + locWire[1] * locWire[1]) > 2000.) {
145 <<
": abandon projection");
154 double DL =
locDir.dot(wireDir);
155 double A = sqrt(1. - DL * DL);
157 mdtProj.setIdentity();
159 const Trk::StraightLineSurface* tubeSurf = dynamic_cast<
const Trk::StraightLineSurface*>(&(mdtROE->surface(
id)));
162 mdtProj(0, 1) = ND /
A;
164 mdtProj(1, 1) = DL /
A * sqrt(
A *
A - ND * ND) /
A;
174 locPar[0] -= locWire[0];
175 locPar[1] -= locWire[1];
179 if (parm->covariance()) {
180 std::optional<
AmgMatrix(5, 5)> projEM = parm->covariance()->similarity(mdtProj);
181 ATH_MSG_DEBUG(
"projected covariance(layer->MDT):" << (*projEM));
182 projPar =
new Trk::AtaStraightLine(pPar[0], pPar[1], pPar[2], pPar[3], pPar[4], *tubeSurf, projEM);
192 if (!rpcROE)
return projPar;
194 if (!stripSurf)
return projPar;
206 double zswap = (lay->
getRef() > 10000.) ? -1. : 1.;
221 if (parm->covariance()) {
222 projEM = parm->covariance()->similarity(*pMx);
223 projPar =
new Trk::AtaPlane(pPar[0], pPar[1], pPar[2], pPar[3], pPar[4], *stripSurf, projEM);
226 projPar =
new Trk::AtaPlane(pPar[0], pPar[1], pPar[2], pPar[3], pPar[4], *stripSurf);
227 projEM = std::nullopt;
231 ATH_MSG_DEBUG(
"geometrical RPC projection (layerToDetEl) for hit : "
238 bool onSurface = stripSurf->
globalToLocal(globPos, globPos, locPos);
244 projPar = projEM ?
new Trk::AtaPlane(pPar[0], pPar[1], pPar[2], pPar[3], pPar[4], *stripSurf, projEM)
245 :
new Trk::
AtaPlane(pPar[0], pPar[1], pPar[2], pPar[3], pPar[4], *stripSurf);
262 if (!stripSurf)
return projPar;
267 double DN = parm->
momentum().dot(layNormal);
268 double t =
diff / DN;
284 parProj[2] = parm->parameters()[
Trk::phi];
296 if (parm->covariance()) {
297 std::optional<
AmgMatrix(5, 5)> projEM = parm->covariance()->similarity(*pMx);
299 ATH_MSG_DEBUG(
"projected covariance (layer->CSC):" << *projEM);
301 projPar =
new Trk::AtaPlane(locPar[0], locPar[1], locPar[2], locPar[3], locPar[4], *stripSurf, projEM);
304 projPar =
new Trk::AtaPlane(locPar[0], locPar[1], locPar[2], locPar[3], locPar[4], *stripSurf);
317 if (!stripSurf)
return projPar;
328 std::optional<
AmgMatrix(5, 5)> projEM = std::nullopt;
331 if (parm->covariance()) {
332 projEM = parm->covariance()->similarity(*pMx);
334 ATH_MSG_DEBUG(
"projected covariance (layer->TGC):" << (*projEM));
335 projPar =
new Trk::AtaPlane(locPar[0], locPar[1], locPar[2], locPar[3], locPar[4], *stripSurf, projEM);
338 projPar =
new Trk::AtaPlane(locPar[0], locPar[1], locPar[2], locPar[3], locPar[4], *stripSurf);
348 bool onSurface = stripSurf->
globalToLocal(globPos, globPos, locPos);
350 locPar[0] = locPos[0];
351 locPar[1] = locPos[1];
354 projPar = bcov ?
new Trk::AtaPlane(locPar[0], locPar[1], locPar[2], locPar[3], locPar[4], *stripSurf, projEM)
355 :
new Trk::
AtaPlane(locPar[0], locPar[1], locPar[2], locPar[3], locPar[4], *stripSurf);
◆ match()
◆ measToLayer()
Implements Muon::IMuonTGMeasTool.
Definition at line 603 of file MuonTGMeasurementTool.cxx.
608 MuonDetMgr = DetectorManagerHandle.cptr();
609 if (MuonDetMgr ==
nullptr) {
610 ATH_MSG_ERROR(
"Null pointer to the read MuonDetectorManager conditions object");
619 if (!lay || !parm || !rio)
return projRIO;
626 unsigned int hitType = 0;
636 if (fabs(lay->
getRef()) > 10e6) {
639 double ref0 = dec / 1.e5;
640 double ref1 = lay->
getRef() - dec * 1e5 - 0.5 * (
sign + 1) * 1e5;
653 double ND =
dir.dot(normal);
654 double DL =
locDir.dot(wireDir);
655 double A = sqrt(1. - DL * DL);
656 double A_ND =
A / ND;
682 else if (hitType == 2) {
689 if (
m_idHelperSvc->rpcIdHelper().measuresPhi(
id)) locPos *= eta;
692 double zswap = (lay->
getRef() > 10000.) ? -1. : 1.;
701 std::vector<Identifier> rdoList;
702 rdoList.push_back(
id);
715 else if (hitType == 3) {
720 double DN = parm->
momentum().dot(layNormal);
721 double t =
diff / DN;
729 if (!onSurface) {
return projRIO; }
739 std::vector<Identifier> rdoList;
740 rdoList.push_back(
id);
762 else if (hitType == 4) {
768 std::vector<Identifier> rdoList;
769 rdoList.push_back(
id);
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ nearestDetEl()
Implements Muon::IMuonTGMeasTool.
Definition at line 793 of file MuonTGMeasurementTool.cxx.
798 MuonDetMgr = DetectorManagerHandle.cptr();
799 if (MuonDetMgr ==
nullptr) {
ATH_MSG_ERROR(
"Null pointer to the read MuonDetectorManager conditions object"); }
805 if (!lay || !parm || !lay->
layerType())
return nid;
810 unsigned int hitType = 0;
823 if (!mdtROE)
return nid;
829 if (!onSurface || measPhi) {
return nid; }
831 double refL = lay->
getRef();
832 if (fabs(refL) > 10e6) {
835 refL = lay->
getRef() - dec * 1e5 - 0.5 * (
sign + 1) * 1e5;
837 double dloc = locLay[
Trk::locY] - refL + 15.0175;
838 int itube =
int(dloc / 30.035) + 1;
839 if (itube < 1 || itube > tMax || dloc < 0.) {
return nid; }
861 bool foundDoubletPhi =
false;
869 if (!rpcROE)
return nid;
870 if (!
m_idHelperSvc->rpcIdHelper().valid(refPhi1))
return nid;
871 int nStripPhi = rpcROE->
Nstrips(1);
889 if (onSurface1 && onSurfaceN && onSurface) {
892 strip = dstrip >= 0. ?
int(dstrip) + 1 : 0;
894 if (strip > 0 && strip <= nStripPhi) {
900 foundDoubletPhi =
true;
909 if (!foundDoubletPhi)
return nid;
914 while (doubletZ < 4) {
920 if (!rpcROE)
return nid;
921 if (!
m_idHelperSvc->rpcIdHelper().valid(refEta1))
return nid;
941 if (onSurface && onSurface1 && onSurfaceN) {
945 strip = dstrip >= 0. ?
int(dstrip) + 1 : 0;
947 if (strip > 0 && strip <=
nStrips) {
973 if (!refPar)
return nid;
996 pitch = (locN[0] -
loc1[0]) / fmax(1,
nStrips - 1);
1001 if (strip > 0 && strip <=
nStrips) {
1006 m_idHelperSvc->cscIdHelper().wireLayer(layId), measPhi, strip);
1007 if (fabs(
residual(parm, nearId)) > 0.5 * pitch)
1025 if (!refPar)
return nid;
1051 if (onSurface1 && onSurfaceN) {
1055 ATH_MSG_DEBUG(
"local position of boundary elements not retrieved, return 0 ");
1060 if (strip > 0 && strip <=
nStrips) {
1077 while (fabs(stripposition[0] - localhit[0]) > 0.5 * pitch) {
1078 if (stripposition[0] < localhit[0]) {
1091 if (strip < 1 || strip >
nStrips)
break;
1101 if (strip < 1 || strip >
nStrips)
return nid;
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ renounce()
◆ renounceArray()
◆ residual() [1/4]
◆ residual() [2/4]
Implements Muon::IMuonTGMeasTool.
Definition at line 1254 of file MuonTGMeasurementTool.cxx.
1258 MuonDetMgr = DetectorManagerHandle.cptr();
1259 if (MuonDetMgr ==
nullptr) {
1260 ATH_MSG_ERROR(
"Null pointer to the read MuonDetectorManager conditions object");
1265 double res = 10000.;
1266 if (!
layer || !layPar || !
id.get_identifier32().get_compact())
return res;
1269 if (!detElPar)
return res;
◆ residual() [3/4]
◆ residual() [4/4]
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_alignedMode
Gaudi::Property<bool> Muon::MuonTGMeasurementTool::m_alignedMode {this, "AlignedMode", true} |
|
private |
◆ m_DetectorManagerKey
Initial value:{this, "DetectorManagerKey", "MuonDetectorManager",
"Key of input MuonDetectorManager condition data"}
Definition at line 77 of file MuonTGMeasurementTool.h.
◆ m_detStore
◆ m_evtStore
◆ m_idHelperSvc
◆ m_muonDetMgr
◆ m_rpcProjEta
std::unique_ptr<AmgMatrix(5, 5)> Muon::MuonTGMeasurementTool::m_rpcProjEta |
|
private |
◆ m_rpcProjPhi
std::unique_ptr<AmgMatrix(5, 5)> Muon::MuonTGMeasurementTool::m_rpcProjPhi |
|
private |
◆ m_tgcProjEta
std::unique_ptr<AmgMatrix(5, 5)> Muon::MuonTGMeasurementTool::m_tgcProjEta |
|
private |
◆ m_tgcProjPhi
std::unique_ptr<AmgMatrix(5, 5)> Muon::MuonTGMeasurementTool::m_tgcProjPhi |
|
private |
◆ m_trackingGeometryReadKey
Initial value:{this, "TrackingGeometryReadKey", "",
"Key of input TrackingGeometry"}
Definition at line 83 of file MuonTGMeasurementTool.h.
◆ m_trackingGeometrySvc
Initial value:{this, "TrackingGeometrySvc",
"TrackingGeometrySvc/AtlasTrackingGeometrySvc"}
Definition at line 80 of file MuonTGMeasurementTool.h.
◆ m_useDSManager
Gaudi::Property<bool> Muon::MuonTGMeasurementTool::m_useDSManager {this, "UseDSManager", false} |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
const RpcReadoutElement * getRpcReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
virtual bool globalToLocal(const Amg::Vector3D &glob, const Amg::Vector3D &mom, Amg::Vector2D &loc) const override final
Specified for PlaneSurface: GlobalToLocal method without dynamic memory allocation - boolean checks i...
Eigen::Matrix< double, Eigen::Dynamic, 1 > VectorX
Dynamic Vector - dynamic allocation.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
const Amg::Vector3D & position() const
Access method for the position.
Eigen::Matrix< double, 2, 1 > Vector2D
const TrackingVolume * trackingVolume() const
returns the TrackingVolume
virtual const Surface & associatedSurface() const override=0
Access to the Surface associated to the Parameters.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
double getRef() const
get the reference measure
const Amg::MatrixX & localCovariance() const
return const ref to the error matrix
Class to represent calibrated clusters formed from TGC strips.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
MdtDriftCircleStatus
Enum to represent the 'status' of Mdt measurements e.g.
std::vector< SG::VarHandleKeyArray * > m_vhka
ArraySpan< DetachedTrackingVolume const *const > confinedDetachedVolumes() const
Return detached subVolumes - not the ownership.
An RpcReadoutElement corresponds to a single RPC module; therefore typicaly a barrel muon station con...
Class to represent calibrated clusters formed from RPC strips.
bool const RAWDATA *ch2 const
const Amg::Vector3D & center() const
Returns the center position of the Surface.
bool empty() const
Test if the key is blank.
virtual const Trk::PlaneSurface & surface() const override
access to chamber surface (phi orientation), uses the first gas gap
@ MdtStatusDriftTime
The tube produced a vaild measurement.
#define AmgMatrix(rows, cols)
int layerType() const
get the Layer coding
Matrix< Scalar, OtherDerived::RowsAtCompileTime, OtherDerived::RowsAtCompileTime > similarity(const MatrixBase< OtherDerived > &m) const
similarity method : yields ms = m*s*m^T
std::pair< double, ParamDefs > DefinedParameter
Amg::Vector3D channelPos(const Identifier &id) const
Returns the position of the active channel (wireGang or strip)
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
ParametersT< TrackParametersDim, Charged, StraightLineSurface > AtaStraightLine
const LayerArray * confinedLayers() const
Return the subLayer array.
const TgcReadoutElement * getTgcReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
std::bitset< 23 > MuonDriftCircleErrorStrategyInput
virtual const Surface & surfaceRepresentation() const =0
Transforms the layer into a Surface representation for extrapolation.
const MdtReadoutElement * getMdtReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
Class to represent RPC measurements.
const CscReadoutElement * getCscReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
Class representing clusters from the CSC.
ArraySpan< Layer const *const > confinedArbitraryLayers() const
Return the confined subLayer array.
CalibratedSpacePoint::Covariance_t inverse(const CalibratedSpacePoint::Covariance_t &mat)
Inverts the parsed matrix.
@ CscStatusSimple
Cluster with non-precision fit.
const TrackingVolume * lowestStaticTrackingVolume(const Amg::Vector3D &gp) const
return the lowest static tracking Volume
double getActiveTubeLength(const int tubeLayer, const int tube) const
CscClusterStatus status() const
Returns the Csc status (position measurement) flag.
std::pair< std::vector< unsigned int >, bool > res
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
double StripPitch(int chlayer, int measphi) const
A TgcReadoutElement corresponds to a single TGC chamber; therefore typically a TGC station contains s...
virtual const Amg::Vector3D & normal() const
Returns the normal vector of the Surface (i.e.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
double gangCentralWidth(int gasGap, int gang) const
Returns the length of the central wire in the gang.
const Amg::MatrixX & localCovariance() const
Interface method to get the localError.
@ DECIDED
sign of drift radius has been determined
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
int nStrips(const MuonGM::TgcReadoutElement &readoutEle, int layer)
Amg::Vector2D localPosition() const
Access method for the local coordinates, local parameter definitions differ for each surface type.
Ensure that the ATLAS eigen extensions are properly loaded.
Definition of ATLAS Math & Geometry primitives (Amg)
Amg::Vector3D stripPos(const Identifier &id) const
virtual BinnedArraySpan< T *const > arrayObjects()=0
Return all objects of the Array non-const we can still modify the T.
This class represents the corrected MDT measurements, where the corrections include the effects of wi...
StatusCode initialize(bool used=true)
Class to represent measurements from the Monitored Drift Tubes.
Eigen::Matrix< double, 3, 1 > Vector3D
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
double stripPitch(int gasGap, int strip) const
Returns the pitch of the given strip in gasGap i.
const Amg::Vector3D & momentum() const
Access method for the momentum.
Class to represent the calibrated clusters created from CSC strips.
virtual bool globalToLocal(const Amg::Vector3D &glob, const Amg::Vector3D &mom, Amg::Vector2D &loc) const =0
Specified by each surface type: GlobalToLocal method without dynamic memory allocation - boolean chec...
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
#define ATH_MSG_WARNING(x)
const boost::regex ref(r_ef)
const TrackingVolumeArray * confinedVolumes() const
Return the subLayer array.
Identifier identify() const
return the identifier -extends MeasurementBase
ParametersT< TrackParametersDim, Charged, PlaneSurface > AtaPlane
Class to represent TGC measurements.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
int Nstrips(bool measphi) const
returns the number of strips for the phi or eta plane
Amg::Vector3D stripPos(const Identifier &id) const
takes into account internal alignment parameters, hence gives accurate answer
CscClusterStatus
Enum to represent the cluster status - see the specific enum values for more details.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
int getNtubesperlayer() const
Returns the number of tubes in each tube layer.
const Amg::Transform3D & transform() const
Returns HepGeom::Transform3D by reference.
Polygon globalToLocal(const Polygon &pol, float z, const Trk::PlaneSurface &surf)
std::span< T > BinnedArraySpan
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Scalar mag() const
mag method