ATLAS Offline Software
Loading...
Searching...
No Matches
EMBHVModule.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/EMBHVModule.h"
9
11public:
12 Clockwork(const EMBHVManager* managerPtr
13 , const EMBHVModule* modulePtr
14 , unsigned int side
15 , unsigned int eta
16 , unsigned int phi
17 , unsigned int sector)
18 : manager(managerPtr)
19 , iSide(side)
20 , iEta(eta)
21 , iPhi(phi)
22 , iSector(sector) {
23 for(int i=0; i<64; ++i) {
24 electrodes[i] = new EMBHVElectrode(modulePtr,i);
25 }
26 }
28 for(int i=0; i<64; ++i) {
29 delete electrodes[i];
30 }
31 }
33 unsigned int iSide;
34 unsigned int iEta;
35 unsigned int iPhi;
36 unsigned int iSector;
38};
39
41 , unsigned int iSide
42 , unsigned int iEta
43 , unsigned int iPhi
44 , unsigned int iSector)
45 : m_c(new Clockwork(manager,this,iSide,iEta,iPhi,iSector))
46{
47}
48
49unsigned int EMBHVModule::getEtaIndex() const
50{
51 return m_c->iEta;
52}
53
54unsigned int EMBHVModule::getPhiIndex() const
55{
56 return m_c->iPhi;
57}
58
59unsigned int EMBHVModule::getSectorIndex() const
60{
61 return m_c->iSector;
62}
63
65{
66 delete m_c;
67}
68
69const EMBHVElectrode& EMBHVModule::getElectrode(unsigned int iElectrode) const
70{
71 return *(m_c->electrodes[iElectrode]);
72}
73
74unsigned int EMBHVModule::getSideIndex() const
75{
76 return m_c->iSide;
77}
78
80{
81 if (m_c->iSide==0) {
82 return -m_c->manager->getDescriptor().getEtaBinning().binUpper(m_c->iEta);
83 }
84 else {
85 return m_c->manager->getDescriptor().getEtaBinning().binLower(m_c->iEta);
86 }
87}
88
90{
91 if (m_c->iSide==0) {
92 return -m_c->manager->getDescriptor().getEtaBinning().binLower(m_c->iEta);
93 }
94 else {
95 return m_c->manager->getDescriptor().getEtaBinning().binUpper(m_c->iEta);
96 }
97}
98
100{
101 return
102 m_c->manager->getDescriptor().getPhiBinning().binLower(m_c->iPhi)+
103 m_c->iSector*m_c->manager->getDescriptor().getPhiBinning().getDelta()/2.0;
104}
105
107{
108 return
109 m_c->manager->getDescriptor().getPhiBinning().binLower(m_c->iPhi)+
110 (m_c->iSector+1)*m_c->manager->getDescriptor().getPhiBinning().getDelta()/2.0;
111
112}
113
115 return *(m_c->manager);
116}
117
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
This class provides direct access to information on the HV electrodes within the barrels.
Clockwork(const EMBHVManager *managerPtr, const EMBHVModule *modulePtr, unsigned int side, unsigned int eta, unsigned int phi, unsigned int sector)
const EMBHVManager * manager
const EMBHVElectrode * electrodes[64]
const EMBHVElectrode & getElectrode(unsigned int iElectrode) const
EMBHVModule(const EMBHVManager *manager, unsigned int iSide, unsigned int iEta, unsigned int iPhi, unsigned int iSector)
double getEtaMin() const
double getPhiMax() const
unsigned int getSectorIndex() const
const EMBHVManager & getManager() const
unsigned int getPhiIndex() const
unsigned int getSideIndex() const
double getEtaMax() const
double getPhiMin() const
unsigned int getEtaIndex() const
Clockwork * m_c
Definition EMBHVModule.h:55