|
ATLAS Offline Software
|
#include <RegSelectorHashMap.h>
|
virtual void | HashIDList (const IRoiDescriptor &roi, std::vector< IdentifierHash > &idlist) const override |
| implementation of the IRegSelUT interface More...
|
|
virtual void | HashIDList (long layer, const IRoiDescriptor &roi, std::vector< IdentifierHash > &idlist) const override |
| HashIDList interface declaration. return list of non-repeated IdentifierHash. More...
|
|
virtual void | ROBIDList (const IRoiDescriptor &roi, std::vector< uint32_t > &roblist) const override |
| rob methods More...
|
|
virtual void | ROBIDList (long layer, const IRoiDescriptor &roi, std::vector< uint32_t > &roblist) const override |
| ROBIDList interface declaration. This interface can be used by the ID subdetectors. A list of non-repeated ROBIDs (uint_32_t) is returned by a reference. More...
|
|
virtual | ~RegSelectorHashMap () override=default |
|
double | etaminValue () const |
| rest of the class implementation More...
|
|
double | etamaxValue () const |
|
double | phiminValue () const |
|
double | phimaxValue () const |
|
const std::vector< double > & | etaMinOut (void) const |
|
const std::vector< double > & | etaMaxOut (void) const |
|
const std::vector< double > & | phiMinOut (void) const |
|
const std::vector< double > & | phiMaxOut (void) const |
|
void | mountDataStruct (void) |
|
const std::vector< IdentifierHash > & | hashIdOut (void) const |
|
const std::vector< std::vector< uint32_t > > & | robIdOut (void) const |
|
const std::vector< int > & | sampleOut (void) const |
|
const std::vector< int > & | layerOut (void) const |
|
void | regionSelectorRobIdUint (double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, std::vector< uint32_t > &outRobIDList) const |
|
void | regionSelectorRobIdUint (int sampling, double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, std::vector< uint32_t > &outRobIDList) const |
|
void | regionSelector (double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, std::vector< IdentifierHash > &outList) const |
|
void | regionSelector (int sampling, double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, std::vector< IdentifierHash > &outList) const |
|
void | initvar (void) |
|
StatusCode | read (const char *filename) |
|
void | addLut (const RegionSelectorLUT *detLut) |
|
void | summaryDataFile (std::list< RegSelectorMapElement > &dataList) |
|
void | verifyInputs (double &etaminIn, double &etamaxIn, double &phiminIn, double &phimaxIn) const |
|
void | verifyROBIDOutput (double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, std::vector< uint32_t > &outputIdlist) const |
|
void | verifyROBIDOutput (int sampling, double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, std::vector< uint32_t > &outputIdlist) const |
|
void | verifyOutput (double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, std::vector< IdentifierHash > *outputIdlist) const |
|
void | verifyOutput (int sampling, double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, std::vector< IdentifierHash > *outputIdlist) const |
|
void | getEtaPhi (IdentifierHash hashId, double *etaMin, double *etaMax, double *phiMin, double *phiMax) const |
|
void | DisableMissingROBs (const std::vector< uint32_t > &vec) |
|
|
virtual void | HashIDList_internal (const IRoiDescriptor &roi, std::vector< IdentifierHash > &idlist) const |
| internal implementation of the IRegSelUT interface More...
|
|
virtual void | HashIDList_internal (long layer, const IRoiDescriptor &roi, std::vector< IdentifierHash > &idlist) const |
|
virtual void | ROBIDList_internal (const IRoiDescriptor &roi, std::vector< uint32_t > &roblist) const |
| rob methods More...
|
|
virtual void | ROBIDList_internal (long layer, const IRoiDescriptor &roi, std::vector< uint32_t > &roblist) const |
|
template<typename C , typename T > |
void | IDList (const IRoiDescriptor &roi, std::vector< T > &idlist, handler< C, T > lister) const |
|
template<typename C , typename T > |
void | IDList_layer (long layer, const IRoiDescriptor &roi, std::vector< T > &idlist, handler_layer< C, T > lister) const |
|
|
void | populateMatrix (int iPage, IdentifierHash value) |
|
void | populateMatrixRobId (int iPage, uint32_t value) |
|
void | initMatrix (void) |
|
void | writeLine (const int &layer, const IdentifierHash &hashId, const std::vector< uint32_t > &robId, const double &emin, const double &emax, const double &pmin, const double &pmax, const int &samp) |
|
int | MyRound (double pdValue) |
|
void | regionSelectorIN (const int &sampling, const double &etaminIn, const double &etamaxIn, const double &phiminIn, const double &phimaxIn, std::vector< IdentifierHash > *outListIH) const |
|
void | regionSelectorINROB (const int &sampling, const double &etaminIn, const double &etamaxIn, const double &phiminIn, const double &phimaxIn, std::vector< uint32_t > *outList) const |
|
void | phiCondition (const std::vector< IdentifierHash > &identifier, int i, double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, double etamin, double etamax, std::set< IdentifierHash > *outset) const |
|
void | phiConditionRobId (const std::vector< std::vector< uint32_t > > &identifier, int i, double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, double etamin, double etamax, std::set< uint32_t > *outset) const |
|
void | findIdentifier (std::vector< IdentifierHash > &auxsetIH, const int iXBeg, const int iXEnd, const int iYBeg, const int iYEnd, const int iPage) const |
|
void | findIdentifierROB (std::vector< uint32_t > &auxset, const int iXBeg, const int iXEnd, const int iYBeg, const int iYEnd, const int iPage) const |
|
Definition at line 40 of file RegSelectorHashMap.h.
◆ handler
template<typename C , typename T >
◆ handler_layer
template<typename C , typename T >
◆ ~RegSelectorHashMap()
virtual RegSelectorHashMap::~RegSelectorHashMap |
( |
| ) |
|
|
overridevirtualdefault |
◆ addLut()
Definition at line 611 of file RegSelectorHashMap.cxx.
615 std::vector<uint32_t> robId_cpy;
620 double etamin(-999.0), etamax(-999.0), phimin(-999.0), phimax(-999.0);
621 int samp(999),
layer(999);
623 int tablesize = detLut->
maxHash();
633 for(
int j=0; j<tablesize; ++j){
636 detLut->
phiMin(j)==phimin && detLut->
phiMax(j) == phimax &&
638 robId_cpy.push_back(detLut->
robId(j));
653 robId_cpy.push_back(detLut->
robId(j));
659 double stepPhi = std::fabs(phimax-phimin);
660 double stepEta = std::fabs(
etamin-etamax);
◆ DisableMissingROBs()
void RegSelectorHashMap::DisableMissingROBs |
( |
const std::vector< uint32_t > & |
vec | ) |
|
◆ etaMaxOut()
const std::vector< double > & RegSelectorHashMap::etaMaxOut |
( |
void |
| ) |
const |
◆ etamaxValue()
double RegSelectorHashMap::etamaxValue |
( |
| ) |
const |
◆ etaMinOut()
const std::vector< double > & RegSelectorHashMap::etaMinOut |
( |
void |
| ) |
const |
◆ etaminValue()
double RegSelectorHashMap::etaminValue |
( |
| ) |
const |
◆ findIdentifier()
Definition at line 971 of file RegSelectorHashMap.cxx.
975 int xEta, yPhi, iPosition;
977 for(xEta= iXBeg; xEta < iXEnd; ++xEta){
978 for(yPhi=iYBeg; yPhi < iYEnd; ++yPhi){
979 iPosition = iPage + (yPhi*
m_iColumns + xEta);
986 if(auxsetIH.size()!=0){
987 sort(auxsetIH.begin(),auxsetIH.end());
988 auxsetIH.erase(
unique(auxsetIH.begin(),auxsetIH.end()),auxsetIH.end());
◆ findIdentifierROB()
void RegSelectorHashMap::findIdentifierROB |
( |
std::vector< uint32_t > & |
auxset, |
|
|
const int |
iXBeg, |
|
|
const int |
iXEnd, |
|
|
const int |
iYBeg, |
|
|
const int |
iYEnd, |
|
|
const int |
iPage |
|
) |
| const |
|
private |
Definition at line 993 of file RegSelectorHashMap.cxx.
997 int xEta, yPhi, iPosition;
998 unsigned int i,size_rod;
1000 for(xEta= iXBeg; xEta < iXEnd; ++xEta){
1001 for(yPhi=iYBeg; yPhi < iYEnd; ++yPhi){
1002 iPosition = iPage + (yPhi*
m_iColumns + xEta);
1004 for(
i=0;
i < size_rod; ++
i)
1010 if(auxset.size()!=0){
1011 sort(auxset.begin(),auxset.end());
1012 auxset.erase(
unique(auxset.begin(),auxset.end()),auxset.end());
◆ getEtaPhi()
void RegSelectorHashMap::getEtaPhi |
( |
IdentifierHash |
hashId, |
|
|
double * |
etaMin, |
|
|
double * |
etaMax, |
|
|
double * |
phiMin, |
|
|
double * |
phiMax |
|
) |
| const |
◆ HashIDList() [1/2]
implementation of the IRegSelUT interface
implementation of the IRegSelUT interface
hash id methods
hash id methods
Implements IRegSelLUT.
Definition at line 20 of file RegSelectorHashMap.cxx.
◆ HashIDList() [2/2]
HashIDList interface declaration. return list of non-repeated IdentifierHash.
- Parameters
-
long | layer, long int to decide which layer within the detector. |
IRoiDescriptor | roi, the IRoiDescriptor for the roi, all enabled elements in the roi are found. |
- Returns
- std::vector<IdentifierHash> which is a list of non-repeated Offline Identifier Hash numbers.
Implements IRegSelLUT.
Definition at line 24 of file RegSelectorHashMap.cxx.
◆ HashIDList_internal() [1/2]
internal implementation of the IRegSelUT interface
implementation of the IRegSelUT interface
hash id methods
Definition at line 44 of file RegSelectorHashMap.cxx.
◆ HashIDList_internal() [2/2]
◆ hashIdOut()
◆ IDList()
template<typename C , typename T >
Definition at line 88 of file IRegSelLUT.h.
92 for (
unsigned iroi=roi.
size() ; iroi-- ; ) IDList<C>( *(roi.
at(iroi)), idlist, lister );
97 (
dynamic_cast<const C*
>(
this)->*lister)( roi, idlist );
◆ IDList_layer()
template<typename C , typename T >
Definition at line 106 of file IRegSelLUT.h.
110 for (
unsigned iroi=roi.
size() ; iroi-- ; ) IDList_layer<C>(
layer, *(roi.
at(iroi)), idlist, lister );
115 (
dynamic_cast<const C*
>(
this)->*lister)(
layer, roi, idlist );
◆ initMatrix()
void RegSelectorHashMap::initMatrix |
( |
void |
| ) |
|
|
private |
◆ initvar()
void RegSelectorHashMap::initvar |
( |
void |
| ) |
|
◆ layerOut()
const std::vector< int > & RegSelectorHashMap::layerOut |
( |
void |
| ) |
const |
◆ mountDataStruct()
void RegSelectorHashMap::mountDataStruct |
( |
void |
| ) |
|
Definition at line 118 of file RegSelectorHashMap.cxx.
119 int iNumRanges, iRepeatOverX, iRepeatOverY, xEta, yPhi,
k;
120 int iPage, iPosition, iXeta, iYphi;
121 double dEtaMin=-999, dEtaMax=-999, dPhiMin= -999, dPhiMax = -999;
137 for(
k=0;
k<iNumRanges;++
k){
145 iRepeatOverX = std::abs(iRepeatOverX);
148 iRepeatOverY = std::abs(iRepeatOverY);
154 for(yPhi=0;yPhi<iRepeatOverY;++yPhi){
156 for(xEta=0;xEta<iRepeatOverX;++xEta){
157 iPosition = iPage + (iYphi*
m_iColumns +iXeta);
168 for(
k=0;
k<iNumRanges;++
k){
169 std::cout <<
"REGSELECTOR HASH TABLE " <<
174 std::cout << std::hex;
177 std::cout << std::dec;
178 std::cout << std::endl;
181 for(
k=0;
k<iNumRanges;++
k){
188 iRepeatOverX = std::abs(iRepeatOverX);
190 iRepeatOverY = std::abs(iRepeatOverY);
194 for(yPhi=0;yPhi<iRepeatOverY;++yPhi){
196 for(xEta=0;xEta<iRepeatOverX;++xEta){
197 iPosition = iPage + (iYphi*
m_iColumns +iXeta);
198 std::cout <<
"REGSELECTOR MAPS " <<
199 iXeta <<
" " << iYphi <<
" " << iPosition <<
" " <<
201 std::cout << std::hex;
203 std::cout <<
"0x" <<
m_robIDMap[iPosition][
i] <<
" ";
204 std::cout << std::dec;
205 std::cout << std::endl;
◆ MyRound()
int RegSelectorHashMap::MyRound |
( |
double |
pdValue | ) |
|
|
private |
Definition at line 291 of file RegSelectorHashMap.cxx.
295 dFloor = std::floor(pdValue);
296 dAux = std::fabs(pdValue-dFloor);
298 iReturn = (
int) (dFloor + 1);
300 iReturn = (
int) dFloor;
◆ phiCondition()
void RegSelectorHashMap::phiCondition |
( |
const std::vector< IdentifierHash > & |
identifier, |
|
|
int |
i, |
|
|
double |
etaminIn, |
|
|
double |
etamaxIn, |
|
|
double |
phiminIn, |
|
|
double |
phimaxIn, |
|
|
double |
etamin, |
|
|
double |
etamax, |
|
|
std::set< IdentifierHash > * |
outset |
|
) |
| const |
|
private |
Definition at line 462 of file RegSelectorHashMap.cxx.
467 double phimin, phimax;
472 if( (etaminIn <= etamax) && (etamaxIn >=
etamin) ){
473 if( (phiminIn <= phimax) && (phimaxIn >= phimin) ){
479 if( (etaminIn <= etamax) && (etamaxIn >=
etamin) ){
480 if( (phiminIn <= phimax) && (phimaxIn >= phimin) ){
487 if( (etaminIn <= etamax) && (etamaxIn >=
etamin) ){
488 if( (phiminIn <= phimax) && (phimaxIn >= phimin) ){
◆ phiConditionRobId()
void RegSelectorHashMap::phiConditionRobId |
( |
const std::vector< std::vector< uint32_t > > & |
identifier, |
|
|
int |
i, |
|
|
double |
etaminIn, |
|
|
double |
etamaxIn, |
|
|
double |
phiminIn, |
|
|
double |
phimaxIn, |
|
|
double |
etamin, |
|
|
double |
etamax, |
|
|
std::set< uint32_t > * |
outset |
|
) |
| const |
|
private |
Definition at line 496 of file RegSelectorHashMap.cxx.
501 double phimin, phimax;
506 if( (etaminIn <= etamax) && (etamaxIn >=
etamin) ){
507 if( (phiminIn <= phimax) && (phimaxIn >= phimin) ){
513 if( (etaminIn <= etamax) && (etamaxIn >=
etamin) ){
514 if( (phiminIn <= phimax) && (phimaxIn >= phimin) ){
521 if( (etaminIn <= etamax) && (etamaxIn >=
etamin) ){
522 if( (phiminIn <= phimax) && (phimaxIn >= phimin) ){
◆ phiMaxOut()
const std::vector< double > & RegSelectorHashMap::phiMaxOut |
( |
void |
| ) |
const |
◆ phimaxValue()
double RegSelectorHashMap::phimaxValue |
( |
| ) |
const |
◆ phiMinOut()
const std::vector< double > & RegSelectorHashMap::phiMinOut |
( |
void |
| ) |
const |
◆ phiminValue()
double RegSelectorHashMap::phiminValue |
( |
| ) |
const |
◆ populateMatrix()
void RegSelectorHashMap::populateMatrix |
( |
int |
iPage, |
|
|
IdentifierHash |
value |
|
) |
| |
|
private |
Definition at line 227 of file RegSelectorHashMap.cxx.
228 int xEta,yPhi, iPosition;
229 int max_iPosition(0);
234 for(yPhi= 0; yPhi <
m_iLines; ++yPhi){
235 iPosition = iPage + (yPhi*
m_iColumns + xEta);
236 if(iPosition>max_iPosition) max_iPosition=iPosition;
242 for(yPhi= 0; yPhi <
m_iLines; ++yPhi){
243 iPosition = iPage + (yPhi*
m_iColumns + xEta);
◆ populateMatrixRobId()
void RegSelectorHashMap::populateMatrixRobId |
( |
int |
iPage, |
|
|
uint32_t |
value |
|
) |
| |
|
private |
◆ read()
StatusCode RegSelectorHashMap::read |
( |
const char * |
filename | ) |
|
Definition at line 554 of file RegSelectorHashMap.cxx.
560 double emin, emax, pmin, pmax;
561 double stepPhi, stepEta;
562 char robIdStr[12], robIdStr2[12];
564 std::vector<uint32_t> robId;
568 std::string unresolvedFileName(
filename);
570 if (fullFileName ==
"") {
571 std::cerr <<
"LArTTRegionSelectorIdentifierHash: FATAL: Could not find input file in DATAPATH" << unresolvedFileName<< std::endl;
572 return StatusCode::FAILURE;
575 std::ifstream
fin(fullFileName.c_str());
578 sc = StatusCode::FAILURE;
581 if (strncmp(
buffer,
" TT-ID",6)==0){
586 int test = sscanf(pch,
" %u %d %d %lf %lf %lf %lf %11s %11s",
587 &hashId, &
layer, &samp, &emin, &emax, &pmin, &pmax, robIdStr, robIdStr2);
588 robId.push_back(strtol(robIdStr,
nullptr,16));
590 robId.push_back(strtol(robIdStr2,
nullptr,16));
592 stepPhi = std::fabs(pmax-pmin);
593 stepEta = std::fabs(emin-emax);
603 }
while((
fin.getline(
buffer, 128,
'\n')));
◆ regionSelector() [1/2]
void RegSelectorHashMap::regionSelector |
( |
double |
etaminIn, |
|
|
double |
etamaxIn, |
|
|
double |
phiminIn, |
|
|
double |
phimaxIn, |
|
|
std::vector< IdentifierHash > & |
outList |
|
) |
| const |
◆ regionSelector() [2/2]
void RegSelectorHashMap::regionSelector |
( |
int |
sampling, |
|
|
double |
etaminIn, |
|
|
double |
etamaxIn, |
|
|
double |
phiminIn, |
|
|
double |
phimaxIn, |
|
|
std::vector< IdentifierHash > & |
outList |
|
) |
| const |
◆ regionSelectorIN()
void RegSelectorHashMap::regionSelectorIN |
( |
const int & |
sampling, |
|
|
const double & |
etaminIn, |
|
|
const double & |
etamaxIn, |
|
|
const double & |
phiminIn, |
|
|
const double & |
phimaxIn, |
|
|
std::vector< IdentifierHash > * |
outListIH |
|
) |
| const |
|
private |
why are we making this
need to check whether spans the pi boundary - using iYBeg > iYEnd isn't good enough since it it is very nearly 2pi, then iYBeg and iYEnd will be equal
wrap phi
why reduce the RoI size?
This is WRONG!! this forces all rois to increase as the radius increases - oh dear
Definition at line 305 of file RegSelectorHashMap.cxx.
309 int iYBeg, iYEnd, iXBeg, iXEnd,
k, iPage;
311 std::vector<IdentifierHash>& auxsetIH=(*outListIH);
321 bool pi_boundary =
false;
322 if ( phiminIn>phimaxIn ) pi_boundary =
true;
335 if(iXBeg < 0) iXBeg = 0;
337 if(iXEnd < 0) iXEnd = 0;
◆ regionSelectorINROB()
void RegSelectorHashMap::regionSelectorINROB |
( |
const int & |
sampling, |
|
|
const double & |
etaminIn, |
|
|
const double & |
etamaxIn, |
|
|
const double & |
phiminIn, |
|
|
const double & |
phimaxIn, |
|
|
std::vector< uint32_t > * |
outList |
|
) |
| const |
|
private |
why do we reduce the size of the RoI here? if we must mess with it, shouldn't we make it larger?
need to check whether spans the pi boundary - using (iYBeg > iYEnd) isn't good enough since it it is very nearly 2pi, then iYBeg and iYEnd will be equal.
wrap phi
why reduce the size of the RoI?
This is WRONG!! this forces all rois to increase as the radius increases - oh dear
Definition at line 382 of file RegSelectorHashMap.cxx.
386 int iYBeg{}, iYEnd{}, iXBeg{}, iXEnd{},
k{}, iPage{};
388 std::vector<uint32_t>& auxset=(*outList);
401 bool pi_boundary =
false;
402 if ( phiminIn>phimaxIn ) pi_boundary =
true;
414 if(iXBeg < 0) iXBeg = 0;
416 if(iXEnd < 0) iXEnd = 0;
◆ regionSelectorRobIdUint() [1/2]
void RegSelectorHashMap::regionSelectorRobIdUint |
( |
double |
etaminIn, |
|
|
double |
etamaxIn, |
|
|
double |
phiminIn, |
|
|
double |
phimaxIn, |
|
|
std::vector< uint32_t > & |
outRobIDList |
|
) |
| const |
◆ regionSelectorRobIdUint() [2/2]
void RegSelectorHashMap::regionSelectorRobIdUint |
( |
int |
sampling, |
|
|
double |
etaminIn, |
|
|
double |
etamaxIn, |
|
|
double |
phiminIn, |
|
|
double |
phimaxIn, |
|
|
std::vector< uint32_t > & |
outRobIDList |
|
) |
| const |
◆ removeDuplicates()
template<typename T >
static void IRegSelLUT::removeDuplicates |
( |
std::vector< T > & |
vec | ) |
|
|
inlinestaticprotectedinherited |
useful for removing duplicates if required ...
Definition at line 78 of file IRegSelLUT.h.
80 vec.erase(std::unique(
vec.begin(),
vec.end()),
vec.end());
◆ ROBIDList() [1/2]
void RegSelectorHashMap::ROBIDList |
( |
const IRoiDescriptor & |
roi, |
|
|
std::vector< uint32_t > & |
roblist |
|
) |
| const |
|
overridevirtual |
◆ ROBIDList() [2/2]
void RegSelectorHashMap::ROBIDList |
( |
long |
layer, |
|
|
const IRoiDescriptor & |
roi, |
|
|
std::vector< uint32_t > & |
roblist |
|
) |
| const |
|
overridevirtual |
ROBIDList interface declaration. This interface can be used by the ID subdetectors. A list of non-repeated ROBIDs (uint_32_t) is returned by a reference.
- Parameters
-
long | layer, long int to decide which layer within the detector. |
IRoiDescriptor | the IRoiDescriptor for the roi, all enabled elements in the roi are found. |
- Returns
- std::vector<uint32_t> which is a list of non-repeated ROBID numbers.
Implements IRegSelLUT.
Definition at line 34 of file RegSelectorHashMap.cxx.
◆ ROBIDList_internal() [1/2]
void RegSelectorHashMap::ROBIDList_internal |
( |
const IRoiDescriptor & |
roi, |
|
|
std::vector< uint32_t > & |
roblist |
|
) |
| const |
|
protectedvirtual |
◆ ROBIDList_internal() [2/2]
void RegSelectorHashMap::ROBIDList_internal |
( |
long |
layer, |
|
|
const IRoiDescriptor & |
roi, |
|
|
std::vector< uint32_t > & |
roblist |
|
) |
| const |
|
protectedvirtual |
◆ robIdOut()
const std::vector< std::vector< uint32_t > > & RegSelectorHashMap::robIdOut |
( |
void |
| ) |
const |
◆ sampleOut()
const std::vector< int > & RegSelectorHashMap::sampleOut |
( |
void |
| ) |
const |
◆ summaryDataFile()
Definition at line 675 of file RegSelectorHashMap.cxx.
677 it != dataList.end(); ++
it){
678 std::cout <<
"position: " << (*it).layerDiskPosition() <<
" number: " << (*it).layerDiskNumber() << std::endl;
681 std::cout <<
"hashId: ";
682 std::vector<IdentifierHash> aux = (*it).hashId();
684 std::cout << (*i) <<
" ";
685 std::cout << std::endl;
◆ verifyInputs()
void RegSelectorHashMap::verifyInputs |
( |
double & |
etaminIn, |
|
|
double & |
etamaxIn, |
|
|
double & |
phiminIn, |
|
|
double & |
phimaxIn |
|
) |
| const |
Definition at line 690 of file RegSelectorHashMap.cxx.
694 while (phiminIn > 2*
M_PI ) phiminIn -= 2*
M_PI;
695 while (phiminIn < 0 ) phiminIn += 2*
M_PI;
696 while (phimaxIn > 2*
M_PI ) phimaxIn -= 2*
M_PI;
697 while (phimaxIn < 0 ) phimaxIn += 2*
M_PI;
699 while (phiminIn >
M_PI ) phiminIn -= 2*
M_PI;
700 while (phiminIn < -
M_PI ) phiminIn += 2*
M_PI;
701 while (phimaxIn >
M_PI ) phimaxIn -= 2*
M_PI;
702 while (phimaxIn < -
M_PI ) phimaxIn += 2*
M_PI;
◆ verifyOutput() [1/2]
void RegSelectorHashMap::verifyOutput |
( |
double |
etaminIn, |
|
|
double |
etamaxIn, |
|
|
double |
phiminIn, |
|
|
double |
phimaxIn, |
|
|
std::vector< IdentifierHash > * |
outputIdlist |
|
) |
| const |
Definition at line 850 of file RegSelectorHashMap.cxx.
854 std::set<IdentifierHash> myset;
855 std::vector<IdentifierHash> outset;
856 double etamin, etamax, etatmp, phimintmp, phimaxtmp;
859 if(etaminIn > etamaxIn){
865 phimintmp = phiminIn;
866 phimaxtmp = phimaxIn;
868 for(
i= 0;
i < vecsize; ++
i){
875 if(phiminIn > phimaxIn ){
879 phimaxIn = phimaxtmp;
885 phiminIn = phimintmp; phimaxIn = phimaxtmp;
889 for(
it = myset.begin();
it!= myset.end(); ++
it){
890 outset.push_back(*
it);
893 if(outset == (*outputIdlist) ){
894 std::cout <<
"equal vectors " << std::endl;
897 std::cout <<
"eta(" << etaminIn <<
"," << etamaxIn <<
") phi(" << phiminIn <<
"," << phimaxIn <<
")" << std::endl;
898 std::cout <<
"desired output ";
899 for(
unsigned int i=0;
i < outset.size(); ++
i)
900 std::cout << std::dec << outset[
i] <<
" ";
901 std::cout << std::endl;
902 std::cout <<
"obtained output ";
903 for(
unsigned int i=0;
i < (*outputIdlist).size(); ++
i)
904 std::cout << std::dec << (*outputIdlist)[
i] <<
" ";
905 std::cout << std::endl;
◆ verifyOutput() [2/2]
void RegSelectorHashMap::verifyOutput |
( |
int |
sampling, |
|
|
double |
etaminIn, |
|
|
double |
etamaxIn, |
|
|
double |
phiminIn, |
|
|
double |
phimaxIn, |
|
|
std::vector< IdentifierHash > * |
outputIdlist |
|
) |
| const |
Definition at line 909 of file RegSelectorHashMap.cxx.
913 std::set<IdentifierHash> myset;
914 std::vector<IdentifierHash> outset;
915 double etamin, etamax, etatmp, phimintmp, phimaxtmp;
918 if(etaminIn > etamaxIn){
924 phimintmp = phiminIn;
925 phimaxtmp = phimaxIn;
927 for(
i= 0;
i < vecsize; ++
i){
935 if(phiminIn > phimaxIn ){
939 phimaxIn = phimaxtmp;
946 phiminIn = phimintmp; phimaxIn = phimaxtmp;
950 for(
it = myset.begin();
it!= myset.end(); ++
it){
951 outset.push_back(*
it);
954 if(outset == (*outputIdlist) ){
955 std::cout <<
"equal vectors " << std::endl;
958 std::cout <<
"sampling " << sampling <<
"eta(" << etaminIn <<
"," << etamaxIn <<
") phi(" << phiminIn <<
"," << phimaxIn <<
")" << std::endl;
959 std::cout <<
"desired output ";
960 for(
unsigned int i=0;
i < outset.size(); ++
i)
961 std::cout << std::dec << outset[
i] <<
" ";
962 std::cout << std::endl;
963 std::cout <<
"obtained output ";
964 for(
unsigned int i=0;
i < (*outputIdlist).size(); ++
i)
965 std::cout << std::dec << (*outputIdlist)[
i] <<
" ";
966 std::cout << std::endl;
◆ verifyROBIDOutput() [1/2]
void RegSelectorHashMap::verifyROBIDOutput |
( |
double |
etaminIn, |
|
|
double |
etamaxIn, |
|
|
double |
phiminIn, |
|
|
double |
phimaxIn, |
|
|
std::vector< uint32_t > & |
outputIdlist |
|
) |
| const |
Definition at line 719 of file RegSelectorHashMap.cxx.
723 std::set<uint32_t> myset;
724 std::vector<uint32_t> outset;
725 std::vector<std::vector<uint32_t> >
identifier;
726 double etamin, etamax, etatmp, phimintmp, phimaxtmp;
731 if(etaminIn > etamaxIn){
737 phimintmp = phiminIn;
738 phimaxtmp = phimaxIn;
740 for(
i= 0;
i < vecsize; ++
i){
747 if(phiminIn > phimaxIn ){
751 phimaxIn = phimaxtmp;
757 phiminIn = phimintmp; phimaxIn = phimaxtmp;
761 for(
it = myset.begin();
it!= myset.end(); ++
it){
762 outset.push_back(*
it);
765 if( (outset == outputIdlist) || (outputIdlist.size() >= outset.size()) ){
766 std::cout <<
"equal vectors " << std::endl;
769 std::cout <<
"nonequal vectors " << std::endl;
770 std::cout <<
"eta(" << etaminIn <<
"," << etamaxIn <<
") phi(" << phiminIn <<
"," << phimaxIn <<
")" << std::endl;
771 std::cout <<
"desired output ";
772 for(
unsigned int i=0;
i < outset.size(); ++
i)
773 std::cout << std::dec << outset[
i] <<
" ";
774 std::cout << std::endl;
775 std::cout <<
"obtained output ";
776 for(
unsigned int i=0;
i < outputIdlist.size(); ++
i)
777 std::cout << std::dec << outputIdlist[
i] <<
" ";
778 std::cout << std::endl;
◆ verifyROBIDOutput() [2/2]
void RegSelectorHashMap::verifyROBIDOutput |
( |
int |
sampling, |
|
|
double |
etaminIn, |
|
|
double |
etamaxIn, |
|
|
double |
phiminIn, |
|
|
double |
phimaxIn, |
|
|
std::vector< uint32_t > & |
outputIdlist |
|
) |
| const |
Definition at line 783 of file RegSelectorHashMap.cxx.
789 std::set<uint32_t> myset;
790 std::vector<std::vector<uint32_t> >
identifier;
791 std::vector<uint32_t> outset;
792 double etamin, etamax, etatmp, phimintmp, phimaxtmp;
797 if(etaminIn > etamaxIn){
803 phimintmp = phiminIn;
804 phimaxtmp = phimaxIn;
806 for(
i= 0;
i < vecsize; ++
i){
814 if(phiminIn > phimaxIn ){
818 phimaxIn = phimaxtmp;
825 phiminIn = phimintmp; phimaxIn = phimaxtmp;
829 for(
it = myset.begin();
it!= myset.end(); ++
it){
830 outset.push_back(*
it);
833 if(outset == outputIdlist){
834 std::cout <<
"equal vectors " << std::endl;
837 std::cout <<
"sampling " << sampling <<
"eta(" << etaminIn <<
"," << etamaxIn <<
") phi(" << phiminIn <<
"," << phimaxIn <<
")" << std::endl;
838 std::cout <<
"desired output ";
839 for(
unsigned int i=0;
i < outset.size(); ++
i)
840 std::cout << std::dec << outset[
i] <<
" ";
841 std::cout << std::endl;
842 std::cout <<
"obtained output ";
843 for(
unsigned int i=0;
i < outputIdlist.size(); ++
i)
844 std::cout << std::dec << outputIdlist[
i] <<
" ";
845 std::cout << std::endl;
◆ writeLine()
◆ m_dataList
◆ m_etamax
std::vector<double> RegSelectorHashMap::m_etamax |
|
private |
◆ m_etamaxDet
double RegSelectorHashMap::m_etamaxDet {} |
|
private |
◆ m_etamin
std::vector<double> RegSelectorHashMap::m_etamin |
|
private |
◆ m_etaminDet
double RegSelectorHashMap::m_etaminDet {} |
|
private |
◆ m_hashId
◆ m_hashIDMap
◆ m_iColumns
int RegSelectorHashMap::m_iColumns {} |
|
private |
◆ m_iLines
int RegSelectorHashMap::m_iLines {} |
|
private |
◆ m_layer
std::vector<int> RegSelectorHashMap::m_layer |
|
private |
◆ m_NumSamples
int RegSelectorHashMap::m_NumSamples {} |
|
private |
◆ m_phimax
std::vector<double> RegSelectorHashMap::m_phimax |
|
private |
◆ m_phimaxDet
double RegSelectorHashMap::m_phimaxDet {} |
|
private |
◆ m_phimin
std::vector<double> RegSelectorHashMap::m_phimin |
|
private |
◆ m_phiminDet
double RegSelectorHashMap::m_phiminDet {} |
|
private |
◆ m_readFromFile
bool RegSelectorHashMap::m_readFromFile {} |
|
private |
◆ m_robId
std::vector<std::vector<uint32_t> > RegSelectorHashMap::m_robId |
|
private |
◆ m_robIDMap
std::vector<std::vector<uint32_t> > RegSelectorHashMap::m_robIDMap |
|
private |
◆ m_sample
std::vector<int> RegSelectorHashMap::m_sample |
|
private |
◆ m_stepMinEta
double RegSelectorHashMap::m_stepMinEta {} |
|
private |
◆ m_stepMinPhi
double RegSelectorHashMap::m_stepMinPhi {} |
|
private |
The documentation for this class was generated from the following files:
JetConstituentVector::iterator iterator
std::vector< IdentifierHash > m_hashId
static std::string find_file(const std::string &logical_file_name, const std::string &search_path, SearchType search_type=LocalSearch)
void populateMatrix(int iPage, IdentifierHash value)
void findIdentifierROB(std::vector< uint32_t > &auxset, const int iXBeg, const int iXEnd, const int iYBeg, const int iYEnd, const int iPage) const
virtual void ROBIDList_internal(const IRoiDescriptor &roi, std::vector< uint32_t > &roblist) const
rob methods
int sampling(int hashId) const
virtual double etaMinus() const =0
std::vector< std::vector< uint32_t > > m_robId
void regionSelectorIN(const int &sampling, const double &etaminIn, const double &etamaxIn, const double &phiminIn, const double &phimaxIn, std::vector< IdentifierHash > *outListIH) const
virtual unsigned size() const =0
number of constituents
void findIdentifier(std::vector< IdentifierHash > &auxsetIH, const int iXBeg, const int iXEnd, const int iYBeg, const int iYEnd, const int iPage) const
std::vector< std::vector< uint32_t > > m_robIDMap
std::vector< size_t > vec
unsigned int maxHash(void) const
std::vector< double > m_etamax
virtual double etaPlus() const =0
double etaMin(int hashId) const
virtual void HashIDList_internal(const IRoiDescriptor &roi, std::vector< IdentifierHash > &idlist) const
internal implementation of the IRegSelUT interface
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.
double phiMax(int hashId) const
std::vector< double > m_phimax
void regionSelectorINROB(const int &sampling, const double &etaminIn, const double &etamaxIn, const double &phiminIn, const double &phimaxIn, std::vector< uint32_t > *outList) const
::StatusCode StatusCode
StatusCode definition for legacy code.
std::vector< int > m_sample
void writeLine(const int &layer, const IdentifierHash &hashId, const std::vector< uint32_t > &robId, const double &emin, const double &emax, const double &pmin, const double &pmax, const int &samp)
void verifyInputs(double &etaminIn, double &etamaxIn, double &phiminIn, double &phimaxIn) const
virtual double phiMinus() const =0
std::vector< double > m_etamin
std::vector< double > m_phimin
std::vector< int > m_layer
virtual double phiPlus() const =0
extreme phi values
int robId(int hashId) const
void phiCondition(const std::vector< IdentifierHash > &identifier, int i, double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, double etamin, double etamax, std::set< IdentifierHash > *outset) const
void regionSelectorRobIdUint(double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, std::vector< uint32_t > &outRobIDList) const
int layerDiskNumber(int hashId) const
double etaMax(int hashId) const
DataModel_detail::iterator< DVL > unique(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of unique for DataVector/List.
void sort(typename std::reverse_iterator< DataModel_detail::iterator< DVL > > beg, typename std::reverse_iterator< DataModel_detail::iterator< DVL > > end, const Compare &comp)
Specialization of sort for DataVector/List.
virtual bool isFullscan() const =0
is this a full detector RoI?
void regionSelector(double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, std::vector< IdentifierHash > &outList) const
void phiConditionRobId(const std::vector< std::vector< uint32_t > > &identifier, int i, double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, double etamin, double etamax, std::set< uint32_t > *outset) const
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
virtual const IRoiDescriptor * at(int i) const =0
find an RoiDescriptor constituent
int MyRound(double pdValue)
static void removeDuplicates(std::vector< T > &vec)
useful for removing duplicates if required ...
int hashId(int value) const
virtual bool composite() const =0
Super RoI access methods.
std::vector< IdentifierHash > m_hashIDMap
double phiMin(int hashId) const