ATLAS Offline Software
Loading...
Searching...
No Matches
RpcPatFinder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGL2MUONSA_RPAPATFINDER_H
6#define TRIGL2MUONSA_RPAPATFINDER_H
7
9#include <string>
10#include <array>
11#include <functional> //std::reference_wrapper
12
13
14// Original author: Massimo Corradi
15
16namespace TrigL2MuonSA {
17
18// --------------------------------------------------------------------------------
19// --------------------------------------------------------------------------------
21{
22 std::vector<std::vector<double>> hits_in_layer_eta;
23 std::vector<std::vector<double>> hits_in_layer_phi;
24 std::vector<std::vector<double>> hits_in_layer_Z;
25 std::vector<std::vector<double>> hits_in_layer_R;
26 void clear() {
27 hits_in_layer_eta.assign(8,std::vector<double> {});
28 hits_in_layer_phi.assign(8,std::vector<double> {});
29 hits_in_layer_R.assign(8,std::vector<double> {});
30 hits_in_layer_Z.assign(8,std::vector<double> {});
31 }
32};
33
34// --------------------------------------------------------------------------------
35// --------------------------------------------------------------------------------
36
37
39{
40
41 public:
42
44
45 public:
46
47 void addHit(const std::string& stationName,
48 int stationEta,
49 bool measuresPhi,
50 unsigned int gasGap,
51 unsigned int doubletR,
52 double gPosX, double gPosY, double gPosZ,
53 TrigL2MuonSA::RpcLayerHits& rpcLayerHits) const;
54 bool findPatternEta(
55 std::array<std::reference_wrapper<double>, 3>& result_aw,
56 std::array<std::reference_wrapper<double>, 3>& result_bw,
57 const TrigL2MuonSA::RpcLayerHits& rpcLayerHits) const;
58
59 bool findPatternPhi(double &phi_middle, double &phi_outer, const TrigL2MuonSA::RpcLayerHits& rpcLayerHits) const;
60
61 private:
62 bool deltaOK(int l1, int l2, double x1, double x2, int isphi, double &delta) const;
63 double calibR(const std::string& stationName, double R, double Phi) const;
64 void abcal(const std::bitset<8>& result_pat,
65 const std::array<size_t, 8>& index,
66 std::array<std::reference_wrapper<double>, 3>& aw,
67 std::array<std::reference_wrapper<double>, 3>& bw,
68 const TrigL2MuonSA::RpcLayerHits& rpcLayerHits) const;
69};
70
71}
72#endif
73
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
void abcal(const std::bitset< 8 > &result_pat, const std::array< size_t, 8 > &index, std::array< std::reference_wrapper< double >, 3 > &aw, std::array< std::reference_wrapper< double >, 3 > &bw, const TrigL2MuonSA::RpcLayerHits &rpcLayerHits) const
bool findPatternEta(std::array< std::reference_wrapper< double >, 3 > &result_aw, std::array< std::reference_wrapper< double >, 3 > &result_bw, const TrigL2MuonSA::RpcLayerHits &rpcLayerHits) const
double calibR(const std::string &stationName, double R, double Phi) const
bool findPatternPhi(double &phi_middle, double &phi_outer, const TrigL2MuonSA::RpcLayerHits &rpcLayerHits) const
void addHit(const std::string &stationName, int stationEta, bool measuresPhi, unsigned int gasGap, unsigned int doubletR, double gPosX, double gPosY, double gPosZ, TrigL2MuonSA::RpcLayerHits &rpcLayerHits) const
bool deltaOK(int l1, int l2, double x1, double x2, int isphi, double &delta) const
Definition index.py:1
std::vector< std::vector< double > > hits_in_layer_eta
std::vector< std::vector< double > > hits_in_layer_Z
std::vector< std::vector< double > > hits_in_layer_phi
std::vector< std::vector< double > > hits_in_layer_R