ATLAS Offline Software
Loading...
Searching...
No Matches
HECHVModule.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#include "LArHV/HECHVModule.h"
8#include "LArHV/HECHVSubgap.h"
9
11public:
12 Clockwork(const HECHVManager* managerPtr
13 , const HECHVModule* modulePtr
14 , unsigned int side
15 , unsigned int phi
16 , unsigned int sampling)
17 : manager(managerPtr)
18 , iSide(side)
19 , iPhi(phi)
20 , iSampling(sampling)
21 {
22 for(unsigned iSubgap=0; iSubgap<4; ++iSubgap) {
23 subgaps[iSubgap] = new HECHVSubgap(modulePtr,iSubgap);
24 }
25 }
27 {
28 for(unsigned iSubgap=0; iSubgap<4; ++iSubgap) {
29 delete subgaps[iSubgap];
30 }
31 }
32
34 unsigned int iSide;
35 unsigned int iPhi;
36 unsigned int iSampling;
37
38 const HECHVSubgap* subgaps[4]{};
39};
40
42 , unsigned int iSide
43 , unsigned int iPhi
44 , unsigned int iSampling)
45 : m_c (std::make_unique<Clockwork> (manager,this,iSide,iPhi,iSampling))
46{
47}
48
49unsigned int HECHVModule::getSideIndex() const
50{
51 return m_c->iSide;
52}
53
55{
56 return m_c->iSampling;
57}
58
59unsigned int HECHVModule::getPhiIndex() const
60{
61 return m_c->iPhi;
62}
63
65{
66 return 4;
67}
68
69const HECHVSubgap& HECHVModule::getSubgap(unsigned int iElectrode) const
70{
71 return *(m_c->subgaps[iElectrode]);
72}
73
75
77{
78 return m_c->manager->getDescriptor().getPhiBinning().binLower(m_c->iPhi);
79}
80
82{
83 return m_c->manager->getDescriptor().getPhiBinning().binUpper(m_c->iPhi);
84}
85
87{
88 return *(m_c->manager);
89}
90
Scalar phi() const
phi method
This class provides direct access to information on the HV electrodes within the barrels.
const HECHVSubgap * subgaps[4]
const HECHVManager * manager
Clockwork(const HECHVManager *managerPtr, const HECHVModule *modulePtr, unsigned int side, unsigned int phi, unsigned int sampling)
unsigned int getPhiIndex() const
const HECHVSubgap & getSubgap(unsigned int iElectrode) const
unsigned int getSideIndex() const
unsigned int getSamplingIndex() const
std::unique_ptr< Clockwork > m_c
Definition HECHVModule.h:50
double getPhiMin() const
const HECHVManager & getManager() const
static unsigned int getNumSubgaps()
double getPhiMax() const
HECHVModule(const HECHVManager *manager, unsigned int iSide, unsigned int iPhi, unsigned int iSampling)
STL namespace.