ATLAS Offline Software
RegSelectorMapElement.h
Go to the documentation of this file.
1 // emacs: this is -*- c++ -*-
2 /*
3  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
4 */
5 
6 #ifndef REGSELECTORMAPELEMENT_H
7 #define REGSELECTORMAPELEMENT_H
8 
9 // Includes --------------------------------------------------------------
10 #include <vector>
11 #include <set>
12 #include <stdint.h>
14 
15 #include <cmath>
16 
18 
19 public:
20 
22 
23  int layerDiskPosition() const;
24  int layerDiskNumber() const;
25 
26  double etaMin( const IdentifierHash hashId ) const;
27  double etaMax( IdentifierHash hashId ) const;
28  double phiMin( IdentifierHash hashId ) const;
29  double phiMax( IdentifierHash hashId ) const;
30 
31  const std::vector<IdentifierHash>& hashId() const;
32 
33  double etaminElem() const;
34  double etamaxElem() const;
35  double phiminElem() const;
36  double phimaxElem() const;
37 
38  double phiminElem();
39  double phimaxElem();
40 
41  void findMaxMinElem(void);
42 
43  void additem( const IdentifierHash hashId,
44  const double etaMin, const double etaMax,
45  const double phiMin, const double phiMax,
46  const int layerDiskNumber, const int layerDiskPosition,
47  const uint32_t robId );
48 
49  void selection( double etaminIn, double etamaxIn,
50  double phiminIn, double phimaxIn,
51  std::set<IdentifierHash> &outset ) const;
52 
53  void selectionRobIdUint( double etaminIn, double etamaxIn,
54  double phiminIn, double phimaxIn,
55  std::set<uint32_t> &outset ) const;
56 
57 private:
58 
59  int m_position; // <0 negative endcap; >0 positive endcap; ==0 barrel
60  int m_number;
61  std::vector<double> m_etamin, m_etamax;
62  std::vector<double> m_phimin, m_phimax;
63  std::vector<IdentifierHash> m_hashId;
64  std::vector<uint32_t> m_robId;
67 
68  void insertElementInVector( double etaminIn, double etamaxIn,
69  double phiminIn, double phimaxIn,
70  IdentifierHash hashIdIn, uint32_t robIdIn );
71 
72  void insertNumberElement(int numberIn);
73 
74  void insertPositionElement(int position);
75 
76  void findHash( double etaminIn, double etamaxIn,
77  double phiminIn, double phimaxIn,
78  std::set<IdentifierHash>& outset ) const; // no RegSelectElement eh std::set<int>
79 
80  void findRobId( double etaminIn, double etamaxIn,
81  double phiminIn, double phimaxIn,
82  std::set<uint32_t>& outset ) const;
83 };
84 
85 #endif
86 
RegSelectorMapElement::hashId
const std::vector< IdentifierHash > & hashId() const
Definition: RegSelectorMapElement.cxx:28
RegSelectorMapElement::insertNumberElement
void insertNumberElement(int numberIn)
Definition: RegSelectorMapElement.cxx:50
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
RegSelectorMapElement::etamaxElem
double etamaxElem() const
Definition: RegSelectorMapElement.cxx:122
RegSelectorMapElement
Definition: RegSelectorMapElement.h:17
RegSelectorMapElement::findRobId
void findRobId(double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, std::set< uint32_t > &outset) const
Definition: RegSelectorMapElement.cxx:80
RegSelectorMapElement::findHash
void findHash(double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, std::set< IdentifierHash > &outset) const
Definition: RegSelectorMapElement.cxx:58
RegSelectorMapElement::etaMax
double etaMax(IdentifierHash hashId) const
Definition: RegSelectorMapElement.cxx:106
RegSelectorMapElement::m_phimaxValue
double m_phimaxValue
Definition: RegSelectorMapElement.h:66
RegSelectorMapElement::m_number
int m_number
Definition: RegSelectorMapElement.h:60
RegSelectorMapElement::layerDiskNumber
int layerDiskNumber() const
Definition: RegSelectorMapElement.cxx:24
RegSelectorMapElement::insertPositionElement
void insertPositionElement(int position)
Definition: RegSelectorMapElement.cxx:54
RegSelectorMapElement::additem
void additem(const IdentifierHash hashId, const double etaMin, const double etaMax, const double phiMin, const double phiMax, const int layerDiskNumber, const int layerDiskPosition, const uint32_t robId)
Definition: RegSelectorMapElement.cxx:193
RegSelectorMapElement::layerDiskPosition
int layerDiskPosition() const
Definition: RegSelectorMapElement.cxx:20
RegSelectorMapElement::insertElementInVector
void insertElementInVector(double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, IdentifierHash hashIdIn, uint32_t robIdIn)
Definition: RegSelectorMapElement.cxx:32
RegSelectorMapElement::m_etamaxValue
double m_etamaxValue
Definition: RegSelectorMapElement.h:65
RegSelectorMapElement::m_etaminValue
double m_etaminValue
Definition: RegSelectorMapElement.h:65
RegSelectorMapElement::findMaxMinElem
void findMaxMinElem(void)
Definition: RegSelectorMapElement.cxx:177
RegSelectorMapElement::selectionRobIdUint
void selectionRobIdUint(double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, std::set< uint32_t > &outset) const
Definition: RegSelectorMapElement.cxx:217
RegSelectorMapElement::m_position
int m_position
Definition: RegSelectorMapElement.h:59
IdentifierHash.h
RegSelectorMapElement::m_etamin
std::vector< double > m_etamin
Definition: RegSelectorMapElement.h:61
RegSelectorMapElement::m_phimin
std::vector< double > m_phimin
Definition: RegSelectorMapElement.h:62
RegSelectorMapElement::phiminElem
double phiminElem() const
Definition: RegSelectorMapElement.cxx:160
RegSelectorMapElement::m_phimax
std::vector< double > m_phimax
Definition: RegSelectorMapElement.h:62
RegSelectorMapElement::etaminElem
double etaminElem() const
Definition: RegSelectorMapElement.cxx:118
RegSelectorMapElement::m_robId
std::vector< uint32_t > m_robId
Definition: RegSelectorMapElement.h:64
RegSelectorMapElement::RegSelectorMapElement
RegSelectorMapElement()
Definition: RegSelectorMapElement.cxx:11
RegSelectorMapElement::m_hashId
std::vector< IdentifierHash > m_hashId
Definition: RegSelectorMapElement.h:63
RegSelectorMapElement::m_phiminValue
double m_phiminValue
Definition: RegSelectorMapElement.h:66
RegSelectorMapElement::etaMin
double etaMin(const IdentifierHash hashId) const
Definition: RegSelectorMapElement.cxx:102
RegSelectorMapElement::phiMin
double phiMin(IdentifierHash hashId) const
Definition: RegSelectorMapElement.cxx:110
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
RegSelectorMapElement::m_etamax
std::vector< double > m_etamax
Definition: RegSelectorMapElement.h:61
RegSelectorMapElement::selection
void selection(double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, std::set< IdentifierHash > &outset) const
Definition: RegSelectorMapElement.cxx:203
RegSelectorMapElement::phiMax
double phiMax(IdentifierHash hashId) const
Definition: RegSelectorMapElement.cxx:114
RegSelectorMapElement::phimaxElem
double phimaxElem() const
Definition: RegSelectorMapElement.cxx:168