fTpcDdlOffset(mapper.fTpcDdlOffset)
{
// Copy Constructor
+ for ( Int_t i = 0; i < 6; i++ ) fMapping[i]=0;
for ( Int_t i = 0; i < fNrcu; i++ ) fMapping[i] = mapper.fMapping[i];
}
fNrcu = 6;
fNbranch = 2;
fNaltro = 8;
- fNchannel = 15;
+ fNchannel = 16;
// Load and read mapping files. AliTPCAltroMapping contains the mapping for
// each patch (rcu).
fMapping[i] = new AliTPCAltroMapping(path2.Data());
}
- // Create instance of AliTPCROC object
+ // Get instance of AliTPCROC object
AliTPCROC *fROC = AliTPCROC::Instance();
fNpadrowIROC = fROC->GetNRows(0);
fNpadrowOROC = fROC->GetNRows(36);
{
// Get the hardware address from pad coordinates
Int_t patch = 0;
+ Int_t hwAddress=-1;
if ( globalpadrow < fNpadrowIROC ) {
patch = GetPatch(0, globalpadrow, pad);
- return fMapping[patch]->GetHWAddress(globalpadrow, pad, 0);
+ if (patch>-1)
+ hwAddress = fMapping[patch]->GetHWAddress(globalpadrow, pad, 0);
} else if ( globalpadrow < fNpadrow ) {
patch = GetPatch(36, globalpadrow - fNpadrowIROC, pad);
- return fMapping[patch]->GetHWAddress(globalpadrow - fNpadrowIROC,
- pad, 36);
+ if (patch>-1)
+ hwAddress = fMapping[patch]->GetHWAddress(globalpadrow - fNpadrowIROC, pad, 36);
} else {
AliWarning(Form("Padrow outside range (globalpadrow %d) !", globalpadrow));
- return -1;
+ hwAddress = -1;
}
+ return hwAddress;
}
}
if ( roc < 36 ) {
- // IROC (0 ... 35)
+ // IROC (ROCs 0 ... 35)
Int_t padsInRow = GetNpads(padrow);
if ( (padsInRow < 0) || (pad >= padsInRow) ) {
AliWarning(Form("Pad index outside range (padrow %d, pad %d, roc %d) !", padrow, pad, roc));
return -1;
}
} else if ( roc < 72 ) {
- // OROC (36 ... 71)
+ // OROC (ROCs 36 ... 71)
Int_t padsInRow = GetNpads(fNpadrowIROC+padrow);
if ( (padsInRow < 0) || (pad >= padsInRow) ) {
AliWarning(Form("Pad index outside range (padrow %d, pad %d, roc %d) !", padrow, pad, roc));
{
// Get sector index (0 ... 17) from equipment ID
Int_t retval = 0;
-
- if ( (equipmentID < fTpcDdlOffset) || (equipmentID > 983) ) {
+ if ( (equipmentID < fTpcDdlOffset) || (equipmentID >= fTpcDdlOffset+216) ) {
AliWarning(Form("Equipment ID (%d) outside range !", equipmentID));
return -1;
}
- if ( (equipmentID - 840) < 0 ) retval = (equipmentID-768)/2;
- else retval = (equipmentID-840)/4;
+ Int_t side = GetSideFromEquipmentID(equipmentID);
+ if ( side < 0 ) return -1;
+
+ if ( (equipmentID - 840) < 0 ) { // IROC
+ if ( side == 0 ) retval = (equipmentID-fTpcDdlOffset)/2;
+ else retval = (equipmentID-fTpcDdlOffset-18*2)/2;
+ } else { // OROC
+ if ( side == 0 ) retval = (equipmentID-840)/4;
+ else retval = (equipmentID-840-18*4)/4;
+ }
return retval;
}
if ( patch < 2 ) return sector; // IROC
else return 36+sector; // OROC
} else { // C side
- if ( patch < 2 ) return 18+(17-sector); // IROC
- else return 54+(17-sector); // OROC
+ if ( patch < 2 ) return 18+sector; // IROC
+ else return 54+sector; // OROC
}
}