ATLAS Offline Software
PadPattern.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef PADPATTERN_H
5 #define PADPATTERN_H
6 
7 #include <array>
8 #include <cstdint>
9 
18 namespace NSWL1 {
19 
20  class PadPattern {
21 
22  public:
23  PadPattern(const uint32_t bandid, const uint32_t phiid, const std::array<uint32_t,8>& pfebs, const std::array<uint32_t,8>& padchans, const bool isLarge);
24  ~PadPattern() = default;
25 
26  const std::array<uint32_t,8>& getPfebs() const { return m_pfebs; };
27  const std::array<uint32_t,8>& getPadChannels() const { return m_padchans; };
28  uint32_t getBandid() const { return m_bandid; };
29  uint32_t getPhiid(bool flip=false) const { return flip ? m_phiid_flip : m_phiid; };
30  bool isLarge() const { return m_isLarge; };
31  bool isSmall() const { return not isLarge(); };
32  uint32_t flipPhiIdSign() const;
33 
34  private:
38  const std::array<uint32_t,8> m_pfebs; // Fixed size 8, i.e. one per layer
39  const std::array<uint32_t,8> m_padchans;
40  const bool m_isLarge;
41  };
42 }
43 #endif
NSWL1::PadPattern::getPfebs
const std::array< uint32_t, 8 > & getPfebs() const
Definition: PadPattern.h:26
NSWL1::PadPattern::m_padchans
const std::array< uint32_t, 8 > m_padchans
Definition: PadPattern.h:39
NSWL1::PadPattern::~PadPattern
~PadPattern()=default
NSWL1::PadPattern::m_phiid
const uint32_t m_phiid
Definition: PadPattern.h:36
NSWL1::PadPattern::m_isLarge
const bool m_isLarge
Definition: PadPattern.h:40
NSWL1::PadPattern::m_bandid
const uint32_t m_bandid
Definition: PadPattern.h:35
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
NSWL1::PadPattern
Definition: PadPattern.h:20
NSWL1::PadPattern::isLarge
bool isLarge() const
Definition: PadPattern.h:30
NSWL1::PadPattern::m_phiid_flip
const uint32_t m_phiid_flip
Definition: PadPattern.h:37
NSWL1::PadPattern::isSmall
bool isSmall() const
Definition: PadPattern.h:31
NSWL1::PadPattern::getPadChannels
const std::array< uint32_t, 8 > & getPadChannels() const
Definition: PadPattern.h:27
NSWL1::PadPattern::PadPattern
PadPattern(const uint32_t bandid, const uint32_t phiid, const std::array< uint32_t, 8 > &pfebs, const std::array< uint32_t, 8 > &padchans, const bool isLarge)
Definition: PadPattern.cxx:8
NSWL1::PadPattern::m_pfebs
const std::array< uint32_t, 8 > m_pfebs
Definition: PadPattern.h:38
NSWL1::PadPattern::flipPhiIdSign
uint32_t flipPhiIdSign() const
Definition: PadPattern.cxx:18
NSWL1::PadPattern::getBandid
uint32_t getBandid() const
Definition: PadPattern.h:28
NSWL1
PadEmulatorCoincidences.
Definition: NSWL1Simulation.cxx:7
NSWL1::PadPattern::getPhiid
uint32_t getPhiid(bool flip=false) const
Definition: PadPattern.h:29