#include <MuonSectorMapping.h>
|
bool | insideSector (int sector, double phi) const |
| checks whether the phi position is consistent with sector More...
|
|
int | getSector (double phi) const |
| returns the sector corresponding to the phi position More...
|
|
void | getSectors (double phi, std::vector< int > §ors) const |
| returns the main sector plus neighboring if the phi position is in an overlap region More...
|
|
double | sectorPhi (int sector) const |
| returns the centeral phi position of a sector in radians More...
|
|
double | transformPhiToSector (double phi, int sector, bool toSector=true) const |
| transforms a phi position from and to the sector coordinate system in radians More...
|
|
double | transformRToSector (double r, double phi, int sector, bool toSector=true) const |
| expresses a radial position from and to the sector coordinate frame, the phi position should always be global in mm More...
|
|
double | sectorOverlapPhi (int sector1, int sector2) const |
| returns the phi position of the overlap between the two sectors (which have to be neighboring) in radians More...
|
|
bool | closeToSectorBoundary (double phi) const |
| checks whether the phi position is close to a sector boundary More...
|
|
double | transformRToNeighboringSector (double r, int sectorHit, int sectorTarget) const |
| transform a radial position from one sector frame into another More...
|
|
double | sectorSize (int sector) const |
| sector size (exclusive) in radians More...
|
|
double | sectorWidth (int sector) const |
| sector width (with overlap) in radians More...
|
|
Definition at line 20 of file MuonSectorMapping.h.
◆ closeToSectorBoundary()
bool Muon::MuonSectorMapping::closeToSectorBoundary |
( |
double |
phi | ) |
const |
|
inline |
checks whether the phi position is close to a sector boundary
Definition at line 106 of file MuonSectorMapping.h.
107 std::vector<int> sectors;
109 return sectors.size() > 1;
◆ getSector()
int Muon::MuonSectorMapping::getSector |
( |
double |
phi | ) |
const |
|
inline |
returns the sector corresponding to the phi position
Definition at line 86 of file MuonSectorMapping.h.
90 int sliceIndex =
static_cast<int>(
val / 2);
91 double valueInSlice =
val - 2 * sliceIndex;
92 int sector = 2 * sliceIndex + 1;
93 if (valueInSlice > 1.2) ++sector;
◆ getSectors()
void Muon::MuonSectorMapping::getSectors |
( |
double |
phi, |
|
|
std::vector< int > & |
sectors |
|
) |
| const |
|
inline |
returns the main sector plus neighboring if the phi position is in an overlap region
Definition at line 97 of file MuonSectorMapping.h.
99 int sectorNext = sector != 16 ? sector + 1 : 1;
100 int sectorBefore = sector != 1 ? sector - 1 : 16;
101 if (
insideSector(sectorBefore, phi)) sectors.push_back(sectorBefore);
102 if (
insideSector(sector, phi)) sectors.push_back(sector);
103 if (
insideSector(sectorNext, phi)) sectors.push_back(sectorNext);
◆ insideSector()
bool Muon::MuonSectorMapping::insideSector |
( |
int |
sector, |
|
|
double |
phi |
|
) |
| const |
|
inline |
checks whether the phi position is consistent with sector
Definition at line 74 of file MuonSectorMapping.h.
◆ isSmall()
static bool Muon::MuonSectorMapping::isSmall |
( |
int |
sector | ) |
|
|
inlinestatic |
◆ sectorOverlapPhi()
double Muon::MuonSectorMapping::sectorOverlapPhi |
( |
int |
sector1, |
|
|
int |
sector2 |
|
) |
| const |
|
inline |
returns the phi position of the overlap between the two sectors (which have to be neighboring) in radians
Definition at line 120 of file MuonSectorMapping.h.
121 if (sector1 == sector2)
return sectorPhi(sector1);
123 int s1 = sector1 < sector2 ? sector1 : sector2;
124 int s2 = sector1 > sector2 ? sector1 : sector2;
125 if (
s2 == 16 && s1 == 1) {
128 }
else if (std::abs(s1 -
s2) > 1) {
129 if (s_debug) std::cout <<
" bad sector combination: not neighbouring " <<
s1 <<
" " <<
s2 << std::endl;
135 if (phio1 >
M_PI) phio1 -= 2 *
M_PI;
◆ sectorPhi()
double Muon::MuonSectorMapping::sectorPhi |
( |
int |
sector | ) |
const |
|
inline |
returns the centeral phi position of a sector in radians
Definition at line 81 of file MuonSectorMapping.h.
82 if (sector < 10)
return M_PI * (sector - 1) / 8.;
83 return -
M_PI * (2 - (sector - 1) / 8.);
◆ sectorSize()
double Muon::MuonSectorMapping::sectorSize |
( |
int |
sector | ) |
const |
|
inline |
◆ sectorWidth()
double Muon::MuonSectorMapping::sectorWidth |
( |
int |
sector | ) |
const |
|
inline |
◆ transformPhiToSector()
double Muon::MuonSectorMapping::transformPhiToSector |
( |
double |
phi, |
|
|
int |
sector, |
|
|
bool |
toSector = true |
|
) |
| const |
|
inline |
transforms a phi position from and to the sector coordinate system in radians
Definition at line 112 of file MuonSectorMapping.h.
113 double sign = toSector ? -1 : 1;
◆ transformRToNeighboringSector()
double Muon::MuonSectorMapping::transformRToNeighboringSector |
( |
double |
r, |
|
|
int |
sectorHit, |
|
|
int |
sectorTarget |
|
) |
| const |
|
inline |
transform a radial position from one sector frame into another
Definition at line 152 of file MuonSectorMapping.h.
155 double dphio =
phi - phio;
156 if (dphio < -
M_PI) dphio += 2 *
M_PI;
159 double dphi = phio - phi_sec;
161 if (std::abs(dphi) > 0.3 && s_debug) {
162 std::cout <<
" large dphi detected!!: sector " << sector <<
" of hit " << sectorHit <<
" phi ref sector " << phi_sec <<
" hit "
163 <<
phi <<
" dphi " << dphi << std::endl;
◆ transformRToSector()
double Muon::MuonSectorMapping::transformRToSector |
( |
double |
r, |
|
|
double |
phi, |
|
|
int |
sector, |
|
|
bool |
toSector = true |
|
) |
| const |
|
inline |
expresses a radial position from and to the sector coordinate frame, the phi position should always be global in mm
Definition at line 140 of file MuonSectorMapping.h.
142 if (std::abs(dphi) > 0.3 && s_debug) {
143 std::cout <<
" large dphi detected!!: phi " <<
phi <<
" sector " << sector <<
" phi " <<
sectorPhi(sector) <<
" " <<
phi
144 <<
" dphi " << dphi << std::endl;
◆ ATLAS_THREAD_SAFE
bool s_debug Muon::MuonSectorMapping::ATLAS_THREAD_SAFE |
|
staticprivate |
◆ s_inverseOneEightsOfPi
constexpr double Muon::MuonSectorMapping::s_inverseOneEightsOfPi {8. / M_PI} |
|
staticconstexprprivate |
◆ s_oneEightsOfPi
constexpr double Muon::MuonSectorMapping::s_oneEightsOfPi {M_PI / 8.} |
|
staticconstexprprivate |
◆ s_sectorOverlap
constexpr double Muon::MuonSectorMapping::s_sectorOverlap {0.1 * s_oneEightsOfPi} |
|
staticconstexprprivate |
◆ s_sectorSize
The documentation for this class was generated from the following file: