ATLAS Offline Software
Loading...
Searching...
No Matches
HECHVModule.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 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(new 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{
76 delete m_c;
77}
78
80{
81 return m_c->manager->getDescriptor().getPhiBinning().binLower(m_c->iPhi);
82}
83
85{
86 return m_c->manager->getDescriptor().getPhiBinning().binUpper(m_c->iPhi);
87}
88
90{
91 return *(m_c->manager);
92}
93
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
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)
Clockwork * m_c
Definition HECHVModule.h:48