ATLAS Offline Software
Loading...
Searching...
No Matches
EMECHVElectrode.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
8#include <cmath>
9
10#include "EMECHVPayload.h"
11
13public:
14 Clockwork(const EMECHVModule* modulePtr, unsigned int electrode)
15 : module(modulePtr)
16 , iElectrode(electrode)
17 {}
19 unsigned int iElectrode;
20};
21
22EMECHVElectrode::EMECHVElectrode(const EMECHVModule* module, unsigned int iElectrode)
23 : m_c(new Clockwork(module,iElectrode))
24{
25}
26
28{
29 return m_c->iElectrode;
30}
31
36
38{
39 return *(m_c->module);
40}
41
43{
44 double N= m_c->module->getWheelIndex()==EMECHVModule::OUTER ? 768:256;
45 return m_c->module->getPhiMin()+m_c->iElectrode*2.0*M_PI/N;
46}
47
48#if !(defined(SIMULATIONBASE) || defined(GENERATIONBASE))
49int EMECHVElectrode::hvLineNo(int iGap, const LArHVIdMapping* hvIdMapping) const {
50 return m_c->module->getManager().hvLineNo(*this, iGap, hvIdMapping);
51}
52#endif
#define M_PI
const EMECHVModule * module
Clockwork(const EMECHVModule *modulePtr, unsigned int electrode)
int hvLineNo(int iGap, const LArHVIdMapping *hvIdMapping) const
EMECHVElectrode(const EMECHVModule *module, unsigned int iElectrode)
double getPhi() const
unsigned int getElectrodeIndex() const
const EMECHVModule & getModule() const