#include <iostream>
#include <iomanip>
-const Int_t AliTRDtrapConfig::fgkMaxMcm = AliTRDfeeParam::GetNmcmRob() + 2;
const Int_t AliTRDtrapConfig::AliTRDtrapValue::fgkSize[] = {
0,
1,
AliError(Form("Register address 0x%04x not handled in register map", addr));
}
else if (addr < fgkRegisterAddressBlockStart[2] + fgkRegisterAddressBlockSize[2]) {
- fgRegAddressMap[addr - fgkRegisterAddressBlockStart[2] + fgkRegisterAddressBlockSize[1] + fgkRegisterAddressBlockSize[0]] = (TrapReg_t) iReg;
+ Int_t ind = addr - fgkRegisterAddressBlockStart[2] + fgkRegisterAddressBlockSize[1] + fgkRegisterAddressBlockSize[0];
+ fgRegAddressMap[ind] = (TrapReg_t) iReg;
}
else {
AliError(Form("Register address 0x%04x not handled in register map", addr));
if((det >= 0 && det < AliTRDgeometry::Ndet()) &&
(rob >= 0 && rob < AliTRDfeeParam::GetNrobC1()) &&
- (mcm >= 0 && mcm < fgkMaxMcm)) {
+ (mcm >= 0 && mcm < AliTRDfeeParam::GetNmcmRob() + 2)) {
printf("%10s (%2i bits) at 0x%04x is 0x%08x and resets to: 0x%08x (currently individual mode)\n",
GetRegName((TrapReg_t) reg),
GetRegNBits((TrapReg_t) reg),
}
+void AliTRDtrapConfig::PrintVerify(ostream &os, Int_t det, Int_t rob, Int_t mcm) const
+{
+ // print verification file in datx format
+
+ for (Int_t iReg = 0; iReg < kLastReg; ++iReg) {
+ os << std::setw(5) << 9
+ << std::setw(8) << GetRegAddress((TrapReg_t) iReg)
+ << std::setw(12) << GetTrapReg((TrapReg_t) iReg, det, rob, mcm)
+ << std::setw(8) << AliTRDfeeParam::AliToExtAli(rob, mcm)
+ << std::endl;
+ }
+
+ for (Int_t iWord = 0; iWord < fgkDmemWords; ++iWord) {
+ if (GetDmemUnsigned(fgkDmemStartAddress + iWord, det, rob, mcm) == 0)
+ continue;
+ os << std::setw(5) << 9
+ << std::setw(8) << fgkDmemStartAddress + iWord
+ << std::setw(12) << GetDmemUnsigned(fgkDmemStartAddress + iWord, det, rob, mcm)
+ << std::setw(8) << AliTRDfeeParam::AliToExtAli(rob, mcm)
+ << std::endl;
+ }
+}
+
AliTRDtrapConfig::AliTRDtrapValue::AliTRDtrapValue() :
TObject(),
fAllocMode(kAllocGlobal),
fValid[0] = kTRUE;
}
+AliTRDtrapConfig::AliTRDtrapValue::~AliTRDtrapValue()
+{
+ delete [] fData;
+ delete [] fValid;
+}
Bool_t AliTRDtrapConfig::AliTRDtrapValue::Allocate(Alloc_t alloc)
{