![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
#include <FPGATrackSimPlaneMap.h>
|
| FPGATrackSimPlaneMap (const std::string &filepath, unsigned region, unsigned stage, std::vector< int > layerOverrides=std::vector< int >()) |
|
uint32_t | getNDetLayers () const |
|
uint32_t | getNLogiLayers () const |
|
uint32_t | getNCoords () const |
|
uint32_t | getNSections (size_t logiLayer) const |
|
uint32_t | getDim (size_t logiLayer) const |
|
SiliconTech | getDetType (size_t logiLayer) const |
|
uint32_t | getCoordOffset (size_t logiLayer) const |
|
uint32_t | getCoordLayer (uint32_t coord) const |
|
const LayerInfo & | getLayerInfo (uint32_t layer, uint32_t section) const |
|
bool | isSCT (int pl) const |
|
bool | isPixel (int pl) const |
|
bool | isEC (uint32_t layer, uint32_t section) const |
|
std::string | layerName (uint32_t layer, uint32_t section) const |
|
const LayerSection & | getLayerSection (SiliconTech siTech, DetectorZone zone, uint32_t physLayer) const |
|
const LayerSection & | getLayerSection (LayerInfo const &mi) const |
|
int | getLayer (SiliconTech siTech, DetectorZone zone, uint32_t physLayer) const |
|
unsigned | getSection (SiliconTech siTech, DetectorZone zone, uint32_t physLayer) const |
|
void | map (FPGATrackSimHit &hit) const |
|
Definition at line 61 of file FPGATrackSimPlaneMap.h.
◆ FPGATrackSimPlaneMap()
FPGATrackSimPlaneMap::FPGATrackSimPlaneMap |
( |
const std::string & |
filepath, |
|
|
unsigned |
region, |
|
|
unsigned |
stage, |
|
|
std::vector< int > |
layerOverrides = std::vector<int>() |
|
) |
| |
◆ allocateMap()
void FPGATrackSimPlaneMap::allocateMap |
( |
std::ifstream & |
fin, |
|
|
uint32_t |
stage |
|
) |
| |
|
private |
Definition at line 64 of file FPGATrackSimPlaneMap.cxx.
68 std::string
line, silicon, detReg, layerKey, geoKey;
74 istringstream sline(
line);
75 ok = ok && (sline >> geoKey);
79 m_moduleRelabel = std::make_unique<FPGATrackSimModuleRelabel>(geoKey,
false);
88 istringstream sline(
line);
90 ok = ok && (layerKey ==
"logical_s1");
98 istringstream sline(
line);
100 ok = ok && (layerKey ==
"logical_s2");
107 int nHeaderLines = 6;
108 for (
int i = 0;
i < nHeaderLines;
i++)
114 istringstream sline(
line);
115 ok = ok && (sline >> layerCounts[
i] >> silicon >> detReg);
117 ok = ok && ( (
i < (nHeaderLines/2) && silicon ==
"pixel") || (
i >= (nHeaderLines/2) && silicon ==
"SCT") );
118 ok = ok && ( (
i % (nHeaderLines/2) == 0 && detReg ==
"barrel") || (
i % (nHeaderLines/2) != 0 && (detReg ==
"endcap+" || detReg ==
"endcap-")) );
◆ getCoordLayer()
uint32_t FPGATrackSimPlaneMap::getCoordLayer |
( |
uint32_t |
coord | ) |
const |
|
inline |
◆ getCoordOffset()
uint32_t FPGATrackSimPlaneMap::getCoordOffset |
( |
size_t |
logiLayer | ) |
const |
|
inline |
◆ getDetType()
SiliconTech FPGATrackSimPlaneMap::getDetType |
( |
size_t |
logiLayer | ) |
const |
|
inline |
◆ getDim()
uint32_t FPGATrackSimPlaneMap::getDim |
( |
size_t |
logiLayer | ) |
const |
|
inline |
◆ getLayer()
◆ getLayerInfo()
const LayerInfo& FPGATrackSimPlaneMap::getLayerInfo |
( |
uint32_t |
layer, |
|
|
uint32_t |
section |
|
) |
| const |
|
inline |
◆ getLayerSection() [1/2]
◆ getLayerSection() [2/2]
Definition at line 120 of file FPGATrackSimPlaneMap.h.
123 return m_map.at(
static_cast<int>(siTech)).at(
static_cast<int>(
zone)).at(physLayer);
124 }
catch ( std::out_of_range
const &
e)
127 return m_map.at(1).at(0).at(0);
◆ getNCoords()
uint32_t FPGATrackSimPlaneMap::getNCoords |
( |
| ) |
const |
|
inline |
◆ getNDetLayers()
uint32_t FPGATrackSimPlaneMap::getNDetLayers |
( |
| ) |
const |
|
inline |
◆ getNLogiLayers()
uint32_t FPGATrackSimPlaneMap::getNLogiLayers |
( |
| ) |
const |
|
inline |
◆ getNSections()
uint32_t FPGATrackSimPlaneMap::getNSections |
( |
size_t |
logiLayer | ) |
const |
|
inline |
◆ getOverrideLayer()
◆ getSection()
◆ isEC()
bool FPGATrackSimPlaneMap::isEC |
( |
uint32_t |
layer, |
|
|
uint32_t |
section |
|
) |
| const |
|
inline |
◆ isPixel()
bool FPGATrackSimPlaneMap::isPixel |
( |
int |
pl | ) |
const |
|
inline |
◆ isSCT()
bool FPGATrackSimPlaneMap::isSCT |
( |
int |
pl | ) |
const |
|
inline |
◆ layerName()
std::string FPGATrackSimPlaneMap::layerName |
( |
uint32_t |
layer, |
|
|
uint32_t |
section |
|
) |
| const |
◆ map()
◆ readLayers()
void FPGATrackSimPlaneMap::readLayers |
( |
std::ifstream & |
fin, |
|
|
uint32_t |
stage |
|
) |
| |
|
private |
Definition at line 157 of file FPGATrackSimPlaneMap.cxx.
160 int BEC{}, physLayer{}, physDisk{}, logiLayer{}, logiLayer1{}, logiLayer2{}, stereo{}, nDim{};
161 string line, silicon, planeKey1, planeKey2, stereoKey;
169 if (
line.empty() ||
line[0] ==
'!')
continue;
171 istringstream sline(
line);
173 ok = ok && (sline >> silicon >>
BEC >> physDisk >> physLayer);
185 if (silicon ==
"pixel")
190 ok = ok && (sline >> planeKey1 >> logiLayer1 >> planeKey2 >> logiLayer2);
191 ok = ok && (planeKey1 ==
"plane1" && planeKey2 ==
"plane2");
193 else if (silicon ==
"SCT")
199 ok = ok && (sline >> stereoKey >> stereo >> planeKey1 >> logiLayer1 >> planeKey2 >> logiLayer2);
200 ok = ok && (planeKey1 ==
"plane1" && planeKey2 ==
"plane2" && stereoKey ==
"stereo");
209 else if (
stage == 1) logiLayer = logiLayer1;
210 else if (
stage == 2) logiLayer = logiLayer2;
217 m_map.at(sil).at(
BEC).at(physLayer).layer = logiLayer;
222 m_layerInfo[logiLayer].push_back({ siTech,
zone, physLayer, physDisk, stereo});
◆ seek()
void FPGATrackSimPlaneMap::seek |
( |
std::ifstream & |
fin, |
|
|
unsigned |
region |
|
) |
| |
|
private |
Definition at line 137 of file FPGATrackSimPlaneMap.cxx.
140 unsigned region_read = -1;
144 if (
line.empty() ||
line[0] ==
'!')
continue;
146 istringstream sline(
line);
148 bool ok =
static_cast<bool>(sline >>
key >> region_read);
149 if (ok &&
key ==
"region" && region_read == region)
break;
◆ m_coordLayer
std::vector<uint32_t> FPGATrackSimPlaneMap::m_coordLayer |
|
private |
◆ m_coordOffset
std::vector<uint32_t> FPGATrackSimPlaneMap::m_coordOffset |
|
private |
◆ m_dimension
std::vector<uint32_t> FPGATrackSimPlaneMap::m_dimension |
|
private |
◆ m_diskIndex
std::vector<uint32_t> FPGATrackSimPlaneMap::m_diskIndex |
|
private |
◆ m_layerInfo
std::vector<std::vector<LayerInfo> > FPGATrackSimPlaneMap::m_layerInfo |
|
private |
◆ m_layerOverrides
std::vector<int> FPGATrackSimPlaneMap::m_layerOverrides |
|
private |
◆ m_map
std::vector<std::vector<std::vector<LayerSection> > > FPGATrackSimPlaneMap::m_map |
|
private |
◆ m_moduleRelabel
◆ m_nCoords
uint32_t FPGATrackSimPlaneMap::m_nCoords = 0 |
|
private |
◆ m_nDetLayers
uint32_t FPGATrackSimPlaneMap::m_nDetLayers = 0 |
|
private |
◆ m_nLogiLayers
uint32_t FPGATrackSimPlaneMap::m_nLogiLayers = 0 |
|
private |
The documentation for this class was generated from the following files:
void setSection(unsigned v)
std::vector< uint32_t > diskIndices(const std::string &geoKey)
for a given geo tag return disk indices remappings the format is this: 'GeometryVersion':'ATLAS-P2-RU...
unsigned getPhysLayer() const
bool accumulate(AccumulateMap &map, std::vector< module_t > const &modules, FPGATrackSimMatrixAccumulator const &acc)
Accumulates an accumulator (e.g.
bool isEC(uint32_t layer, uint32_t section) const
void readLayers(std::ifstream &fin, uint32_t stage)
std::vector< std::vector< std::vector< LayerSection > > > m_map
const LayerSection & getLayerSection(SiliconTech siTech, DetectorZone zone, uint32_t physLayer) const
bool isPixel(int pl) const
std::vector< int > m_layerOverrides
void seek(std::ifstream &fin, unsigned region)
std::vector< uint32_t > m_coordOffset
const LayerInfo & getLayerInfo(uint32_t layer, uint32_t section) const
DetectorZone getDetectorZone() const
std::string to_string(const DetectorType &type)
std::unique_ptr< FPGATrackSimModuleRelabel > m_moduleRelabel
void allocateMap(std::ifstream &fin, uint32_t stage)
void setLayer(unsigned v)
int getOverrideLayer(SiliconTech si, DetectorZone dz, int physLayer)
std::vector< uint32_t > m_dimension
SiliconTech getDetType() const
std::vector< std::vector< LayerInfo > > m_layerInfo
std::vector< uint32_t > m_diskIndex
std::vector< uint32_t > m_coordLayer
void setHitType(HitType type)