![]() |
ATLAS Offline Software
|
#include "Identifier/Identifier.h"
Go to the source code of this file.
Namespaces | |
InDet | |
Primary Vertex Finder. | |
InDet::ModuleIdentifierMatchUtil | |
InDet::ModuleIdentifierMatchUtil::detail | |
Typedefs | |
using | InDet::ModuleIdentifierMatchUtil::ModuleData_t = std::array< int, ModuleIdentifierMatchUtil::kAllRows/2 > |
Enumerations | |
enum | InDet::ModuleIdentifierMatchUtil::EModulePatternPart { InDet::ModuleIdentifierMatchUtil::kBarrelEndcapSelectRange =0, InDet::ModuleIdentifierMatchUtil::kLayerRange =2, InDet::ModuleIdentifierMatchUtil::kEtaRange =4, InDet::ModuleIdentifierMatchUtil::kPhiRange =6, InDet::ModuleIdentifierMatchUtil::kColumnStripRange =8, InDet::ModuleIdentifierMatchUtil::kLength =10, InDet::ModuleIdentifierMatchUtil::kSideRange =12, InDet::ModuleIdentifierMatchUtil::kAllRows =14, InDet::ModuleIdentifierMatchUtil::kNParts =15 } |
The identifier parts used for identifier matching kAllRows denotes the element which contains a flag (0, 1), to specify whether a pattern should match all modules which are connected to the same side of a physical sensor. More... | |
Functions | |
template<class T_ID > | |
int | InDet::ModuleIdentifierMatchUtil::detail::getZeroOrSide (const T_ID &id_helper, const Identifier &id) |
template<ModuleDesignConcept T_ModuleDesign> | |
int | InDet::ModuleIdentifierMatchUtil::getColumnsOrCells (const T_ModuleDesign &moduleDesign) |
template<bool test_order, typename T > | |
bool | InDet::ModuleIdentifierMatchUtil::verifyElementCountAndOrder (const std::vector< std::vector< T > > &arr, std::size_t n_expected, [[maybe_unused]] std::size_t test_n=0) |
Test whether the given 2D vector has the expected number of elements, and correct ordering. More... | |
bool | InDet::ModuleIdentifierMatchUtil::verifyModulePatternList (const std::vector< std::vector< int > > &arr) |
Verify whether a list of module identifier patterns is consistent. More... | |
template<typename T > | |
bool | InDet::ModuleIdentifierMatchUtil::verifyElementCount (const std::vector< std::vector< T > > &arr, std::size_t n_expected) |
test whether the 2D vector arr has the expected number of elements. More... | |
void | InDet::ModuleIdentifierMatchUtil::setModuleData (EModulePatternPart part, int value, std::array< int, kAllRows/2 > &dest) |
Convenience function to set the specified element in the given array. More... | |
template<class T_ID , class T_ModuleDesign > | |
void | InDet::ModuleIdentifierMatchUtil::setModuleData (const T_ID &id_helper, const Identifier &identifier, const T_ModuleDesign &module_design, ModuleData_t &module_data) |
Convenience function to extract various identifier parts and set the given array. More... | |
void | InDet::ModuleIdentifierMatchUtil::moduleMatches (const std::vector< std::vector< int > > &module_pattern, const ModuleData_t &module_data, std::vector< unsigned int > &module_pattern_idx) |
Test whether an identifier, which is split into various parts, matches some of the given patterns. More... | |
bool | InDet::ModuleIdentifierMatchUtil::matchesBothSides (const std::vector< int > &a_module_pattern) |
Test whether the given pattern matches identifiers which refer to either side of a sensor. More... | |
bool | InDet::ModuleIdentifierMatchUtil::isSideMatching (const std::vector< int > &a_module_pattern, int side) |
Test whether the given pattern matches the given side. More... | |
bool | InDet::ModuleIdentifierMatchUtil::matchesAllModuleRowsOfSensor (const std::vector< int > &a_module_pattern) |
Test whether a pattern matches all module rows of a sensor or just a single row. More... | |
Variables | |
template<typename T_ID > | |
concept | InDet::ModuleIdentifierMatchUtil::detail::IdentifierHelperWithSideConecpt = requires(T_ID id_helper, Identifier id) { id_helper.side(id); } |
template<typename T_ModuleDesign > | |
concept | InDet::ModuleIdentifierMatchUtil::HasColumns = requires(T_ModuleDesign design) { design.columns(); } |
template<typename T_ModuleDesign > | |
concept | InDet::ModuleIdentifierMatchUtil::HasCells = requires(T_ModuleDesign design) { design.cells(); } |
template<typename T_ModuleDesign > | |
concept | InDet::ModuleIdentifierMatchUtil::ModuleDesignConcept = HasColumns<T_ModuleDesign> || HasCells<T_ModuleDesign> |