CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/DataFormats/FEDRawData/src/FEDNumbering.cc

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 }