ATLAS Offline Software
Loading...
Searching...
No Matches
MuonAccessors_v1.icc
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5
6// System include(s):
7#include <iostream>
8#include <sstream>
9#include <exception>
10// #include "MuonAccessors_v1.h"
11/// Helper macro for managing cluster moment Accessor objects
12#define DEFINE_ACCESSOR(TYPE, NAME ) \
13 case NAME: \
14 { \
15 static const SG::Accessor< TYPE > a( #NAME ); \
16 return &a; \
17 } \
18 break;
19
20namespace xAOD {
21
22
23 template<>
24 const SG::Accessor< float >*
25 parameterAccessorV1<float>( Muon_v1::ParamDef type ) {
26 using enum Muon_v1::ParamDef;
27 switch( type ) {
28 DEFINE_ACCESSOR( float, spectrometerFieldIntegral );
29 DEFINE_ACCESSOR( float, scatteringCurvatureSignificance );
30 DEFINE_ACCESSOR( float, scatteringNeighbourSignificance );
31 DEFINE_ACCESSOR( float, momentumBalanceSignificance );
32 DEFINE_ACCESSOR( float, segmentDeltaEta );
33 DEFINE_ACCESSOR( float, segmentDeltaPhi );
34 DEFINE_ACCESSOR( float, segmentChi2OverDoF );
35 DEFINE_ACCESSOR( float, t0 );
36 DEFINE_ACCESSOR( float, beta );
37 DEFINE_ACCESSOR( float, annBarrel );
38 DEFINE_ACCESSOR( float, annEndCap );
39 DEFINE_ACCESSOR( float, innAngle );
40 DEFINE_ACCESSOR( float, midAngle );
41 DEFINE_ACCESSOR( float, msInnerMatchChi2 );
42 DEFINE_ACCESSOR( float, msOuterMatchChi2 );
43 DEFINE_ACCESSOR( float, meanDeltaADCCountsMDT );
44 DEFINE_ACCESSOR( float, CaloLRLikelihood );
45 DEFINE_ACCESSOR( float, CaloMuonScore );
46 DEFINE_ACCESSOR( float, FSR_CandidateEnergy );
47 DEFINE_ACCESSOR( float, EnergyLoss );
48 DEFINE_ACCESSOR( float, ParamEnergyLoss );
49 DEFINE_ACCESSOR( float, MeasEnergyLoss );
50 DEFINE_ACCESSOR( float, EnergyLossSigma );
51 DEFINE_ACCESSOR( float, ParamEnergyLossSigmaPlus );
52 DEFINE_ACCESSOR( float, ParamEnergyLossSigmaMinus );
53 DEFINE_ACCESSOR( float, MeasEnergyLossSigma );
54 default:{
55 std::stringstream sstr{};
56 sstr<<__FILE__<<":"<<__LINE__<<" Unknown float parameter "<<type<<" requested.";
57 throw std::runtime_error(sstr.str());
58 }
59 }
60 return nullptr;
61 }
62
63 template<>
64 const SG::Accessor< int >*
65 parameterAccessorV1<int>( Muon_v1::ParamDef type ) {
66 switch( type ) {
67 using enum Muon_v1::ParamDef;
68 DEFINE_ACCESSOR( int, msInnerMatchDOF );
69 DEFINE_ACCESSOR( int, msOuterMatchDOF );
70 DEFINE_ACCESSOR( int, CaloMuonIDTag );
71 default:{
72 std::stringstream sstr{};
73 sstr<<__FILE__<<":"<<__LINE__<<" - Unknown int parameter "<<type<<" requested.";
74 throw std::runtime_error(sstr.str());
75 }
76 }
77 return nullptr;
78 }
79
80} // namespace xAOD