ATLAS Offline Software
Loading...
Searching...
No Matches
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
19public:
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
57private:
58
59 int m_position; // <0 negative endcap; >0 positive endcap; ==0 barrel
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
This is a "hash" representation of an Identifier.
std::vector< double > m_phimax
std::vector< IdentifierHash > m_hashId
double etaMin(const IdentifierHash hashId) const
double etaMax(IdentifierHash hashId) const
std::vector< double > m_phimin
const std::vector< IdentifierHash > & hashId() const
double phiMin(IdentifierHash hashId) const
void selectionRobIdUint(double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, std::set< uint32_t > &outset) const
double phiMax(IdentifierHash hashId) const
std::vector< uint32_t > m_robId
std::vector< double > m_etamax
void insertNumberElement(int numberIn)
void insertPositionElement(int position)
void findHash(double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, std::set< IdentifierHash > &outset) const
void findRobId(double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, std::set< uint32_t > &outset) const
void insertElementInVector(double etaminIn, double etamaxIn, double phiminIn, double phimaxIn, IdentifierHash hashIdIn, uint32_t robIdIn)
std::vector< double > m_etamin
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)
const std::string selection