20#include "BDSHistBinMapper.hh"
22BDSHistBinMapper::BDSHistBinMapper(G4int nBinsIIn, G4int nBinsJIn, G4int nBinsKIn, G4int nBinsLIn) :
30BDSHistBinMapper::BDSHistBinMapper(G4int nBinsIIn, G4int nBinsJIn, G4int nBinsKIn, G4int nBinsLIn,
31 boost_histogram_axes_variant energyAxisIn) : nBinsI(nBinsIIn),
35 energyAxis(energyAxisIn) {
43G4int BDSHistBinMapper::GlobalFromIJKLIndex(G4int iIndex,
48 return iIndex * nBinsJ * nBinsK * nBinsL + jIndex * nBinsK * nBinsL + kIndex * nBinsL + lIndex;
51void BDSHistBinMapper::IJKLFromGlobal(G4int globalBin,
57 iIndex = globalBin / (nBinsL * nBinsK * nBinsJ);
58 jIndex = (globalBin - iIndex*nBinsL * nBinsK * nBinsJ) / (nBinsL * nBinsK);
59 kIndex = (globalBin - jIndex*nBinsL * nBinsK - iIndex * nBinsL * nBinsK * nBinsJ) / nBinsL;
60 lIndex = globalBin - kIndex*nBinsL - jIndex * nBinsL * nBinsK - iIndex*nBinsL * nBinsK * nBinsJ;