ATLAS Offline Software
Loading...
Searching...
No Matches
ModuleIdentifierMatchUtil.h File Reference
#include "Identifier/Identifier.h"
Include dependency graph for ModuleIdentifierMatchUtil.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  InDet
 Primary Vertex Finder.
namespace  InDet::ModuleIdentifierMatchUtil
namespace  InDet::ModuleIdentifierMatchUtil::detail

Concepts

concept  InDet::ModuleIdentifierMatchUtil::detail::IdentifierHelperWithSideConecpt
concept  InDet::ModuleIdentifierMatchUtil::HasColumns
concept  InDet::ModuleIdentifierMatchUtil::HasCells
concept  InDet::ModuleIdentifierMatchUtil::ModuleDesignConcept

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, std::size_t test_n=0)
 Test whether the given 2D vector has the expected number of elements, and correct ordering.
bool InDet::ModuleIdentifierMatchUtil::verifyModulePatternList (const std::vector< std::vector< int > > &arr)
 Verify whether a list of module identifier patterns is consistent.
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.
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.
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.
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.
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.
bool InDet::ModuleIdentifierMatchUtil::isSideMatching (const std::vector< int > &a_module_pattern, int side)
 Test whether the given pattern matches the given side.
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.