fFirstDarcDisable(0),
fFirstDarcL0Delay(0),
fFirstDarcL1TimeOut(0),
+ fFirstDarcGlobalL0(0),
fFirstDarcConfig(0),
fSecondDarcVmeAddr(0x0),
fSecondDarcType(0),
return kFALSE;
}
- TArrayI list;
Int_t nDarc = 0;
char line[255];
// enable
in.getline(line, 255);
tmp = AliMpHelper::Normalize(line);
- UChar_t en = 0;
- sscanf(tmp.Data(), "%c", &en);
+ UInt_t en = 0;
+ sscanf(tmp.Data(), "%x", &en);
SetGlobalCrateEnable(en);
in.getline(line, 255);
if (tmp.Contains(GetJtagName())) {
// vme addr
in.getline(line, 255);
- TString tmp(AliMpHelper::Normalize(line));
+ tmp = AliMpHelper::Normalize(line);
ULong_t addr;
sscanf(tmp.Data(), "%lx", &addr);
SetJtagVmeAddr(addr);
- AliDebug(1, Form("Jtag Vme Address: 0x%x", addr));
+ AliDebug(1, Form("Jtag Vme Address: 0x%lx", addr));
// clk div, rx phase, read delay
in.getline(line, 255);
if (tmp.Contains(GetFirstDarcName())) {
// vme addr
in.getline(line, 255);
- TString tmp(AliMpHelper::Normalize(line));
+ tmp = AliMpHelper::Normalize(line);
ULong_t addr;
sscanf(tmp.Data(), "%lx", &addr);
if (addr) nDarc++;
SetFirstDarcVmeAddr(addr);
- AliDebug(1, Form("First Darc Vme Address: 0x%x", addr));
+ AliDebug(1, Form("First Darc Vme Address: 0x%lx", addr));
// type
in.getline(line, 255);
if (tmp.Contains(GetSecondDarcName())) {
// vme addr
in.getline(line, 255);
- TString tmp(AliMpHelper::Normalize(line));
+ tmp = AliMpHelper::Normalize(line);
ULong_t addr;
- if (addr) nDarc++;
sscanf(tmp.Data(), "%lx", &addr);
+ if (addr) nDarc++;
SetSecondDarcVmeAddr(addr);
- AliDebug(1, Form("Second Darc Vme Address: 0x%x", addr));
+ AliDebug(1, Form("Second Darc Vme Address: 0x%lx", addr));
// type
in.getline(line, 255);
tmp = AliMpHelper::Normalize(line);
if (tmp.Contains(GetGlobalName())) {
in.getline(line, 255);
- TString tmp(AliMpHelper::Normalize(line));
+ tmp = AliMpHelper::Normalize(line);
ULong_t addr;
sscanf(tmp.Data(), "%lx", &addr);
SetGlobalVmeAddr(addr);
- AliDebug(1, Form("Global Vme Address: 0x%x", addr));
+ AliDebug(1, Form("Global Vme Address: 0x%lx", addr));
for (Int_t i = 0; i < GetGlobalNofRegisters(); ++i) {
in.getline(line, 255);
- TString tmp(AliMpHelper::Normalize(line));
+ tmp = AliMpHelper::Normalize(line);
UInt_t reg;
sscanf(tmp.Data(), "%x", ®);
SetGlobalRegister(i, reg);
tmp = AliMpHelper::Normalize(line);
if (tmp.Contains(GetFetName())) {
in.getline(line, 255);
- TString tmp(AliMpHelper::Normalize(line));
+ tmp = AliMpHelper::Normalize(line);
ULong_t addr;
sscanf(tmp.Data(), "%lx", &addr);
SetFetVmeAddr(addr);
- AliDebug(1, Form("Fet Vme Address: 0x%x", addr));
+ AliDebug(1, Form("Fet Vme Address: 0x%lx", addr));
for (Int_t i = 0; i < GetFetNofRegisters(); ++i) {
in.getline(line, 255);
- TString tmp(AliMpHelper::Normalize(line));
+ tmp = AliMpHelper::Normalize(line);
UInt_t reg;
sscanf(tmp.Data(), "%x", ®);
SetFetRegister(i, reg);
{
/// Get the crate name for a given line and a given index
if (jtagLine > AliMpConstants::LocalBoardNofChannels() || index > AliMpConstants::LocalBoardNofChannels())
- return 0x0;
+ return "";
else
return fJtagCrateName[jtagLine*fgkJtagNofLines + index];
}
UInt_t AliMUONGlobalCrateConfig::GetGlobalRegister(Int_t index) const
{
/// return global register for a given index
- if (index > fgkGlobalNofRegisters) {
+ if (index >= fgkGlobalNofRegisters) {
AliWarning("Index size too big for Global Register");
return 0;
} else
void AliMUONGlobalCrateConfig::SetGlobalRegister(Int_t index, UInt_t reg)
{
/// set Global register for a given index
- if (index > fgkGlobalNofRegisters) {
+ if (index >= fgkGlobalNofRegisters) {
AliWarning("Index size too big for Global Register");
return;
}
fGlobalRegisters[index] = reg;
}
+//______________________________________________________________________________
+void AliMUONGlobalCrateConfig::SetGlobalMask(Int_t index, UInt_t mask)
+{
+ /// set one word of the global mask
+
+ if (index >= 0 && index < 4) {
+ SetGlobalRegister(index,mask);
+ } else {
+ AliWarning(Form("Check register number of the mask (%d) \n",index));
+ }
+
+}
+
+//______________________________________________________________________________
+UInt_t AliMUONGlobalCrateConfig::GetGlobalMask(Int_t index) const
+{
+ /// return one word of the global mask
+ if (index >= 0 && index < 4) {
+ return fGlobalRegisters[index];
+ } else {
+ AliWarning(Form("Check register number of the mask (%d) \n",index));
+ return 0;
+ }
+}
+
+//______________________________________________________________________________
+Bool_t AliMUONGlobalCrateConfig::GetMasksOn() const
+{
+ /// indicates if global masks are active on global inputs
+
+ // test 7th lsb
+ if (fGlobalRegisters[4] & 0x40) return kTRUE;
+
+ return kFALSE;
+
+}
+
//______________________________________________________________________________
UInt_t AliMUONGlobalCrateConfig::GetFetRegister(Int_t index) const
{
/// return global register for a given index
- if (index > fgkFetNofRegisters) {
+ if (index >= fgkFetNofRegisters) {
AliWarning("Index size too big for Fet Register");
return 0;
} else
void AliMUONGlobalCrateConfig::SetFetRegister(Int_t index, UInt_t reg)
{
/// set Global register for a given index
- if (index > fgkFetNofRegisters) {
+ if (index >= fgkFetNofRegisters) {
AliWarning("Index size too big for Global Register");
return;
}