#include <AliITSsegmentationSSD.h>
#include <AliITSDDLModuleMapSDD.h>
-#include <AliITSCalibrationSDD.h>
#include <AliITSCalibrationSPD.h>
+#include <AliITSCalibrationSDD.h>
+#include <AliITSCalibrationSSD.h>
#include <AliITSdigit.h>
#include <AliITSdigitSPD.h>
AliITSDDLModuleMapSDD *AliEveITSDigitsInfo::fgDDLMapSDD = 0;
TObjArray *AliEveITSDigitsInfo::fgDeadModSPD = 0;
+TObjArray *AliEveITSDigitsInfo::fgDeadModSDD = 0;
+TObjArray *AliEveITSDigitsInfo::fgDeadModSSD = 0;
/******************************************************************************/
fgDeadModSPD->SetOwner(kTRUE);
}
}
+
+ if (fgDeadModSDD == 0)
+ {
+ AliCDBManager *cdb = AliCDBManager::Instance();
+
+ AliCDBEntry *deadSDD = cdb->Get("ITS/Calib/SDDDead");
+
+ if (!deadSDD)
+ {
+ AliWarning("SDD Calibration object retrieval failed!");
+ }
+ else
+ {
+ fgDeadModSDD = (TObjArray*)deadSDD->GetObject();
+ fgDeadModSDD->SetOwner(kTRUE);
+ }
+ }
+
+ if (fgDeadModSSD == 0)
+ {
+ AliCDBManager *cdb = AliCDBManager::Instance();
+
+ AliCDBEntry *deadSSD = cdb->Get("ITS/Calib/SSDDead");
+
+ if (!deadSSD)
+ {
+ AliWarning("SSD Calibration object retrieval failed!");
+ }
+ else
+ {
+ fgDeadModSSD = (TObjArray*)deadSSD->GetObject();
+ fgDeadModSSD->SetOwner(kTRUE);
+ }
+ }
}
/******************************************************************************/
if (det_id == 0 && fgDeadModSPD)
return ((AliITSCalibrationSPD*) fgDeadModSPD->At(module))->IsBad();
+ if (det_id == 1 && fgDeadModSDD)
+ return ((AliITSCalibrationSDD*) fgDeadModSDD->At(module))->IsBad();
+ if (det_id == 2 && fgDeadModSSD)
+ return ((AliITSCalibrationSSD*) fgDeadModSSD->At(module))->IsBad();
return kFALSE;
}
static AliITSDDLModuleMapSDD *fgDDLMapSDD; // Mapping DDL/module to SDD-module number.
static TObjArray *fgDeadModSPD; // Dead modules of SPD.
+ static TObjArray *fgDeadModSDD; // Dead modules of SDD.
+ static TObjArray *fgDeadModSSD; // Dead modules of SSD.
AliEveITSDigitsInfo();
virtual ~AliEveITSDigitsInfo();
Bool_t AliEveITSModule::fgStaticInitDone = kFALSE;
-TEveFrameBox* AliEveITSModule::fgSPDFrameBox = 0;
+TEveFrameBox* AliEveITSModule::fgSPDFrameBox = 0;
TEveFrameBox* AliEveITSModule::fgSPDFrameBoxDead = 0;
-TEveFrameBox* AliEveITSModule::fgSDDFrameBox = 0;
-TEveFrameBox* AliEveITSModule::fgSSDFrameBox = 0;
+TEveFrameBox* AliEveITSModule::fgSDDFrameBox = 0;
+TEveFrameBox* AliEveITSModule::fgSDDFrameBoxDead = 0;
+TEveFrameBox* AliEveITSModule::fgSSDFrameBox = 0;
+TEveFrameBox* AliEveITSModule::fgSSDFrameBoxDead = 0;
TEveRGBAPalette* AliEveITSModule::fgSPDPalette = 0;
TEveRGBAPalette* AliEveITSModule::fgSDDPalette = 0;
fgSDDPalette = new TEveRGBAPalette(info->fSDDMinVal,info->fSDDMaxVal);
fgSDDPalette->SetLimits(0, info->fSDDHighLim); // Set proper ADC range.
fgSDDPalette->IncRefCount();
+
+ fgSDDFrameBoxDead = new TEveFrameBox();
+ fgSDDFrameBoxDead->SetAAQuadXZ(-dx, 0, -dz, 2*dx, 2*dz);
+ fgSDDFrameBoxDead->SetFrameColor(kRed);
+ fgSDDFrameBoxDead->SetFrameFill(kTRUE);
+ fgSDDFrameBoxDead->IncRefCount();
}
{
fgSSDPalette = new TEveRGBAPalette(info->fSSDMinVal,info->fSSDMaxVal);
fgSSDPalette->SetLimits(0, info->fSSDHighLim); // Set proper ADC range.
fgSSDPalette->IncRefCount();
+
+ fgSSDFrameBoxDead = new TEveFrameBox();
+ fgSSDFrameBoxDead->SetAAQuadXZ(-dx, 0, -dz, 2*dx, 2*dz);
+ fgSSDFrameBoxDead->SetFrameColor(kRed);
+ fgSSDFrameBoxDead->SetFrameFill(kTRUE);
+ fgSSDFrameBoxDead->IncRefCount();
}
}
fDetID = 1;
- SetFrame(fgSDDFrameBox);
+ SetFrame(fInfo->IsDead(fID, fDetID) ? fgSDDFrameBoxDead : fgSDDFrameBox);
SetPalette(fgSDDPalette);
symname += strSensor;
fDetID = 2;
- SetFrame(fgSSDFrameBox);
+ SetFrame(fInfo->IsDead(fID, fDetID) ? fgSSDFrameBoxDead : fgSSDFrameBox);
SetPalette(fgSSDPalette);
symname += strSensor;
virtual void Print(Option_t* opt="") const;
- static TEveFrameBox *fgSPDFrameBox; // Module frame for SPD.
- static TEveFrameBox *fgSPDFrameBoxDead; // Module frame for SPD.
- static TEveFrameBox *fgSDDFrameBox; // Module frame for SDD.
- static TEveFrameBox *fgSSDFrameBox; // Module frame for SSD.
+ static TEveFrameBox *fgSPDFrameBox; // Module frame for SPD.
+ static TEveFrameBox *fgSPDFrameBoxDead; // Dead-module frame for SPD.
+ static TEveFrameBox *fgSDDFrameBox; // Module frame for SDD.
+ static TEveFrameBox *fgSDDFrameBoxDead; // Dead-module frame for SPD.
+ static TEveFrameBox *fgSSDFrameBox; // Module frame for SSD.
+ static TEveFrameBox *fgSSDFrameBoxDead; // Dead-module frame for SPD.
static TEveRGBAPalette *fgSPDPalette; // Signal to color mapping for SPD.
static TEveRGBAPalette *fgSDDPalette; // Signal to color mapping for SDD.
if (i > 239 && i < 500) det_id = 1;
else if (i >= 500) det_id = 2;
- printf("Mod %d, %d %d\n", i, di->HasData(i, det_id), di->IsDead(i, det_id));
-
if (!check_empty || di->HasData(i, det_id) || di->IsDead(i, det_id))
{
- printf("Creating module: %d\n", i);
if (scaled_modules)
m = new AliEveITSScaledModule(i, di, si);
else