ATLAS Offline Software
Loading...
Searching...
No Matches
PtFromAlphaBeta.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_PTFROMALPHABETA_H
6#define TRIGL2MUONSA_PTFROMALPHABETA_H
7
9
10#include "GaudiKernel/ServiceHandle.h"
11
12#include "TrackData.h"
13#include "PtEndcapLUTSvc.h"
14#include "PtEndcapLUT.h"
15#include "TgcFitResult.h"
16
17namespace TrigL2MuonSA {
18
20{
21 public:
22
23 PtFromAlphaBeta(const std::string& type,
24 const std::string& name,
25 const IInterface* parent);
26
27 virtual StatusCode initialize() override;
28
29 void setMCFlag(bool use_mcLUT,
30 const TrigL2MuonSA::PtEndcapLUTSvc* ptEndcapLUTSvc);
31
32 public:
33
34 StatusCode setPt(TrigL2MuonSA::TrackPattern& trackPattern,
35 TrigL2MuonSA::TgcFitResult& tgcFitResult) const;
36
37 double compute_radius(double InnerSlope, double InnerR, double InnerZ,
38 double MiddleSlope, double MiddleR, double MiddleZ,
39 double sign);
40
41 private:
42
43 float f(float x, float c0, float c1, float c2, float c3) const;
44 float fp(float x, float c33, float c22, float c1) const;
45
46 bool m_use_mcLUT{false};
47 Gaudi::Property< bool > m_use_cscpt {
48 this, "useCscPt", false, ""};
49 Gaudi::Property< bool > m_avoid_misaligned_cscs {
50 this, "AvoidMisalignedCSCs", true, "avoid using the 2 new chambers, whose alignment is not completed"};
51
52 const ToolHandle<PtEndcapLUT>* m_ptEndcapLUT{nullptr};
53
54};
55
56} // namespace TrigL2MuonSA
57
58#endif // PTFROMALPHABETA_H
int sign(int a)
#define x
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Gaudi::Property< bool > m_use_cscpt
PtFromAlphaBeta(const std::string &type, const std::string &name, const IInterface *parent)
float fp(float x, float c33, float c22, float c1) const
Gaudi::Property< bool > m_avoid_misaligned_cscs
const ToolHandle< PtEndcapLUT > * m_ptEndcapLUT
double compute_radius(double InnerSlope, double InnerR, double InnerZ, double MiddleSlope, double MiddleR, double MiddleZ, double sign)
void setMCFlag(bool use_mcLUT, const TrigL2MuonSA::PtEndcapLUTSvc *ptEndcapLUTSvc)
virtual StatusCode initialize() override
float f(float x, float c0, float c1, float c2, float c3) const
StatusCode setPt(TrigL2MuonSA::TrackPattern &trackPattern, TrigL2MuonSA::TgcFitResult &tgcFitResult) const