ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCalib
MdtCalib
MdtCalibData
src
CalibParamSorter.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
#include <
MdtCalibData/CalibParamSorter.h
>
5
6
namespace
MuonCalib
{
7
8
CalibParamSorter::CalibParamSorter
(
double
tol) :
9
m_tolerance
{tol}{}
10
11
int
CalibParamSorter::compare
(
const
std::vector<double>&
a
,
const
std::vector<double>& b)
const
{
12
if
(
a
.size() != b.size())
return
a
.size() < b.size() ? -1 : 1;
13
for
(
unsigned
int
i =0 ; i <
a
.size() ; ++i) {
14
const
double
d =
a
[i] - b[i];
15
if
(std::abs(d) >
m_tolerance
) {
16
return
d < 0. ? -1 : 1;
17
}
18
}
19
return
0;
20
}
21
int
CalibParamSorter::compare
(
const
CalibFunc
&
a
,
const
CalibFunc
& b)
const
{
22
if
(
a
.name() != b.name())
return
a
.name() < b.name() ? -1 : 1;
23
return
compare
(
a
.parameters() , b.parameters());
24
}
25
int
CalibParamSorter::compare
(
const
MdtRtRelation
&
a
,
const
MdtRtRelation
& b)
const
{
26
const
int
rtCmp =
compare
(*
a
.rt() , *b.rt());
27
if
(rtCmp)
return
rtCmp;
28
return
compare
(*
a
.rtRes(), *b.rtRes());
29
}
30
int
CalibParamSorter::compare
(
const
SingleTubeCalib
&
a
,
const
SingleTubeCalib
& b)
const
{
31
if
( std::abs(
a
.t0 - b.t0) >
m_tolerance
) {
32
return
a
.t0 < b.t0 ? -1 : 1;
33
}
34
if
(std::abs(
a
.adcCal - b.adcCal) >
m_tolerance
) {
35
return
a
.adcCal < b.adcCal ? - 1 : 1;
36
}
37
if
(
a
.statusCode != b.statusCode) {
38
return
a
.statusCode < b.statusCode ? -1 : 1;
39
}
40
return
0;
41
}
42
43
bool
CalibParamSorter::operator()
(
const
SingleTubeCalib
*
a
,
const
SingleTubeCalib
* b)
const
{
44
return
compare
(*
a
, *b) < 0;
45
}
46
bool
CalibParamSorter::operator()
(
const
CalibFunc
*
a
,
const
CalibFunc
* b)
const
{
47
return
compare
(*
a
, *b) < 0;
48
}
49
bool
CalibParamSorter::operator()
(
const
MdtFullCalibData::RtRelationPtr
&
a
,
50
const
MdtFullCalibData::RtRelationPtr
& b)
const
{
51
return
compare
(*
a
, *b) < 0;
52
}
53
bool
CalibParamSorter::operator()
(
const
SingleTubeCalibPtr
&
a
,
const
SingleTubeCalibPtr
& b)
const
{
54
return
compare
(*
a
, *b) < 0;
55
}
56
bool
CalibParamSorter::operator()
(
const
MdtRtRelation
*
a
,
const
MdtRtRelation
* b)
const
{
57
return
compare
(*
a
, *b) < 0;
58
}
59
60
}
CalibParamSorter.h
a
static Double_t a
Definition
LArPhysWaveHECTool.cxx:38
MuonCalib::CalibFunc
generic interface for a calibration function.
Definition
CalibFunc.h:33
MuonCalib::MdtRtRelation
class which holds calibration constants per rt-region
Definition
MdtRtRelation.h:19
MuonCalib
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
Definition
CscCalcPed.cxx:21
MuonCalib::CalibParamSorter::m_tolerance
double m_tolerance
Definition
CalibParamSorter.h:34
MuonCalib::CalibParamSorter::compare
int compare(const std::vector< double > &a, const std::vector< double > &b) const
Definition
CalibParamSorter.cxx:11
MuonCalib::CalibParamSorter::SingleTubeCalibPtr
MdtTubeCalibContainer::SingleTubeCalibPtr SingleTubeCalibPtr
Definition
CalibParamSorter.h:14
MuonCalib::CalibParamSorter::SingleTubeCalib
MdtTubeCalibContainer::SingleTubeCalib SingleTubeCalib
Definition
CalibParamSorter.h:13
MuonCalib::CalibParamSorter::CalibParamSorter
CalibParamSorter(double tol)
Definition
CalibParamSorter.cxx:8
MuonCalib::CalibParamSorter::operator()
bool operator()(const CalibFunc *a, const CalibFunc *b) const
Definition
CalibParamSorter.cxx:46
MuonCalib::MdtFullCalibData::RtRelationPtr
GeoModel::TransientConstSharedPtr< MdtRtRelation > RtRelationPtr
Definition
MdtFullCalibData.h:17
Generated on
for ATLAS Offline Software by
1.17.0