ROOT logo
AliRoot » ITS » AliITSOnlineCalibrationSPDhandler

class AliITSOnlineCalibrationSPDhandler

Author: Henrik Tydesjo
For easier handling of dead and noisy pixels they are kept in
container maps (AliITSIntMap).
Handling of inactive equipments,HSs,chips have been added.
A pixel that is either dead or inactive is called SILENT here.
The lists of single dead and noisy pixels are separated from the
information about which eq/hs/chip are inactive.
The TArrayS objects that are put in the AliITSCalibrationSPD
objects can be obtained from the methods GetDeadArray and
GetNoisyArray.

Function Members (Methods)

public:
AliITSOnlineCalibrationSPDhandler()
AliITSOnlineCalibrationSPDhandler(const AliITSOnlineCalibrationSPDhandler& handle)
virtual~AliITSOnlineCalibrationSPDhandler()
voidActivateALL()
voidActivateChip(UInt_t eq, UInt_t hs, UInt_t chip, Bool_t setval = kTRUE)
voidActivateEq(UInt_t eq, Bool_t setval = kTRUE)
voidActivateHS(UInt_t eq, UInt_t hs, Bool_t setval = kTRUE)
UInt_tAddDeadFrom(const AliITSOnlineCalibrationSPDhandler* other)
UInt_tAddNoisyFrom(const AliITSOnlineCalibrationSPDhandler* other)
UInt_tAddSilentFrom(AliITSOnlineCalibrationSPDhandler* other)
voidClearMaps()
voidGenerateDCSConfigFile(const Char_t* fileName)
TArraySGetDeadArray(UInt_t module, Bool_t treeSerial = kFALSE)
TArrayIGetDeadArrayOnline(UInt_t eq)
UInt_tGetDeadChipAt(UInt_t index) const
UInt_tGetDeadChipAt(UInt_t module, UInt_t index) const
UInt_tGetDeadChipAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_tGetDeadChipAtEq(UInt_t eq, UInt_t index) const
UInt_tGetDeadColAt(UInt_t index) const
UInt_tGetDeadColAt(UInt_t module, UInt_t index) const
UInt_tGetDeadColAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_tGetDeadColAtEq(UInt_t eq, UInt_t index) const
AliITSOnlineCalibrationSPDhandler*GetDeadDiff(const AliITSOnlineCalibrationSPDhandler* other) const
UInt_tGetDeadEqIdAt(UInt_t index) const
UInt_tGetDeadEqIdAt(UInt_t module, UInt_t index) const
UInt_tGetDeadEqIdAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_tGetDeadEqIdAtEq(UInt_t eq, UInt_t index) const
UInt_tGetDeadHSAt(UInt_t index) const
UInt_tGetDeadHSAt(UInt_t module, UInt_t index) const
UInt_tGetDeadHSAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_tGetDeadHSAtEq(UInt_t eq, UInt_t index) const
const Char_t*GetDeadPixelAsTextC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_tGetDeadRowAt(UInt_t index) const
UInt_tGetDeadRowAt(UInt_t module, UInt_t index) const
UInt_tGetDeadRowAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_tGetDeadRowAtEq(UInt_t eq, UInt_t index) const
AliITSOnlineCalibrationSPDhandler*GetDiff(const AliITSOnlineCalibrationSPDhandler* other) const
TStringGetFileLocation() const
TArraySGetNoisyArray(UInt_t module, Bool_t treeSerial = kFALSE)
TArrayIGetNoisyArrayOnline(UInt_t eq)
UInt_tGetNoisyChipAt(UInt_t index) const
UInt_tGetNoisyChipAt(UInt_t module, UInt_t index) const
UInt_tGetNoisyChipAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_tGetNoisyChipAtEq(UInt_t eq, UInt_t index) const
UInt_tGetNoisyColAt(UInt_t index) const
UInt_tGetNoisyColAt(UInt_t module, UInt_t index) const
UInt_tGetNoisyColAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_tGetNoisyColAtEq(UInt_t eq, UInt_t index) const
AliITSOnlineCalibrationSPDhandler*GetNoisyDiff(const AliITSOnlineCalibrationSPDhandler* other) const
UInt_tGetNoisyEqIdAt(UInt_t index) const
UInt_tGetNoisyEqIdAt(UInt_t module, UInt_t index) const
UInt_tGetNoisyEqIdAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_tGetNoisyEqIdAtEq(UInt_t eq, UInt_t index) const
UInt_tGetNoisyHSAt(UInt_t index) const
UInt_tGetNoisyHSAt(UInt_t module, UInt_t index) const
UInt_tGetNoisyHSAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_tGetNoisyHSAtEq(UInt_t eq, UInt_t index) const
const Char_t*GetNoisyPixelAsTextC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_tGetNoisyRowAt(UInt_t index) const
UInt_tGetNoisyRowAt(UInt_t module, UInt_t index) const
UInt_tGetNoisyRowAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_tGetNoisyRowAtEq(UInt_t eq, UInt_t index) const
UInt_tGetNrBad() const
UInt_tGetNrBad(UInt_t module) const
UInt_tGetNrBadC(UInt_t eq, UInt_t hs, UInt_t chip) const
UInt_tGetNrBadEq(UInt_t eq) const
UInt_tGetNrDead() const
UInt_tGetNrDead(UInt_t module) const
UInt_tGetNrDeadC(UInt_t eq, UInt_t hs, UInt_t chip) const
UInt_tGetNrDeadDiff(const AliITSOnlineCalibrationSPDhandler* other) const
UInt_tGetNrDeadEq(UInt_t eq) const
UInt_tGetNrDeadSingle(UInt_t module) const
UInt_tGetNrDiff(AliITSOnlineCalibrationSPDhandler* other) const
UInt_tGetNrNoisy() const
UInt_tGetNrNoisy(UInt_t module) const
UInt_tGetNrNoisyC(UInt_t eq, UInt_t hs, UInt_t chip) const
UInt_tGetNrNoisyDiff(const AliITSOnlineCalibrationSPDhandler* other) const
UInt_tGetNrNoisyEq(UInt_t eq) const
UInt_tGetNrNoisySingle(UInt_t module) const
UInt_tGetNrSilent() const
UInt_tGetNrSilent(UInt_t module) const
UInt_tGetNrSilentC(UInt_t eq, UInt_t hs, UInt_t chip) const
UInt_tGetNrSilentDiff(AliITSOnlineCalibrationSPDhandler* other) const
UInt_tGetNrSilentEq(UInt_t eq) const
UInt_tGetNrSparseDead() const
UInt_tGetNrSparseDead(UInt_t module) const
UInt_tGetNrSparseDeadC(UInt_t eq, UInt_t hs, UInt_t chip) const
UInt_tGetNrSparseDeadEq(UInt_t eq) const
TArraySGetSilentArray(UInt_t module, Bool_t treeSerial = kFALSE)
AliITSOnlineCalibrationSPDhandler*GetSilentDiff(const AliITSOnlineCalibrationSPDhandler* other) const
TArraySGetSparseDeadArray(UInt_t module, Bool_t treeSerial = kFALSE)
AliITSTriggerConditions*GetTriggerConditions() const
Bool_tIsActiveChip(UInt_t eq, UInt_t hs, UInt_t chip) const
Bool_tIsActiveEq(UInt_t eq) const
Bool_tIsActiveHS(UInt_t eq, UInt_t hs) const
Bool_tIsDeadChip(UInt_t eq, UInt_t hs, UInt_t chip) const
Bool_tIsDeadEq(UInt_t eq) const
Bool_tIsDeadHS(UInt_t eq, UInt_t hs) const
Bool_tIsNoisyChip(UInt_t eq, UInt_t hs, UInt_t chip) const
Bool_tIsPixelBad(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row) const
Bool_tIsPixelBadKey(Int_t key) const
Bool_tIsPixelBadM(UInt_t module, UInt_t colM, UInt_t row) const
Bool_tIsPixelDead(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row) const
Bool_tIsPixelDeadKey(Int_t key) const
Bool_tIsPixelDeadM(UInt_t module, UInt_t colM, UInt_t row) const
Bool_tIsPixelNoisy(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row) const
Bool_tIsPixelNoisyKey(Int_t key) const
Bool_tIsPixelNoisyM(UInt_t module, UInt_t colM, UInt_t row) const
Bool_tIsPixelSilent(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row) const
Bool_tIsPixelSilentKey(Int_t key) const
Bool_tIsPixelSilentM(UInt_t module, UInt_t colM, UInt_t row) const
Bool_tIsSilentChip(UInt_t eq, UInt_t hs, UInt_t chip) const
Bool_tIsSilentEq(UInt_t eq) const
Bool_tIsSilentHS(UInt_t eq, UInt_t hs) const
AliITSOnlineCalibrationSPDhandler&operator=(const AliITSOnlineCalibrationSPDhandler& handle)
voidPrintDead() const
voidPrintDiffInDead(AliITSOnlineCalibrationSPDhandler* other) const
voidPrintDiffInPITmask(AliITSOnlineCalibrationSPDhandler* other) const
voidPrintEqSummary()
voidPrintNoisy() const
voidPrintSilent() const
voidPrintSparseDead() const
Bool_tReadDeadFromCalibObj(const TObjArray* calObj)
Bool_tReadDeadFromDB(Int_t runNr, const Char_t* storage = "default", Bool_t treeSerial = kFALSE)
Bool_tReadDeadFromDBasNoisy(Int_t runNr, const Char_t* storage = "default", Bool_t treeSerial = kFALSE)
Bool_tReadDeadFromFile(UInt_t eq)
Bool_tReadDeadFromFileName(const char* fileName, Bool_t inactive = kFALSE)
Bool_tReadDeadFromFiles()
UInt_tReadDeadFromText(const char* fileName, UInt_t module)
Bool_tReadDeadModuleFromDB(UInt_t module, Int_t runNr, const Char_t* storage = "default", Bool_t treeSerial = kFALSE)
Bool_tReadFromDB(Int_t runNr, const Char_t* storage = "default", Bool_t treeSerial = kFALSE)
Bool_tReadFromFiles()
Bool_tReadNoisyFromCalibObj(const TObjArray* calObj)
Bool_tReadNoisyFromDB(Int_t runNr, const Char_t* storage = "default", Bool_t treeSerial = kFALSE)
Bool_tReadNoisyFromFile(UInt_t eq)
Bool_tReadNoisyFromFileName(const char* fileName)
Bool_tReadNoisyFromFiles()
UInt_tReadNoisyFromText(const char* fileName, UInt_t module)
Bool_tReadNoisyModuleFromDB(UInt_t module, Int_t runNr, const Char_t* storage = "default", Bool_t treeSerial = kFALSE)
Bool_tReadPITConditionsFromDB(Int_t runNr, const Char_t* storage = "default")
voidReadPITConditionsFromText(const char* fileName)
Bool_tReadSilentFromFile(UInt_t eq)
Bool_tReadSilentFromFileName(const char* fileName)
Bool_tReadSilentFromFiles()
Bool_tReadSparseDeadFromDB(Int_t runNr, const Char_t* storage = "default", Bool_t treeSerial = kFALSE)
voidResetDead()
voidResetDeadForChip(UInt_t eq, UInt_t hs, UInt_t chip)
voidResetDeadForEq(UInt_t eq)
voidResetNoisy()
voidResetNoisyForChip(UInt_t eq, UInt_t hs, UInt_t chip)
voidResetNoisyForEq(UInt_t eq)
voidSetDeadChip(UInt_t eq, UInt_t hs, UInt_t chip, Bool_t setval = kTRUE)
voidSetDeadEq(UInt_t eq, Bool_t setval = kTRUE)
voidSetDeadHS(UInt_t eq, UInt_t hs, Bool_t setval = kTRUE)
Bool_tSetDeadPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row)
Bool_tSetDeadPixelM(UInt_t module, UInt_t colM, UInt_t row)
voidSetFileLocation(const Char_t* loc)
Bool_tSetInactiveChipInPITmask(UInt_t eq, UInt_t hs, UInt_t chip)
Bool_tSetNoisyPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row)
Bool_tSetNoisyPixelM(UInt_t module, UInt_t colM, UInt_t row)
Bool_tSetSparseDeadPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row)
Bool_tSetSparseDeadPixelM(UInt_t module, UInt_t colM, UInt_t row)
voidUnSetDeadALL()
Bool_tUnSetDeadPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row)
Bool_tUnSetDeadPixelM(UInt_t module, UInt_t colM, UInt_t row)
Bool_tUnSetInactiveChipInPITmask(UInt_t eq, UInt_t hs, UInt_t chip)
Bool_tUnSetNoisyPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row)
Bool_tUnSetNoisyPixelM(UInt_t module, UInt_t colM, UInt_t row)
Bool_tUnSetSparseDeadPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row)
Bool_tUnSetSparseDeadPixelM(UInt_t module, UInt_t colM, UInt_t row)
Bool_tWriteDeadToDB(Int_t runNrStart, Int_t runNrEnd, const Char_t* storage = "default")
Bool_tWriteDeadToDBasNoisy(Int_t runNrStart, Int_t runNrEnd, const Char_t* storage = "default")
voidWriteDeadToFile(UInt_t eq, Bool_t inactive = kFALSE)
UInt_tWriteDeadToFiles()
voidWriteDeadToFilesAlways()
Bool_tWriteNoisyToDB(Int_t runNrStart, Int_t runNrEnd, const Char_t* storage = "default")
voidWriteNoisyToFile(UInt_t eq)
UInt_tWriteNoisyToFiles()
voidWriteNoisyToFilesAlways()
Bool_tWritePITConditionsToDB(Int_t runNrStart, Int_t runNrEnd, const Char_t* storage = "default")
voidWriteSilentToFile(UInt_t eq)
UInt_tWriteSilentToFiles()
voidWriteSilentToFilesAlways()
Bool_tWriteSparseDeadToDB(Int_t runNrStart, Int_t runNrEnd, const Char_t* storage = "default")
Bool_tWriteToDB(Int_t runNrStart, Int_t runNrEnd, const Char_t* storage = "default")
UInt_tWriteToFiles()
voidWriteToFilesAlways()
private:
voidGetChipAndIndexDead(UInt_t module, UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const
voidGetChipAndIndexEqDead(UInt_t eq, UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const
voidGetChipAndIndexEqNoisy(UInt_t eq, UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const
voidGetChipAndIndexNoisy(UInt_t module, UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const
voidGetChipAndIndexTotDead(UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const
voidGetChipAndIndexTotNoisy(UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const
UInt_tGetChipFromKey(Int_t key) const
UInt_tGetChipFromOffline(UInt_t module, UInt_t colM) const
UInt_tGetChipGlo(UInt_t gloChip) const
UInt_tGetColFromKey(Int_t key) const
UInt_tGetColFromOffline(UInt_t module, UInt_t colM) const
UInt_tGetColMFromKey(Int_t key) const
UInt_tGetDeadChipAtC2(UInt_t gloChip, UInt_t index) const
UInt_tGetDeadColAtC2(UInt_t gloChip, UInt_t index) const
UInt_tGetDeadEqIdAtC2(UInt_t gloChip, UInt_t index) const
UInt_tGetDeadHSAtC2(UInt_t gloChip, UInt_t index) const
UInt_tGetDeadRowAtC2(UInt_t gloChip, UInt_t index) const
UInt_tGetEqGlo(UInt_t gloChip) const
UInt_tGetEqIdFromKey(Int_t key) const
UInt_tGetEqIdFromOffline(UInt_t module) const
UInt_tGetGloChip(UInt_t eq, UInt_t hs, UInt_t chip) const
UInt_tGetHSFromKey(Int_t key) const
UInt_tGetHSFromOffline(UInt_t module) const
UInt_tGetHSGlo(UInt_t gloChip) const
Int_tGetKey(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row) const
UInt_tGetModuleFromKey(Int_t key) const
UInt_tGetNoisyChipAtC2(UInt_t gloChip, UInt_t index) const
UInt_tGetNoisyColAtC2(UInt_t gloChip, UInt_t index) const
UInt_tGetNoisyEqIdAtC2(UInt_t gloChip, UInt_t index) const
UInt_tGetNoisyHSAtC2(UInt_t gloChip, UInt_t index) const
UInt_tGetNoisyRowAtC2(UInt_t gloChip, UInt_t index) const
UInt_tGetNrDeadC2(UInt_t gloChip) const
UInt_tGetNrNoisyC2(UInt_t gloChip) const
UInt_tGetNrSparseDeadC2(UInt_t gloChip) const
UInt_tGetRowFromKey(Int_t key) const
UInt_tGetRowFromOffline(UInt_t module, UInt_t rowM) const
UInt_tGetRowMFromKey(Int_t key) const
voidRecursiveInsertDead(AliITSCalibrationSPD* calibSPD, UInt_t module, Int_t lowInd, Int_t highInd)
voidRecursiveInsertNoisy(AliITSCalibrationSPD* calibSPD, UInt_t module, Int_t lowInd, Int_t highInd)
voidRecursiveInsertSparseDead(AliITSCalibrationSPD* calibSPD, UInt_t module, Int_t lowInd, Int_t highInd)

Data Members

private:
Bool_tfActiveChip[20][6][10]active bit for each chip
Bool_tfActiveEq[20]active bit for each equipment
Bool_tfActiveHS[20][6]active bit for each half-stave
Bool_tfDeadChip[20][6][10]dead bit for each chip
Bool_tfDeadEq[20]dead bit for each equipment
Bool_tfDeadHS[20][6]dead bit for each half-stave
AliITSIntMap*fDeadPixelMap[1200]lists of dead pixels for each chip
TStringfFileLocationlocation (dir) of files to read and write from
AliITSIntMap*fNoisyPixelMap[1200]lists of noisy pixels for each chip
UInt_tfNrDead[1200]nr of dead pixels for each chip
UInt_tfNrNoisy[1200]nr of noisy pixels for each chip
UInt_tfNrSparseDead[1200]nr of sparse dead pixels for each chip
AliITSIntMap*fSparseDeadPixelMap[1200]lists of dead pixels for each chip (used to define sparse dead pixel on LHC period basis)
AliITSTriggerConditions*fTriggerConditionsPIT conditions (mask, parameters name, parameters values)

Class Charts

Inheritance Chart:
AliITSOnlineCalibrationSPDhandler

Function documentation

AliITSOnlineCalibrationSPDhandler()
 constructor
AliITSOnlineCalibrationSPDhandler(const AliITSOnlineCalibrationSPDhandler& handle)
 copy constructor
~AliITSOnlineCalibrationSPDhandler()
AliITSOnlineCalibrationSPDhandler& operator=(const AliITSOnlineCalibrationSPDhandler& handle)
 assignment operator
void ClearMaps()
 clear the lists of dead and noisy
void ResetDead()
 reset the dead pixel map and inactive eq,hs,chip
void ResetNoisy()
 clear the list of noisy pixels
void ResetDeadForChip(UInt_t eq, UInt_t hs, UInt_t chip)
 clear the dead pixels for this chip
void ResetNoisyForChip(UInt_t eq, UInt_t hs, UInt_t chip)
 clear the noisy pixels for this chip
void ResetDeadForEq(UInt_t eq)
 clear the dead pixels for this eq
void ResetNoisyForEq(UInt_t eq)
 clear the noisy pixels for this eq
Bool_t ReadFromFiles()
 read files from file location (active,dead,noisy info). returns true if at least one file found
Bool_t ReadSilentFromFiles()
 read dead,active files from file location. returns true if at least one file found
Bool_t ReadDeadFromFiles()
 read dead,active files from file location. returns true if at least one file found
Bool_t ReadSilentFromFile(UInt_t eq)
 read dead file for eq from file location.
Bool_t ReadDeadFromFile(UInt_t eq)
 read dead file for eq from file location.
Bool_t ReadSilentFromFileName(const char* fileName)
 read dead from file fileName (including inactive)
Bool_t ReadDeadFromFileName(const char* fileName, Bool_t inactive = kFALSE)
 read dead from file fileName
Bool_t ReadNoisyFromFiles()
 read noisy files from file location. returns true if at least one file found
Bool_t ReadNoisyFromFile(UInt_t eq)
 read noisy file for eq from file location.
Bool_t ReadNoisyFromFileName(const char* fileName)
 read noisy from file fileName
UInt_t ReadDeadFromText(const char* fileName, UInt_t module)
 read dead from a text file (lines with eq,hs,chip,col,row). returns nr of pixels added (not already here)
 insert only those pixels that belong to module (or all if module=240).
UInt_t ReadNoisyFromText(const char* fileName, UInt_t module)
 read noisy from a text file (lines with eq,hs,chip,col,row). returns nr of pixels added (not already here)
 insert only those pixels that belong to module (or all if module=240).
void ReadPITConditionsFromText(const char* fileName)
 read PIT conditions file from text as printed out at P2
  !!! please note that the chip numbering goes from 9 to 0 in the text. In PVSS panels is the opposite.
Bool_t ReadPITConditionsFromDB(Int_t runNr, const Char_t* storage = "default")
 read PIT conditions from the OCDB
void WriteToFilesAlways()
 write the lists of active,dead,noisy to files
UInt_t WriteToFiles()
 write the lists of dead and noisy to files (only if there are >0 dead or noisy pixels) , returns nr of files produced
void WriteSilentToFilesAlways()
 write the lists of silent to files
void WriteDeadToFilesAlways()
 write the lists of dead to files
void WriteNoisyToFilesAlways()
 write the lists of noisy to files
UInt_t WriteSilentToFiles()
 write the list of silent to file (only if there are >0 silent pixels) , returns nr of files produced
UInt_t WriteDeadToFiles()
 write the list of dead to file (only if there are >0 dead pixels) , returns nr of files produced
UInt_t WriteNoisyToFiles()
 write the list of noisy to file (only if there are >0 noisy pixels) , returns nr of files produced
void WriteSilentToFile(UInt_t eq)
void WriteDeadToFile(UInt_t eq, Bool_t inactive = kFALSE)
 write the lists of dead (and inactive if input boolean is true) for eq to file
void WriteNoisyToFile(UInt_t eq)
 write the lists of noisy for eq to file
Bool_t ReadDeadModuleFromDB(UInt_t module, Int_t runNr, const Char_t* storage = "default", Bool_t treeSerial = kFALSE)
 reads dead pixels from DB for given module and runNr
Bool_t ReadNoisyModuleFromDB(UInt_t module, Int_t runNr, const Char_t* storage = "default", Bool_t treeSerial = kFALSE)
 reads noisy pixels from DB for given module and runNr
Bool_t ReadFromDB(Int_t runNr, const Char_t* storage = "default", Bool_t treeSerial = kFALSE)
 reads dead and noisy pixels from DB for given runNr
 note that you may want to clear the lists (if they are not empty) before reading
Bool_t ReadDeadFromDB(Int_t runNr, const Char_t* storage = "default", Bool_t treeSerial = kFALSE)
 reads dead pixels from DB for given runNr
 note that you may want to clear the list (if it is not empty) before reading
Bool_t ReadSparseDeadFromDB(Int_t runNr, const Char_t* storage = "default", Bool_t treeSerial = kFALSE)
 reads dead pixels from DB for given runNr
 note that you may want to clear the list (if it is not empty) before reading
Bool_t ReadNoisyFromDB(Int_t runNr, const Char_t* storage = "default", Bool_t treeSerial = kFALSE)
 reads noisy pixels from DB for given runNr
 note that you may want to clear the list (if it is not empty) before reading
Bool_t ReadDeadFromDBasNoisy(Int_t runNr, const Char_t* storage = "default", Bool_t treeSerial = kFALSE)
 reads dead pixels (put as noisy) from DB for given runNr
 note that you may want to clear the list (if it is not empty) before reading
Bool_t ReadDeadFromCalibObj(const TObjArray* calObj)
 reads dead pixels from calib object
Bool_t ReadNoisyFromCalibObj(const TObjArray* calObj)
 reads noisy pixels from calib object
Bool_t WriteToDB(Int_t runNrStart, Int_t runNrEnd, const Char_t* storage = "default")
 writes dead and noisy pixels to DB for given runNrs
 overwrites any previous entries
Bool_t WriteDeadToDB(Int_t runNrStart, Int_t runNrEnd, const Char_t* storage = "default")
 writes dead pixels to DB for given runNrs
 overwrites any previous entries
Bool_t WriteSparseDeadToDB(Int_t runNrStart, Int_t runNrEnd, const Char_t* storage = "default")
 writes dead pixels to DB for given runNrs
 overwrites any previous entries
Bool_t WriteDeadToDBasNoisy(Int_t runNrStart, Int_t runNrEnd, const Char_t* storage = "default")
 writes dead pixels to DB for given runNrs
 overwrites any previous entries
Bool_t WriteNoisyToDB(Int_t runNrStart, Int_t runNrEnd, const Char_t* storage = "default")
 writes noisy pixels to DB for given runNrs
 overwrites any previous entries
void RecursiveInsertDead(AliITSCalibrationSPD* calibSPD, UInt_t module, Int_t lowInd, Int_t highInd)
 inserts dead pixels recursively, used when reading from db
void RecursiveInsertSparseDead(AliITSCalibrationSPD* calibSPD, UInt_t module, Int_t lowInd, Int_t highInd)
 inserts sparse dead pixels recursively, used when reading from db
void RecursiveInsertNoisy(AliITSCalibrationSPD* calibSPD, UInt_t module, Int_t lowInd, Int_t highInd)
 inserts noisy pixels recursively, used when reading from db
void GenerateDCSConfigFile(const Char_t* fileName)
 generates an ascii file in the format as the one produced by online da (but with dummy runNr=0)
TArrayS GetSilentArray(UInt_t module, Bool_t treeSerial = kFALSE)
 get a TArrayS of the silent=dead+inactive pixels (format for the AliITSCalibrationSPD object)
 NB! with new implementation of AliITSCalibrationSPD this is not needed anymore
TArrayS GetDeadArray(UInt_t module, Bool_t treeSerial = kFALSE)
 get a TArrayS of the single dead pixels (format for the AliITSCalibrationSPD object)
TArrayS GetSparseDeadArray(UInt_t module, Bool_t treeSerial = kFALSE)
 get a TArrayS of the single dead pixels (format for the AliITSCalibrationSPD object)
TArrayS GetNoisyArray(UInt_t module, Bool_t treeSerial = kFALSE)
 get a TArrayS of the single noisy pixels (format for the AliITSCalibrationSPD object)
TArrayI GetDeadArrayOnline(UInt_t eq)
 get a TArrayI of the single dead pixels (format for the AliITSOnlineCalibrationSPD object)
TArrayI GetNoisyArrayOnline(UInt_t eq)
 get a TArrayI of the single noisy pixels (format for the AliITSOnlineCalibrationSPD object)
void PrintEqSummary()
 print summary (nr of dead and noisy) for each equipment
void PrintSilent() const
 print the inactive and dead pixels to screen
void PrintDead() const
 print the single dead pixels to screen (disregards inactive eq,hs,chip)
void PrintSparseDead() const
 print the single dead pixels to screen (disregards inactive eq,hs,chip)
void PrintNoisy() const
 print the dead pixels to screen
Bool_t SetDeadPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row)
 set a dead pixel, returns false if pixel is already dead
Bool_t SetSparseDeadPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row)
 set a dead pixel, returns false if pixel is already dead
Bool_t SetNoisyPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row)
 set a noisy pixel, returns false if pixel is already noisy
Bool_t SetDeadPixelM(UInt_t module, UInt_t colM, UInt_t row)
 set a dead pixel, returns false if pixel is already dead
Bool_t SetSparseDeadPixelM(UInt_t module, UInt_t colM, UInt_t row)
 set a dead pixel, returns false if pixel is already dead
Bool_t SetNoisyPixelM(UInt_t module, UInt_t colM, UInt_t row)
 set a noisy pixel, returns false if pixel is already noisy
Bool_t UnSetDeadPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row)
 unset a dead pixel, returns false if pixel is not dead
Bool_t UnSetSparseDeadPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row)
 unset a dead pixel, returns false if pixel is not dead
Bool_t UnSetNoisyPixel(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row)
 unset a noisy pixel, returns false if pixel is not noisy
Bool_t UnSetDeadPixelM(UInt_t module, UInt_t colM, UInt_t row)
 unset a dead pixel, returns false if pixel is not dead
Bool_t UnSetSparseDeadPixelM(UInt_t module, UInt_t colM, UInt_t row)
 unset a dead pixel, returns false if pixel is not dead
Bool_t UnSetNoisyPixelM(UInt_t module, UInt_t colM, UInt_t row)
 unset a noisy pixel, returns false if pixel is not noisy
Bool_t IsPixelBad(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row) const
 is the pixel bad (silent or noisy)
Bool_t IsPixelSilent(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row) const
 is the pixel silent (dead or inactive)?
Bool_t IsPixelDead(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row) const
 is the pixel dead?
Bool_t IsPixelNoisy(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row) const
 is the pixel noisy?
Bool_t IsPixelBadM(UInt_t module, UInt_t colM, UInt_t row) const
 is the pixel bad (silent or noisy)?
Bool_t IsPixelSilentM(UInt_t module, UInt_t colM, UInt_t row) const
 is the pixel silent (dead or inactive)?
Bool_t IsPixelDeadM(UInt_t module, UInt_t colM, UInt_t row) const
 is the pixel dead?
Bool_t IsPixelNoisyM(UInt_t module, UInt_t colM, UInt_t row) const
 is the pixel noisy?
Bool_t IsPixelBadKey(Int_t key) const
 is this pixel silent (dead or inactive)?
Bool_t IsPixelSilentKey(Int_t key) const
 is this pixel silent (dead or inactive)?
Bool_t IsPixelDeadKey(Int_t key) const
 is this pixel dead?
Bool_t IsPixelNoisyKey(Int_t key) const
 is this pixel noisy?
UInt_t GetNrBad() const
 returns the total nr of bad pixels (silent or noisy)
UInt_t GetNrSilent() const
 returns the total nr of silent pixels (dead or inactive)
UInt_t GetNrDead() const
 returns the total nr of dead pixels
UInt_t GetNrSparseDead() const
 returns the total nr of dead pixels
UInt_t GetNrNoisy() const
 returns the total nr of noisy pixels
UInt_t GetDeadEqIdAt(UInt_t index) const
 get eq for the dead pixel at position index in list of dead
UInt_t GetNoisyEqIdAt(UInt_t index) const
 get eq for the noisy pixel at position index in list of noisy
UInt_t GetDeadHSAt(UInt_t index) const
 get hs for the dead pixel at position index in list of dead
UInt_t GetNoisyHSAt(UInt_t index) const
 get hs for the noisy pixel at position index in list of noisy
UInt_t GetDeadChipAt(UInt_t index) const
 get chip for the dead pixel at position index in list of dead
UInt_t GetNoisyChipAt(UInt_t index) const
 get chip for the noisy pixel at position index in list of noisy
UInt_t GetDeadColAt(UInt_t index) const
 get hs for the dead pixel at position index in list of dead
UInt_t GetNoisyColAt(UInt_t index) const
 get hs for the noisy pixel at position index in list of noisy
UInt_t GetDeadRowAt(UInt_t index) const
 get hs for the dead pixel at position index in list of dead
UInt_t GetNoisyRowAt(UInt_t index) const
 get hs for the noisy pixel at position index in list of noisy
UInt_t GetNrBad(UInt_t module) const
 returns the number of bad pixels for a certain module (silent or noisy)
UInt_t GetNrSilent(UInt_t module) const
 returns the number of silent pixels for a certain module (dead or inactive)
UInt_t GetNrDeadSingle(UInt_t module) const
 returns the number of single dead pixels (excluding the ones on silent chips) for a certain module
UInt_t GetNrNoisySingle(UInt_t module) const
 returns the number of noisy pixels for a certain module
UInt_t GetNrDead(UInt_t module) const
 returns the number of dead pixels for a certain module
UInt_t GetNrSparseDead(UInt_t module) const
 returns the number of sparse dead pixels for a certain module
UInt_t GetNrNoisy(UInt_t module) const
 returns the number of noisy pixels for a certain module
UInt_t GetDeadEqIdAt(UInt_t module, UInt_t index) const
 get eq for the dead pixel at position index in list of dead
UInt_t GetNoisyEqIdAt(UInt_t module, UInt_t index) const
 get eq for the noisy pixel at position index in list of noisy
UInt_t GetDeadHSAt(UInt_t module, UInt_t index) const
 get hs for the dead pixel at position index in list of dead
UInt_t GetNoisyHSAt(UInt_t module, UInt_t index) const
 get hs for the noisy pixel at position index in list of noisy
UInt_t GetDeadChipAt(UInt_t module, UInt_t index) const
 get chip for the dead pixel at position index in list of dead
UInt_t GetNoisyChipAt(UInt_t module, UInt_t index) const
 get chip for the noisy pixel at position index in list of noisy
UInt_t GetDeadColAt(UInt_t module, UInt_t index) const
 get hs for the dead pixel at position index in list of dead
UInt_t GetNoisyColAt(UInt_t module, UInt_t index) const
 get hs for the noisy pixel at position index in list of noisy
UInt_t GetDeadRowAt(UInt_t module, UInt_t index) const
 get hs for the dead pixel at position index in list of dead
UInt_t GetNoisyRowAt(UInt_t module, UInt_t index) const
 get hs for the noisy pixel at position index in list of noisy
UInt_t GetNrBadEq(UInt_t eq) const
 returns nr of bad for eq (silent or noisy)
UInt_t GetNrSilentEq(UInt_t eq) const
 returns nr of silent for eq (dead or inactive)
UInt_t GetNrDeadEq(UInt_t eq) const
 returns nr of dead for eq
UInt_t GetNrSparseDeadEq(UInt_t eq) const
 returns nr of dead for eq
UInt_t GetNrNoisyEq(UInt_t eq) const
 returns nr of noisy for eq
UInt_t GetDeadEqIdAtEq(UInt_t eq, UInt_t index) const
 get eq for the dead pixel at position index in list of dead
UInt_t GetNoisyEqIdAtEq(UInt_t eq, UInt_t index) const
 get eq for the noisy pixel at position index in list of noisy
UInt_t GetDeadHSAtEq(UInt_t eq, UInt_t index) const
 get hs for the dead pixel at position index in list of dead
UInt_t GetNoisyHSAtEq(UInt_t eq, UInt_t index) const
 get hs for the noisy pixel at position index in list of noisy
UInt_t GetDeadChipAtEq(UInt_t eq, UInt_t index) const
 get chip for the dead pixel at position index in list of dead
UInt_t GetNoisyChipAtEq(UInt_t eq, UInt_t index) const
 get chip for the noisy pixel at position index in list of noisy
UInt_t GetDeadColAtEq(UInt_t eq, UInt_t index) const
 get hs for the dead pixel at position index in list of dead
UInt_t GetNoisyColAtEq(UInt_t eq, UInt_t index) const
 get hs for the noisy pixel at position index in list of noisy
UInt_t GetDeadRowAtEq(UInt_t eq, UInt_t index) const
 get hs for the dead pixel at position index in list of dead
UInt_t GetNoisyRowAtEq(UInt_t eq, UInt_t index) const
 get hs for the noisy pixel at position index in list of noisy
UInt_t GetNrBadC(UInt_t eq, UInt_t hs, UInt_t chip) const
 returns nr of bad for chip (silent or noisy)
UInt_t GetNrSilentC(UInt_t eq, UInt_t hs, UInt_t chip) const
 returns nr of silent for chip (dead or inactive)
UInt_t GetNrDeadC(UInt_t eq, UInt_t hs, UInt_t chip) const
 returns nr of dead for chip
UInt_t GetNrSparseDeadC(UInt_t eq, UInt_t hs, UInt_t chip) const
 returns nr of sparse dead for chip
UInt_t GetNrNoisyC(UInt_t eq, UInt_t hs, UInt_t chip) const
 returns nr of noisy for chip
UInt_t GetDeadEqIdAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_t GetNoisyEqIdAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_t GetDeadHSAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_t GetNoisyHSAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_t GetDeadChipAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_t GetNoisyChipAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_t GetDeadColAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_t GetNoisyColAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_t GetDeadRowAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
UInt_t GetNoisyRowAtC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
const Char_t* GetDeadPixelAsTextC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
 get a string of dead pixel info
const Char_t* GetNoisyPixelAsTextC(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t index) const
 get a string of noisy pixel info
UInt_t AddSilentFrom(AliITSOnlineCalibrationSPDhandler* other)
 returns number of new silent pixels in this' list (dead or inactive)
UInt_t AddDeadFrom(const AliITSOnlineCalibrationSPDhandler* other)
 returns number of new dead pixels in this' list
UInt_t AddNoisyFrom(const AliITSOnlineCalibrationSPDhandler* other)
 returns number of new noisy pixels in this' list
UInt_t GetNrDiff(AliITSOnlineCalibrationSPDhandler* other) const
 returns nr of dead/noisy in this' lists and not in other's lists (including inactive)
UInt_t GetNrSilentDiff(AliITSOnlineCalibrationSPDhandler* other) const
 returns nr of single silent pixels in this' lists and not in other's lists (dead or inactive)
UInt_t GetNrDeadDiff(const AliITSOnlineCalibrationSPDhandler* other) const
 returns nr of dead in this' lists and not in other's lists
UInt_t GetNrNoisyDiff(const AliITSOnlineCalibrationSPDhandler* other) const
 returns nr of noisy in this' lists and not in other's lists
AliITSOnlineCalibrationSPDhandler* GetDiff(const AliITSOnlineCalibrationSPDhandler* other) const
 returns handler with active/dead/noisy in this' lists, removing those that are in other's lists
AliITSOnlineCalibrationSPDhandler* GetSilentDiff(const AliITSOnlineCalibrationSPDhandler* other) const
 returns handler with active/dead in this' lists, removing those that are in other's lists
AliITSOnlineCalibrationSPDhandler* GetDeadDiff(const AliITSOnlineCalibrationSPDhandler* other) const
 returns handler with dead in this' lists, except for those in other's lists
AliITSOnlineCalibrationSPDhandler* GetNoisyDiff(const AliITSOnlineCalibrationSPDhandler* other) const
 returns handler with noisy in this' lists, except for those in other's lists
void GetChipAndIndexDead(UInt_t module, UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const
 find gloChip and chipIndex from module and index
void GetChipAndIndexNoisy(UInt_t module, UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const
 find gloChip and chipIndex from module and index
void GetChipAndIndexEqDead(UInt_t eq, UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const
 find gloChip and chipIndex from module and index
void GetChipAndIndexEqNoisy(UInt_t eq, UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const
 find gloChip and chipIndex from module and index
void GetChipAndIndexTotDead(UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const
 find gloChip and chipIndex from global index
void GetChipAndIndexTotNoisy(UInt_t index, UInt_t& gloChip, UInt_t& chipIndex) const
 find gloChip and chipIndex from global index
UInt_t GetEqIdFromOffline(UInt_t module) const
 module to eq mapping
UInt_t GetHSFromOffline(UInt_t module) const
 module to hs mapping
UInt_t GetChipFromOffline(UInt_t module, UInt_t colM) const
 module,colM to chip mapping
UInt_t GetColFromOffline(UInt_t module, UInt_t colM) const
 colM to col mapping
UInt_t GetRowFromOffline(UInt_t module, UInt_t rowM) const
 rowM to row mapping
UInt_t GetNrDeadC2(UInt_t gloChip) const
 returns nr of dead pixels on this chip
UInt_t GetNrSparseDeadC2(UInt_t gloChip) const
 returns nr of dead pixels on this chip
UInt_t GetNrNoisyC2(UInt_t gloChip) const
 returns nr of noisy pixels on this chip
UInt_t GetDeadEqIdAtC2(UInt_t gloChip, UInt_t index) const
 get eq for the dead pixel at position index in list of dead
UInt_t GetNoisyEqIdAtC2(UInt_t gloChip, UInt_t index) const
 get eq for the noisy pixel at position index in list of noisy
UInt_t GetDeadHSAtC2(UInt_t gloChip, UInt_t index) const
 get hs for the dead pixel at position index in list of dead
UInt_t GetNoisyHSAtC2(UInt_t gloChip, UInt_t index) const
 get hs for the noisy pixel at position index in list of noisy
UInt_t GetDeadChipAtC2(UInt_t gloChip, UInt_t index) const
 get chip for the dead pixel at position index in list of dead
UInt_t GetNoisyChipAtC2(UInt_t gloChip, UInt_t index) const
 get chip for the noisy pixel at position index in list of noisy
UInt_t GetDeadColAtC2(UInt_t gloChip, UInt_t index) const
 get col for the dead pixel at position index in list of dead
UInt_t GetNoisyColAtC2(UInt_t gloChip, UInt_t index) const
 get col for the noisy pixel at position index in list of noisy
UInt_t GetDeadRowAtC2(UInt_t gloChip, UInt_t index) const
 get row for the dead pixel at position index in list of dead
UInt_t GetNoisyRowAtC2(UInt_t gloChip, UInt_t index) const
 get row for the noisy pixel at position index in list of noisy
void ActivateALL()
 activate all eq,hs,chips
void ActivateEq(UInt_t eq, Bool_t setval = kTRUE)
 activate eq
void ActivateHS(UInt_t eq, UInt_t hs, Bool_t setval = kTRUE)
 activate hs
void ActivateChip(UInt_t eq, UInt_t hs, UInt_t chip, Bool_t setval = kTRUE)
 activate chip
Bool_t IsActiveEq(UInt_t eq) const
 Is eq active?
Bool_t IsActiveHS(UInt_t eq, UInt_t hs) const
 Is hs active?
Bool_t IsActiveChip(UInt_t eq, UInt_t hs, UInt_t chip) const
 Is chip active?
void UnSetDeadALL()
 Clear all dead eq,hs,chips
void SetDeadEq(UInt_t eq, Bool_t setval = kTRUE)
 set eq dead
void SetDeadHS(UInt_t eq, UInt_t hs, Bool_t setval = kTRUE)
 set hs dead
void SetDeadChip(UInt_t eq, UInt_t hs, UInt_t chip, Bool_t setval = kTRUE)
 set chip dead
Bool_t IsDeadEq(UInt_t eq) const
 is eq dead?
Bool_t IsDeadHS(UInt_t eq, UInt_t hs) const
 is hs dead?
Bool_t IsDeadChip(UInt_t eq, UInt_t hs, UInt_t chip) const
 is chip dead?
Bool_t IsSilentEq(UInt_t eq) const
 is eq silent?
Bool_t IsSilentHS(UInt_t eq, UInt_t hs) const
 is hs silent?
Bool_t IsSilentChip(UInt_t eq, UInt_t hs, UInt_t chip) const
 is chip silent?
Bool_t IsNoisyChip(UInt_t eq, UInt_t hs, UInt_t chip) const
 returns true if there is at least a noisy pixel in the chip
Bool_t WritePITConditionsToDB(Int_t runNrStart, Int_t runNrEnd, const Char_t* storage = "default")
 writes noisy pixels to DB for given runNrs
 overwrites any previous entries
Bool_t SetInactiveChipInPITmask(UInt_t eq, UInt_t hs, UInt_t chip)
Bool_t UnSetInactiveChipInPITmask(UInt_t eq, UInt_t hs, UInt_t chip)
void PrintDiffInDead(AliITSOnlineCalibrationSPDhandler* other) const
 Printout of the differences between two ocdb files for SPD Dead channel map

void PrintDiffInPITmask(AliITSOnlineCalibrationSPDhandler* other) const
 Printout of the differences between two ocdb files for SPD Dead channel map

void SetFileLocation(const Char_t* loc)
{fFileLocation = loc;}
TString GetFileLocation() const
{return fFileLocation;}
AliITSTriggerConditions * GetTriggerConditions() const
Int_t GetKey(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row) const
{return eq*6*10*32*256 + hs*10*32*256 + chip*32*256 + col*256 + row;}
UInt_t GetEqIdFromKey(Int_t key) const
{return key/(6*10*32*256);}
UInt_t GetHSFromKey(Int_t key) const
{return (key%(6*10*32*256))/(10*32*256);}
UInt_t GetChipFromKey(Int_t key) const
{return ((key%(6*10*32*256))%(10*32*256))/(32*256);}
UInt_t GetColFromKey(Int_t key) const
{return (((key%(6*10*32*256))%(10*32*256))%(32*256))/256;}
UInt_t GetRowFromKey(Int_t key) const
{return (((key%(6*10*32*256))%(10*32*256))%(32*256))%256;}
UInt_t GetModuleFromKey(Int_t key) const
UInt_t GetColMFromKey(Int_t key) const
UInt_t GetRowMFromKey(Int_t key) const
UInt_t GetGloChip(UInt_t eq, UInt_t hs, UInt_t chip) const
{return eq*60 + hs*10 + chip;}
UInt_t GetEqGlo(UInt_t gloChip) const
{return gloChip/60;}
UInt_t GetHSGlo(UInt_t gloChip) const
{return (gloChip%60)/10;}
UInt_t GetChipGlo(UInt_t gloChip) const
{return (gloChip%60)%10;}