ATLAS Offline Software
Loading...
Searching...
No Matches
HECHVModule.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 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 Clockwork(const Clockwork &) = delete;
33 Clockwork & operator =(const Clockwork &) = delete;
35 unsigned int iSide;
36 unsigned int iPhi;
37 unsigned int iSampling;
38
39 const HECHVSubgap* subgaps[4]{};
40};
41
43 , unsigned int iSide
44 , unsigned int iPhi
45 , unsigned int iSampling)
46 : m_c (std::make_unique<Clockwork> (manager,this,iSide,iPhi,iSampling))
47{
48}
49
50unsigned int HECHVModule::getSideIndex() const
51{
52 return m_c->iSide;
53}
54
56{
57 return m_c->iSampling;
58}
59
60unsigned int HECHVModule::getPhiIndex() const
61{
62 return m_c->iPhi;
63}
64
66{
67 return 4;
68}
69
70const HECHVSubgap& HECHVModule::getSubgap(unsigned int iElectrode) const
71{
72 return *(m_c->subgaps[iElectrode]);
73}
74
76
78{
79 return m_c->manager->getDescriptor().getPhiBinning().binLower(m_c->iPhi);
80}
81
83{
84 return m_c->manager->getDescriptor().getPhiBinning().binUpper(m_c->iPhi);
85}
86
88{
89 return *(m_c->manager);
90}
91
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)
Clockwork(const Clockwork &)=delete
Clockwork & operator=(const Clockwork &)=delete
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.