CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/DataFormats/SiPixelRawData/src/SiPixelRawDataError.cc

Go to the documentation of this file.
00001 #include "DataFormats/SiPixelRawData/interface/SiPixelRawDataError.h"
00002 
00003 //---------------------------------------------------------------------------
00011 //---------------------------------------------------------------------------
00012 
00013 //Constructors
00014 
00015 SiPixelRawDataError::SiPixelRawDataError() {}
00016 
00017 SiPixelRawDataError::SiPixelRawDataError(cms_uint32_t errorWord32, const int errorType, int fedId) : 
00018   errorWord32_(errorWord32),
00019   errorType_(errorType),
00020   fedId_(fedId)
00021   {
00022     setMessage();
00023   }
00024 
00025 SiPixelRawDataError::SiPixelRawDataError(cms_uint64_t errorWord64, const int errorType, int fedId) : 
00026   errorWord64_(errorWord64),
00027   errorType_(errorType),
00028   fedId_(fedId)
00029   {
00030     setMessage();
00031   }
00032 
00033 //Destructor
00034 
00035 SiPixelRawDataError::~SiPixelRawDataError() {}
00036 
00037 //functions to get error words and types
00038 
00039 void SiPixelRawDataError::setWord32(cms_uint32_t errorWord32) {
00040   errorWord32_ = errorWord32;
00041 }
00042 
00043 void SiPixelRawDataError::setWord64(cms_uint64_t errorWord64) {
00044   errorWord64_ = errorWord64;
00045 }
00046 
00047 void SiPixelRawDataError::setType(int errorType) {
00048 errorType_ = errorType; 
00049 setMessage();
00050 } 
00051 
00052 void SiPixelRawDataError::setFedId(int fedId) {
00053 fedId_ = fedId; 
00054 } 
00055 
00056 void SiPixelRawDataError::setMessage() {
00057   switch (errorType_) {
00058     case(25) : {
00059      errorMessage_ = "Error: ROC=25";
00060      break;
00061    }
00062    case(26) : {
00063      errorMessage_ = "Error: Gap word";
00064      break;
00065    }
00066    case(27) : {
00067      errorMessage_ = "Error: Dummy word";
00068      break;
00069    }
00070    case(28) : {
00071      errorMessage_ = "Error: FIFO nearly full";
00072      break;
00073    }
00074    case(29) : {
00075      errorMessage_ = "Error: Timeout";
00076      break;
00077    }
00078    case(30) : {
00079      errorMessage_ = "Error: Trailer";
00080      break;
00081    }
00082    case(31) : {
00083      errorMessage_ = "Error: Event number mismatch";
00084      break;
00085    }
00086    case(32) : {
00087      errorMessage_ = "Error: Invalid or missing header";
00088      break;
00089    }
00090    case(33) : {
00091      errorMessage_ = "Error: Invalid or missing trailer";
00092      break;
00093    }
00094    case(34) : {
00095      errorMessage_ = "Error: Size mismatch";
00096      break;
00097    }
00098    case(35) : {
00099      errorMessage_ = "Error: Invalid channel";
00100      break;
00101    }
00102    case(36) : {
00103      errorMessage_ = "Error: Invalid ROC number";
00104      break;
00105    }
00106    case(37) : {
00107      errorMessage_ = "Error: Invalid dcol/pixel address";
00108      break;
00109    }
00110    default: errorMessage_ = "Error: Unknown error type";
00111   };
00112 }