13 #include "tracking/dataobjects/FullSecID.h"
25 template<
class sectorID >
28 class SectorsOnSensor {
54 const std::vector< double >& normalizedUsup,
55 const std::vector< double >& normalizedVsup,
56 const std::vector< std::vector< FullSecID > >& fullSecIDs)
60 for (
auto Vsup : normalizedVsup)
65 for (
auto Usup : normalizedUsup)
79 FullSecID
operator()(
double normalizedU,
double normalizedV)
const
82 if (normalizedU < 0. or normalizedU > 1.)
84 if (normalizedV < 0. or normalizedV > 1.)
96 auto uIndex = uKeyVal->second;
97 auto vIndex = vKeyVal->second;
109 void get(std::vector< double >* normalizedUsup,
110 std::vector< double >* normalizedVsup,
111 std::vector< std::vector< unsigned int > >* secID)
const
115 if (uIndexPair.first != FLT_MAX)
116 normalizedUsup->push_back(uIndexPair.first);
120 if (vIndexPair.first != FLT_MAX)
121 normalizedVsup->push_back(vIndexPair.first);
125 std::vector< unsigned int > tmp_col;
127 tmp_col.push_back(
id);
128 secID->push_back(tmp_col);
136 if ((normalizedU < 0.) or (normalizedU > 1.))
return false;
137 if ((normalizedV < 0.) or (normalizedV > 1.))
return false;
171 if (sector.equalIgnoreSubLayerID(thisSecID)) {
172 thisSecID =
FullSecID(thisSecID.getVxdID(), (
bool)sublayer, thisSecID.getSecID());