#ifndef ALTROCONFIG_H #define ALTROCONFIG_H #include "../CommandCoder/AltroCommandCoder.h" #include "../Mapping/Mapping.h" #include "TpcConfig.h" //use when to compile on outdated slc #include #include #include using namespace std; class AltroConfig{ public: AltroConfig(int32_t configType, uint32_t debuglevel); ~AltroConfig(); uint32_t getState(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altrol); uint32_t getState(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altrol, uint32_t channel); uint32_t getK1(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altrol, uint32_t channel); uint32_t getK2(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altrol, uint32_t channel); uint32_t getK3(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altrol, uint32_t channel); uint32_t getL1(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altrol, uint32_t channel); uint32_t getL2(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altrol, uint32_t channel); uint32_t getL3(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altrol, uint32_t channel); uint32_t getFPED(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altrol, uint32_t channel); uint32_t getZSTHR_OFFSET(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altro); uint32_t getZSTHR_ZS_THR(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altro); uint32_t getBCTHR_THR_HI(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altro); uint32_t getBCTHR_THR_LOW(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altro); uint32_t getTRCFG_ACQ_START(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altro); uint32_t getTRCFG_ACQ_END(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altro); uint32_t getDPCFG_BC1_MODE(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altro); uint32_t getDPCFG_BC1_POL(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altro); uint32_t getDPCFG_BC2_PRE(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altro); uint32_t getDPCFG_BC2_POST(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altro); uint32_t getDPCFG_BC2_EN(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altro); uint32_t getDPCFG_ZS_GF(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altro); uint32_t getDPCFG_ZS_POST(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altro); uint32_t getDPCFG_ZS_PRE(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altro); uint32_t getDPCFG_ZS_EN(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altro); uint32_t getDPCF2_PTRG(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altro); uint32_t getDPCF2_BUF(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altro); uint32_t getDPCF2_FLT_EN(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altro); uint32_t getDPCF2_PWSV(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altro); uint32_t getState(); uint32_t getK1(); uint32_t getK2(); uint32_t getK3(); uint32_t getL1(); uint32_t getL2(); uint32_t getL3(); uint32_t getFPED(); uint32_t getZSTHR_OFFSET(); uint32_t getZSTHR_ZS_THR(); uint32_t getBCTHR_THR_HI(); uint32_t getBCTHR_THR_LOW(); uint32_t getTRCFG_ACQ_START(); uint32_t getTRCFG_ACQ_END(); uint32_t getDPCFG_BC1_MODE(); uint32_t getDPCFG_BC1_POL(); uint32_t getDPCFG_BC2_PRE(); uint32_t getDPCFG_BC2_POST(); uint32_t getDPCFG_BC2_EN(); uint32_t getDPCFG_ZS_GF(); uint32_t getDPCFG_ZS_POST(); uint32_t getDPCFG_ZS_PRE(); uint32_t getDPCFG_ZS_EN(); uint32_t getDPCF2_PTRG(); uint32_t getDPCF2_BUF(); uint32_t getDPCF2_FLT_EN(); uint32_t getDPCF2_PWSV(); Mapping *getPadMapping() { return fPm; }; private: uint32_t getChannelRegister(uint32_t side, uint32_t sector, uint32_t rcu, uint32_t branch, uint32_t fec, uint32_t altrol, uint32_t channel, uint32_t parameter); uint32_t fdebuglevel; uint32_t fconfigType; AltroCommandCoder faltro; TpcConfig fTPC; Mapping *fPm; }; #endif // ALTROCONFIG_H