ATLAS Offline Software
Loading...
Searching...
No Matches
SagittaRadiusEstimate.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGL2MUONSA_SAGITTARADIUSESTIMATE_H
6#define TRIGL2MUONSA_SAGITTARADIUSESTIMATE_H
7
9
10#include "GaudiKernel/ServiceHandle.h"
11
13
14#include "RpcFitResult.h"
15#include "TrackData.h"
16
18#include "AlignmentBarrelLUT.h"
19
20namespace TrigL2MuonSA {
21
23{
24 public:
25
26 SagittaRadiusEstimate(const std::string& type,
27 const std::string& name,
28 const IInterface* parent);
29
30 void setMCFlag(bool use_mcLUT,
31 const AlignmentBarrelLUTSvc* alignmentBarrelLUTSvc);
32
33 void setUseEndcapInner( bool use_endcapInner ){ m_use_endcapInner = use_endcapInner; };
34
35 public:
36
37 StatusCode setSagittaRadius(const TrigRoiDescriptor* p_roids,
38 TrigL2MuonSA::RpcFitResult& rpcFitResult,
39 TrigL2MuonSA::TrackPattern& trackPattern) const;
40
41 private:
42
43 bool m_use_mcLUT{false};
44
45 bool m_use_endcapInner{false};
46
47 const ToolHandle<AlignmentBarrelLUT>* m_alignmentBarrelLUT = nullptr;
48
49 float f(float x, float c0, float c1, float c2, float c3) const;
50 float fp(float x, float c33, float c22, float c1) const;
51};
52
53
54 inline float TrigL2MuonSA::SagittaRadiusEstimate::f(float x, float c0, float c1, float c2, float c3) const
55 {
56 return c0 + x * (c1 + x * (c2 + x * c3));
57 }
58
59 inline float TrigL2MuonSA::SagittaRadiusEstimate::fp(float x, float c33, float c22, float c1) const
60 {
61 return c1 + x * (c22 + x * c33);
62 }
63
64} // namespace TrigL2MuonSA
65
66#endif // SAGITTARADIUSESTIMATE_H
#define x
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
const ToolHandle< AlignmentBarrelLUT > * m_alignmentBarrelLUT
StatusCode setSagittaRadius(const TrigRoiDescriptor *p_roids, TrigL2MuonSA::RpcFitResult &rpcFitResult, TrigL2MuonSA::TrackPattern &trackPattern) const
void setUseEndcapInner(bool use_endcapInner)
float f(float x, float c0, float c1, float c2, float c3) const
SagittaRadiusEstimate(const std::string &type, const std::string &name, const IInterface *parent)
void setMCFlag(bool use_mcLUT, const AlignmentBarrelLUTSvc *alignmentBarrelLUTSvc)
float fp(float x, float c33, float c22, float c1) const
nope - should be used for standalone also, perhaps need to protect the class def bits ifndef XAOD_ANA...