47 double phi=fabs(phiUpper+phiLower)/2.0;
49 const CellBinning * phiBinning=presamplerHVManager.
getPhiBinning();
50 unsigned int iPhi = int((
phi - phiBinning->getStart())/phiBinning->getDelta()) + phiBinning->getFirstDivisionNumber();
64 double phiMid=(phiLower+phiUpper)/2.0;
70 for (
unsigned int i=etaBinning.getFirstDivisionNumber();i<=etaBinning.getFirstDivisionNumber()+etaBinning.getNumDivisions();i++) {
71 if (
eta>=etaBinning.binLower(i) &&
eta<=etaBinning.binUpper(i)) {
75 unsigned int iPhi = int((phiMid - phiBinning.getStart())/phiBinning.getDelta()) + phiBinning.getFirstDivisionNumber();
79 unsigned int iSector = int((phiMid - phiBinning.binLower(iPhi) - sectorBinning.getStart())/sectorBinning.getDelta()) + sectorBinning.getFirstDivisionNumber();
80 double phiSectorStart = phiBinning.binLower(iPhi) +iSector*sectorBinning.getDelta();
84 double phi0 = (iSide==1) ?
M_PI/N : -(
M_PI)/N;
86 const double inv_2pi = M_1_PI/2;
87 unsigned int iOffset = int(N*(phiLower-phiSectorStart + phi0)*inv_2pi +0.5);
88 double dPhi = fabs((phiUpper-phiLower));
89 unsigned int NE =int(dPhi*inv_2pi*N+0.5);
99 for (
unsigned int iElectrode=iOffset;iElectrode<iOffset+NE;iElectrode++) {
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
double getEtaMax() const
Maximum Eta.
const EMECHVElectrode & getElectrode(unsigned int i) const
@Get electrode
const EMECPresamplerHVModule & getPresamplerHVModule() const
@Get HVModule (presampler cells)
unsigned int getEndcapIndex() const
The EndcapIndex of this Cell (0=negatiive, 1=positive)
double getPhiMaxNominal() const
returns a nominal phi max in global coords; assume canonical placement
const EMECDetDescr * getDescriptor() const
Returns a pointer to the descriptor.
CxxUtils::CachedValue< HVInfo > m_hvinfo
void initHV(HVInfo &hvinfo) const
double getEtaMin() const
Minimum Eta.
unsigned int getSamplingIndex() const
The sampling index of this cell.
const HVInfo & getHVInfo() const
unsigned int getNumElectrodes() const
@Get num electrodes
double getPhiMinNominal() const
returns a nominal phi min in global coords; assume canonical placement
const EMECDetectorManager * getManager() const
The manager.
const EMECPresamplerHVManager & getPresamplerHVManager() const
Get the HV Manager (presampler)
const EMECHVManager & getHVManager(EMECHVManager::IOType io) const
Get the HV Managers.
const CellPartitioning & getEtaBinning() const
const CellBinning & getSectorBinning() const
const CellBinning & getPhiBinning() const
This class provides direct access to information on the HV electrodes within the EMEC.
const EMECHVDescriptor & getDescriptor() const
const EMECHVModule & getHVModule(unsigned int iSide, unsigned int iEta, unsigned int iPhi, unsigned int iSector) const
const EMECHVElectrode & getElectrode(unsigned int iElectrode) const
This class provides direct access to information on the HV electrodes within the EMEC.
const CellBinning * getPhiBinning() const
const EMECPresamplerHVModule & getHVModule(unsigned int iSide, unsigned int iPhi) const
Describes one HV Module within the EMEc Presampler.
std::vector< const EMECHVElectrode * > m_electrode
const EMECPresamplerHVModule * m_presamplerModule