ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigAlgorithms
TrigL2MuonSA
src
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
8
#include "
AthenaBaseComps/AthAlgTool.h
"
9
#include <string>
10
#include <array>
11
#include <functional>
//std::reference_wrapper
12
13
14
// Original author: Massimo Corradi
15
16
namespace
TrigL2MuonSA
{
17
18
// --------------------------------------------------------------------------------
19
// --------------------------------------------------------------------------------
20
struct
RpcLayerHits
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
38
class
RpcPatFinder
:
public
AthAlgTool
39
{
40
41
public
:
42
43
using
AthAlgTool::AthAlgTool
;
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.h
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
TrigL2MuonSA::RpcPatFinder
Definition
RpcPatFinder.h:39
TrigL2MuonSA::RpcPatFinder::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
TrigL2MuonSA::RpcPatFinder::abcal
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
Definition
RpcPatFinder.cxx:351
TrigL2MuonSA::RpcPatFinder::findPatternEta
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
Definition
RpcPatFinder.cxx:57
TrigL2MuonSA::RpcPatFinder::calibR
double calibR(const std::string &stationName, double R, double Phi) const
Definition
RpcPatFinder.cxx:322
TrigL2MuonSA::RpcPatFinder::findPatternPhi
bool findPatternPhi(double &phi_middle, double &phi_outer, const TrigL2MuonSA::RpcLayerHits &rpcLayerHits) const
Definition
RpcPatFinder.cxx:165
TrigL2MuonSA::RpcPatFinder::addHit
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
Definition
RpcPatFinder.cxx:18
TrigL2MuonSA::RpcPatFinder::deltaOK
bool deltaOK(int l1, int l2, double x1, double x2, int isphi, double &delta) const
Definition
RpcPatFinder.cxx:249
TrigL2MuonSA
Definition
AlignmentBarrelLUT.h:13
index
Definition
index.py:1
TrigL2MuonSA::RpcLayerHits
Definition
RpcPatFinder.h:21
TrigL2MuonSA::RpcLayerHits::hits_in_layer_eta
std::vector< std::vector< double > > hits_in_layer_eta
Definition
RpcPatFinder.h:22
TrigL2MuonSA::RpcLayerHits::hits_in_layer_Z
std::vector< std::vector< double > > hits_in_layer_Z
Definition
RpcPatFinder.h:24
TrigL2MuonSA::RpcLayerHits::clear
void clear()
Definition
RpcPatFinder.h:26
TrigL2MuonSA::RpcLayerHits::hits_in_layer_phi
std::vector< std::vector< double > > hits_in_layer_phi
Definition
RpcPatFinder.h:23
TrigL2MuonSA::RpcLayerHits::hits_in_layer_R
std::vector< std::vector< double > > hits_in_layer_R
Definition
RpcPatFinder.h:25
Generated on
for ATLAS Offline Software by
1.17.0