Go to the documentation of this file.00001
00007 #include "DataFormats/FEDRawData/interface/FEDNumbering.h"
00008
00009
00010
00011 using namespace std;
00012
00013
00014 bool FEDNumbering::init_ = true;
00015 bool *FEDNumbering::in_ = new bool[1024];
00016
00017 vector<string> FEDNumbering::from_(1024,"");
00018
00019 int FEDNumbering::lastFEDId(){
00020 return MAXFEDID;
00021 }
00022
00023 void FEDNumbering::init()
00024 {
00025 int i = 0;
00026 for(i=0; i< lastFEDId(); i++)
00027 in_[i] = false;
00028 for(i=MINSiPixelFEDID; i<=MAXSiPixelFEDID; i++)
00029 {
00030 in_[i] = true;
00031 from_[i] = "SiPixel";
00032 }
00033 for(i=MINSiStripFEDID; i<=MAXSiStripFEDID; i++)
00034 {
00035 in_[i] = true;
00036 from_[i] = "SiStrip";
00037 }
00038 for(i=MINPreShowerFEDID; i<=MAXPreShowerFEDID; i++)
00039 {
00040 in_[i] = true;
00041 from_[i] = "PreShower";
00042 }
00043 for(i=MINECALFEDID; i<=MAXECALFEDID; i++)
00044 {
00045 in_[i] = true;
00046 from_[i] = "Ecal";
00047 }
00048 for(i=MINCASTORFEDID; i<=MAXCASTORFEDID; i++)
00049 {
00050 in_[i] = true;
00051 from_[i] = "Castor";
00052 }
00053 for(i=MINHCALFEDID; i<=MAXHCALFEDID; i++)
00054 {
00055 in_[i] = true;
00056 from_[i] = "Hcal";
00057 }
00058 for(i=MINLUMISCALERSFEDID; i<=MAXLUMISCALERSFEDID; i++)
00059 {
00060 in_[i] = true;
00061 from_[i] = "LumiScalers";
00062 }
00063 for(i=MINCSCFEDID; i<=MAXCSCFEDID; i++)
00064 {
00065 in_[i] = true;
00066 from_[i] = "CSC";
00067 }
00068 for(i=MINCSCTFFEDID; i<=MAXCSCTFFEDID; i++)
00069 {
00070 in_[i] = true;
00071 from_[i] = "CSCTF";
00072 }
00073 for(i=MINDTFEDID; i<=MAXDTFEDID; i++)
00074 {
00075 in_[i] = true;
00076 from_[i] = "DT";
00077 }
00078 for(i=MINDTTFFEDID; i<=MAXDTTFFEDID; i++)
00079 {
00080 in_[i] = true;
00081 from_[i] = "DTTF";
00082 }
00083 for(i=MINRPCFEDID; i<=MAXRPCFEDID; i++)
00084 {
00085 in_[i] = true;
00086 from_[i] = "RPC";
00087 }
00088 for(i=MINTriggerGTPFEDID; i<=MAXTriggerGTPFEDID; i++)
00089 {
00090 in_[i] = true;
00091 from_[i] = "TriggerGTP";
00092 }
00093 for(i=MINTriggerEGTPFEDID; i<=MAXTriggerEGTPFEDID; i++)
00094 {
00095 in_[i] = true;
00096 from_[i] = "TriggerEGTP";
00097 }
00098 for(i=MINTriggerGCTFEDID; i<=MAXTriggerGCTFEDID; i++)
00099 {
00100 in_[i] = true;
00101 from_[i] = "TriggerGCT";
00102 }
00103 for(i=MINTriggerLTCFEDID; i<=MAXTriggerLTCFEDID; i++)
00104 {
00105 in_[i] = true;
00106 from_[i] = "TriggerLTC";
00107 }
00108 for(i=MINTriggerLTCmtccFEDID; i<=MAXTriggerLTCmtccFEDID; i++)
00109 {
00110 in_[i] = true;
00111 from_[i] = "TriggerLTCmtcc";
00112 }
00113 for(i=MINCSCDDUFEDID; i<=MAXCSCDDUFEDID; i++)
00114 {
00115 in_[i] = true;
00116 from_[i] = "CSCDDU";
00117 }
00118 for(i=MINCSCContingencyFEDID; i<=MAXCSCContingencyFEDID; i++)
00119 {
00120 in_[i] = true;
00121 from_[i] = "CSCContingency";
00122 }
00123 for(i=MINCSCTFSPFEDID; i<=MAXCSCTFSPFEDID; i++)
00124 {
00125 in_[i] = true;
00126 from_[i] = "CSCTFSP";
00127 }
00128 for(i=MINDAQeFEDFEDID; i<=MAXDAQeFEDFEDID; i++)
00129 {
00130 in_[i] = true;
00131 from_[i] = "DAQeFED";
00132 }
00133 for(i=MINDAQmFEDFEDID; i<=MAXDAQmFEDFEDID; i++)
00134 {
00135 in_[i] = true;
00136 from_[i] = "DAQmFED";
00137 }
00138
00139
00140 init_ = false;
00141 }
00142
00143 bool FEDNumbering::inRange(int i)
00144 {
00145 if(init_) init();
00146 return in_[i];
00147 }
00148 bool FEDNumbering::inRangeNoGT(int i)
00149 {
00150 if(init_) init();
00151 if((i>=MINTriggerGTPFEDID && i<=MAXTriggerGTPFEDID) || (i>=MINTriggerEGTPFEDID && i<=MAXTriggerEGTPFEDID)) return false;
00152 return in_[i];
00153 }
00154
00155 string const &FEDNumbering::fromDet(int i)
00156 {
00157 if(init_) init();
00158 return from_[i];
00159 }