CMS 3D CMS Logo

"Configuration Objects"

This is the base class of all configuration objects. More...

Modules

 "Trim Objects"

Classes

class  pos::PixelCalibConfiguration
 This class implements the steps that are used in a scan over Threshold and CalDelay. More...
class  pos::PixelConfigBase
 This file contains the base class for "pixel configuration data" management. More...
class  pos::PixelDACSettings
 This class is responsible for manipulating the DACsettings of a ROC. More...
class  pos::PixelDACSettings
 This class is responsible for manipulating the DACsettings of a ROC. More...
class  pos::PixelDelay25Calib
 This class manages data and files used in the Delay25 calibration. More...
class  pos::PixelDetectorConfig
 This is the documentation about PixelDetectorConfig... More...
class  pos::PixelFECConfig
 This class specifies which FEC boards are used and how they are addressed. More...
class  pos::PixelFEDCard
 This is the documentation about PixelFEDCard... More...
class  pos::PixelFEDConfig
 This is the documentation about PixelFEDConfig... More...
class  pos::PixelGlobalDelay25
 This class specifies which delay25 channels are delayed over the entire pixel detector and by how much. More...
class  pos::PixelLowVoltageMap
 This is the documentation about PixelLowVoltageMap... More...
class  pos::PixelLTCConfig
 This is the documentation about PixelLTCConfig... More...
class  pos::PixelMaskAllPixels
 This is the documentation about PixelMaskAllPixels... More...
class  pos::PixelMaskBase
 This is the documentation about PixelMaskBase... More...
class  pos::PixelMaskOverride
 This is the documentation about PixelMaskOverride... More...
class  pos::PixelMaskOverrideBase
 This is the documentation about PixelMaskOverrideBase... More...
class  pos::PixelMaxVsf
 This is the documentation about PixelMaxVsf... More...
class  pos::PixelNameTranslation
 This is the documentation about PixelNameTranslation... More...
class  pos::PixelPortCardConfig
 This is the documentation about PixelNameTranslation... More...
class  pos::PixelPortCardConfig
 This is the documentation about PixelNameTranslation... More...
class  pos::PixelTBMSettings
 This is the documentation about PixelTBMSettings... More...
class  pos::PixelTKFECConfig
 This class specifies which TKFEC boards are used and how they are addressed. More...
class  pos::PixelTrimBase
 This class implements.. More...
class  pos::PixelTrimCommon
 This class implements.. More...

Functions

void pos::PixelDACSettings::addROC (PixelROCDACSettings &rocname)
void pos::PixelDACSettings::generateConfiguration (PixelFECConfigInterface *pixelFEC, PixelNameTranslation *trans) const
PixelROCDACSettingspos::PixelDACSettings::getDACSettings (PixelROCName)
PixelROCDACSettings pos::PixelDACSettings::getDACSettings (int ROCId) const
unsigned int pos::PixelDACSettings::numROCs ()
 pos::PixelDACSettings::PixelDACSettings (PixelROCDACSettings &rocname)
 pos::PixelDACSettings::PixelDACSettings (std::vector< std::vector< std::string > > &tableMat)
void pos::PixelDACSettings::writeASCII (std::string dir) const
void pos::PixelDACSettings::writeBinary (std::string filename) const
virtual void pos::PixelDACSettings::writeXML (std::ofstream *out) const
void pos::PixelDACSettings::writeXML (pos::PixelConfigKey key, int version, std::string path) const
virtual void pos::PixelDACSettings::writeXMLHeader (pos::PixelConfigKey key, int version, std::string path, std::ofstream *out) const
virtual void pos::PixelDACSettings::writeXMLTrailer (std::ofstream *out) const

Variables

std::vector< PixelROCDACSettings > pos::PixelDACSettings::dacsettings_

Detailed Description

This is the base class of all configuration objects.

A longer explanation of what a 'configuration object' actually is will be posted here once we find the time to write it....


Function Documentation

void PixelDACSettings::addROC ( PixelROCDACSettings rocname  )  [inherited]

Definition at line 149 of file PixelDACSettings.cc.

References pos::PixelDACSettings::dacsettings_.

00150 {
00151   dacsettings_.push_back(rocname) ;
00152 }

void PixelDACSettings::generateConfiguration ( PixelFECConfigInterface pixelFEC,
PixelNameTranslation trans 
) const [inherited]

Definition at line 475 of file PixelDACSettings.cc.

References pos::PixelFECConfigInterface::clrcal(), pos::PixelDACSettings::dacsettings_, pos::PixelFECConfigInterface::dcolenable(), pos::PixelNameTranslation::getHdwAddress(), pos::PixelHdwAddress::hubaddress(), i, pos::PixelHdwAddress::mfec(), pos::PixelHdwAddress::mfecchannel(), pos::PixelHdwAddress::portaddress(), pos::PixelFECConfigInterface::progdac(), pos::PixelFECConfigInterface::qbufsend(), pos::PixelHdwAddress::rocid(), and pos::PixelFECConfigInterface::setAllDAC().

00476                                                                                {
00477 
00478   bool bufferData=true; 
00479 
00480   std::vector<unsigned int> dacs;
00481 
00482   //pixelFEC->fecDebug(1);  //FIXME someday maybe don't want to take the time
00483 
00484   for(unsigned int i=0;i<dacsettings_.size();i++){
00485 
00486     dacsettings_[i].getDACs(dacs);
00487 
00488     PixelHdwAddress theROC=*(trans->getHdwAddress(dacsettings_[i].getROCName()));
00489 
00490     //Need to set readout speed (40MHz) and Vcal range (0-1800 mV) and enable the chip
00491 
00492     int controlreg=dacsettings_[i].getControlRegister();
00493     //std::cout << "ROC control reg to be set to: " <<  controlreg <<std::endl;
00494 
00495     pixelFEC->progdac(theROC.mfec(),
00496                       theROC.mfecchannel(),
00497                       theROC.hubaddress(),
00498                       theROC.portaddress(),
00499                       theROC.rocid(),
00500                       0xfd,
00501                       controlreg,
00502                       bufferData);
00503 
00504     pixelFEC->setAllDAC(theROC,dacs,bufferData);
00505 
00506     // start with no pixels on for calibration
00507     pixelFEC->clrcal(theROC.mfec(), 
00508                      theROC.mfecchannel(), 
00509                      theROC.hubaddress(), 
00510                      theROC.portaddress(),  
00511                      theROC.rocid(),
00512                      bufferData);
00513 
00514     // enable all the double columns
00515     for(int dcol=0;dcol<26;dcol++){
00516       pixelFEC->dcolenable(theROC.mfec(),
00517                            theROC.mfecchannel(),
00518                            theROC.hubaddress(),
00519                            theROC.portaddress(),
00520                            theROC.rocid(),
00521                            dcol,
00522                            1,
00523                            bufferData);
00524     }
00525   }
00526 
00527   if (bufferData) {
00528     pixelFEC->qbufsend();
00529   }
00530 
00531 } 

PixelROCDACSettings * PixelDACSettings::getDACSettings ( PixelROCName  name  )  [inherited]

Definition at line 330 of file PixelDACSettings.cc.

References pos::PixelDACSettings::dacsettings_, and i.

00330                                                                       {
00331 
00332   for(unsigned int i=0;i<dacsettings_.size();i++){
00333     if (dacsettings_[i].getROCName()==name) return &(dacsettings_[i]);
00334   }
00335 
00336   return 0;
00337 
00338 }

PixelROCDACSettings PixelDACSettings::getDACSettings ( int  ROCId  )  const [inherited]

Definition at line 324 of file PixelDACSettings.cc.

References pos::PixelDACSettings::dacsettings_.

Referenced by operator<<().

00324                                                                     {
00325 
00326   return dacsettings_[ROCId];
00327 
00328 }

unsigned int pos::PixelDACSettings::numROCs (  )  [inline, inherited]

Definition at line 75 of file PixelDACSettings.h.

References pos::PixelDACSettings::dacsettings_.

00075 {return dacsettings_.size();}

PixelDACSettings::PixelDACSettings ( PixelROCDACSettings rocname  )  [inherited]

Definition at line 143 of file PixelDACSettings.cc.

References pos::PixelDACSettings::dacsettings_.

00143                                                               :
00144   PixelConfigBase("","","") {
00145   dacsettings_.push_back(rocname) ;
00146 }

PixelDACSettings::PixelDACSettings ( std::vector< std::vector< std::string > > &  tableMat  )  [inherited]

Definition at line 154 of file PixelDACSettings.cc.

References c, TestMuL1L2Filter_cff::cerr, pos::PixelDACSettings::dacsettings_, lat::endl(), pos::k_DACName_CalDel, pos::k_DACName_ChipContReg, pos::k_DACName_TempRange, pos::k_DACName_Vana, pos::k_DACName_VbiasOp, pos::k_DACName_Vcal, pos::k_DACName_Vcomp, pos::k_DACName_VcThr, pos::k_DACName_Vdd, pos::k_DACName_VHldDel, pos::k_DACName_VIbias_bus, pos::k_DACName_VIbias_DAC, pos::k_DACName_VIbias_PH, pos::k_DACName_VIbias_roc, pos::k_DACName_VIbias_sf, pos::k_DACName_VIColOr, pos::k_DACName_VIon, pos::k_DACName_Vleak, pos::k_DACName_Vnpix, pos::k_DACName_VOffsetOp, pos::k_DACName_VOffsetRO, pos::k_DACName_VrgPr, pos::k_DACName_VrgSh, pos::k_DACName_Vsf, pos::k_DACName_VsumCol, pos::k_DACName_Vtrim, pos::k_DACName_VwllPr, pos::k_DACName_VwllSh, pos::k_DACName_WBC, n, r, pos::PixelROCDACSettings::read(), and tmp.

00154                                                                              : PixelConfigBase("","","")
00155 {
00156 //   std::multimap<std::string,std::pair<std::string,int > > pDSM;
00157   //  std::stringstream currentRocName;
00158   std::vector< std::string > ins = tableMat[0];
00159   std::string mthn("[PixelDACSettings::PixelDACSettings()] ") ;
00160   std::string dacName;
00161   std::istringstream dbin ;
00162 //   int dacValue;
00163   int skipColumns = 0 ;
00164   std::map<std::string , int > colM;
00165   std::vector<std::string > colNames;
00166   std::map<std::string, std::string> nameTranslation ;
00167   //   colNames.push_back("CONFIG_KEY_ID");
00168   //   colNames.push_back("CONFIG_KEY");
00169   //   colNames.push_back("VERSION");
00170   //   colNames.push_back("KIND_OF_COND");
00171   colNames.push_back("ROC_NAME");
00172   //   colNames.push_back("HUB_ADDRS");
00173   //   colNames.push_back("PORT_NUMBER");
00174   //   colNames.push_back("I2C_ADDR");
00175   //   colNames.push_back("GEOM_ROC_NUM");
00176   colNames.push_back("VDD");
00177   colNames.push_back("VANA");
00178   colNames.push_back("VSF");
00179   colNames.push_back("VCOMP");
00180   colNames.push_back("VLEAK");
00181   colNames.push_back("VRGPR");
00182   colNames.push_back("VWLLPR");
00183   colNames.push_back("VRGSH");
00184   colNames.push_back("VWLLSH");
00185   colNames.push_back("VHLDDEL");
00186   colNames.push_back("VTRIM");
00187   colNames.push_back("VCTHR");
00188   colNames.push_back("VIBIAS_BUS");
00189   colNames.push_back("VIBIAS_SF");
00190   colNames.push_back("VOFFSETOP");
00191   colNames.push_back("VBIASOP");
00192   colNames.push_back("VOFFSETRO");
00193   colNames.push_back("VION");
00194   colNames.push_back("VIBIAS_PH");
00195   colNames.push_back("VIBIAS_DAC");
00196   colNames.push_back("VIBIAS_ROC");
00197   colNames.push_back("VICOLOR");
00198   colNames.push_back("VNPIX");
00199   colNames.push_back("VSUMCOL");
00200   colNames.push_back("VCAL");
00201   colNames.push_back("CALDEL");
00202   colNames.push_back("TEMPRANGE");
00203   colNames.push_back("WBC");
00204   colNames.push_back("CHIPCONTREG");
00205 
00206   nameTranslation["VDD"]          = k_DACName_Vdd ;
00207   nameTranslation["VANA"]         = k_DACName_Vana;               
00208   nameTranslation["VSF"]          = k_DACName_Vsf;                 
00209   nameTranslation["VCOMP"]        = k_DACName_Vcomp;             
00210   nameTranslation["VLEAK"]        = k_DACName_Vleak;             
00211   nameTranslation["VRGPR"]        = k_DACName_VrgPr;             
00212   nameTranslation["VWLLPR"]       = k_DACName_VwllPr;           
00213   nameTranslation["VRGSH"]        = k_DACName_VrgSh;             
00214   nameTranslation["VWLLSH"]       = k_DACName_VwllSh;           
00215   nameTranslation["VHLDDEL"]      = k_DACName_VHldDel;         
00216   nameTranslation["VTRIM"]        = k_DACName_Vtrim;             
00217   nameTranslation["VCTHR"]        = k_DACName_VcThr;             
00218   nameTranslation["VIBIAS_BUS"]   = k_DACName_VIbias_bus;  
00219   nameTranslation["VIBIAS_SF"]    = k_DACName_VIbias_sf;     
00220   nameTranslation["VOFFSETOP"]    = k_DACName_VOffsetOp;     
00221   nameTranslation["VBIASOP"]      = k_DACName_VbiasOp;         
00222   nameTranslation["VOFFSETRO"]    = k_DACName_VOffsetRO;     
00223   nameTranslation["VION"]         = k_DACName_VIon;               
00224   nameTranslation["VIBIAS_PH"]    = k_DACName_VIbias_PH;     
00225   nameTranslation["VIBIAS_DAC"]   = k_DACName_VIbias_DAC;   
00226   nameTranslation["VIBIAS_ROC"]   = k_DACName_VIbias_roc;   
00227   nameTranslation["VICOLOR"]      = k_DACName_VIColOr;         
00228   nameTranslation["VNPIX"]        = k_DACName_Vnpix;             
00229   nameTranslation["VSUMCOL"]      = k_DACName_VsumCol;         
00230   nameTranslation["VCAL"]         = k_DACName_Vcal;               
00231   nameTranslation["CALDEL"]       = k_DACName_CalDel;           
00232   nameTranslation["TEMPRANGE"]    = k_DACName_TempRange;     
00233   nameTranslation["WBC"]          = k_DACName_WBC;                 
00234   nameTranslation["CHIPCONTREG"]  = k_DACName_ChipContReg; 
00235 
00236   // modified by MR on 25-02-2008 10:00:45
00237   // colM stores the index (referred to tableMat) where the specified dac setting is store!!!
00238   for(unsigned int c = skipColumns ; c < ins.size() ; c++){
00239     for(unsigned int n=0; n<colNames.size(); n++){
00240       if(tableMat[0][c] == colNames[n]){
00241         colM[colNames[n]] = c;
00242         break;
00243       }
00244     }
00245   }//end for
00246   for(unsigned int n=skipColumns; n<colNames.size(); n++){
00247     if(colM.find(colNames[n]) == colM.end()){
00248       std::cerr << "[PixelDACSettings::PixelDACSettings()]\tCouldn't find in the database the column with name " << colNames[n] << std::endl;
00249       assert(0);
00250     }
00251   }
00252 
00253         
00254   dacsettings_.clear();
00255 //   struct timeval  start_time  ;
00256 //   struct timeval  end_time    ;
00257 //   gettimeofday(&start_time, (struct timezone *)0 );
00258   for(unsigned int r = 1 ; r < tableMat.size() ; r++){    //Goes to every row of the Matrix
00259     // currentRocName.str("");
00260     // currentRocName << tableMat[r][colM["NAME"]] ; 
00261     //currentRocName << "FPix_BmI_D" << tableMat[r][colM["HDISK_POSN"]]                 
00262     //     << "_BLD"       << tableMat[r][colM["BLD_POSN"]]                  
00263     //     << "_PNL"       << tableMat[r][colM["PANEL_POSITION"]]            
00264     //     << "_PLQ"       << tableMat[r][colM["PLAQ_POS"]]                 
00265     //     << "_ROC"       << tableMat[r][colM["ROC_POSN"]];                
00266                    
00267     // modified by MR on 25-02-2008 10:04:55
00268     // +1 to get rid of the unwanted ROC_NAME...
00269     PixelROCName rocid(tableMat[r][colM["ROC_NAME"]]);
00270     PixelROCDACSettings tmp(rocid);
00271 //     std::map<std::string, unsigned int> tmpDACs ;
00272     std::ostringstream dacs("") ;
00273     for(unsigned int n=skipColumns+1; n<colNames.size(); n++)
00274       {
00275         dacs << nameTranslation[colNames[n]] <<": "<< atoi(tableMat[r][colM[colNames[n]]].c_str()) << std::endl ;
00276         //       dacName  = colNames[n];
00277         //       dacValue = atoi(tableMat[r][colM[colNames[n]]].c_str());
00278         //       pDSM.insert(std::pair<std::string,std::pair<std::string,int> >(tableMat[r][colM["ROC_NAME"]],std::pair<std::string,int>(dacName,dacValue)));
00279         //       std::cout << "On " << tableMat[r][colM["ROC_NAME"]] << " DAC:\t" << dacName << " value:\t" << dacValue<< std::endl ;
00280         //       tmp.setDac(dacName, dacValue) ;
00281       }
00282 //     tmp.setDACs(tmpDACs) ;
00283     dbin.str(dacs.str()) ;
00284     tmp.read(dbin, rocid) ;
00285     dacsettings_.push_back(tmp) ;
00286   }//end for r
00287 //   gettimeofday(&end_time, (struct timezone *)0 );
00288 //   int total_usecs = (end_time.tv_sec - start_time.tv_sec)*1000000 + (end_time.tv_usec - start_time.tv_usec);
00289 //   std::cout << mthn << "Time taken : " << total_usecs / 1000000.  << " secs" << std::endl;
00290   
00291 //   dacsettings_.clear();
00292 //   std::string currentRocName2 = "";
00293 //   for(std::multimap<std::string,std::pair<std::string,int> >::iterator tableMapIt=pDSM.begin(); tableMapIt!= pDSM.end(); tableMapIt++){
00294 //     if(currentRocName2 != tableMapIt->first){
00295 //       std::cout << tableMapIt->first << std::endl;
00296 //       std::cout << tableMapIt->second.first << std::endl;
00297 //       std::cout << tableMapIt->second.second << std::endl;
00298 //       currentRocName2 = tableMapIt->first;
00299 //       PixelROCName rocid(currentRocName2);
00300       
00301 //       // std::cout << "DAC setting ROC id:"<<rocid<<std::endl;
00302   
00303 //       PixelROCDACSettings tmp(rocid);
00304       
00305 //       //       tmp.read(in,rocid);
00306             
00307 //       dacsettings_.push_back(tmp);
00308 //     }//end if
00309 //     dacsettings_[dacsettings_.size()-1].setDac(tableMapIt->second.first,tableMapIt->second.second);
00310 //   }//end for 
00311   
00312   
00313 //   for(unsigned int w = 0 ; w < dacsettings_.size() ; w++)
00314 //     {
00315   
00316 //       PixelROCDACSettings tmp2 = dacsettings_[w];
00317 //       //   std::cout<<tmp2<<std::endl;
00318 //     }   
00319   //  std::cout<<"Number of ROCs in the PixelDACSettings::PixelDACSettings(vector <vector<string> >):"<<dacsettings_.size()<<std::endl; 
00320   //  std::cout << "[PixelDACSettings::PixelDACSettings(std::vector)] before end of constructor" << std::endl ;
00321 }//end PDSMatrix constructor

void PixelDACSettings::writeASCII ( std::string  dir  )  const [virtual, inherited]

Implements pos::PixelConfigBase.

Definition at line 351 of file PixelDACSettings.cc.

References GenMuonPlsPt100GeV_cfg::cout, pos::PixelDACSettings::dacsettings_, lat::endl(), EgammaValidation_cff::filename, i, module(), pos::PixelModuleName::modulename(), and out.

00351                                                      {
00352 
00353   PixelModuleName module(dacsettings_[0].getROCName().rocname());
00354 
00355   std::string filename=dir+"/ROC_DAC_module_"+module.modulename()+".dat";
00356   std::cout << "[PixelDACSettings::writeASCII()] Writing to file " << filename << std::endl ; 
00357   std::ofstream out(filename.c_str());
00358   
00359   for(unsigned int i=0;i<dacsettings_.size();i++){
00360     dacsettings_[i].writeASCII(out);
00361   }
00362 
00363 }

void PixelDACSettings::writeBinary ( std::string  filename  )  const [inherited]

Definition at line 340 of file PixelDACSettings.cc.

References pos::PixelDACSettings::dacsettings_, i, and out.

00340                                                            {
00341 
00342   std::ofstream out(filename.c_str(),std::ios::binary);
00343 
00344   for(unsigned int i=0;i<dacsettings_.size();i++){
00345     dacsettings_[i].writeBinary(out);
00346   }
00347 
00348 }

void PixelDACSettings::writeXML ( std::ofstream *  out  )  const [virtual, inherited]

Reimplemented from pos::PixelConfigBase.

Definition at line 405 of file PixelDACSettings.cc.

References pos::PixelDACSettings::dacsettings_, and i.

00405                                                        {
00406   std::string mthn = "[PixelDACSettings::writeXML()]\t\t\t    " ;
00407 
00408   for(unsigned int i=0;i<dacsettings_.size();i++){
00409     dacsettings_[i].writeXML(out);
00410   }
00411 }

void PixelDACSettings::writeXML ( pos::PixelConfigKey  key,
int  version,
std::string  path 
) const [virtual, inherited]

Reimplemented from pos::PixelConfigBase.

Definition at line 426 of file PixelDACSettings.cc.

References GenMuonPlsPt100GeV_cfg::cout, pos::PixelDACSettings::dacsettings_, lat::endl(), evf::getTime(), i, module(), pos::PixelModuleName::modulename(), and out.

00426                                                                                         {
00427   std::string mthn = "[PixelDACSettings::writeXML()]\t\t\t    " ;
00428   std::stringstream fullPath ;
00429 
00430   PixelModuleName module(dacsettings_[0].getROCName().rocname());
00431   fullPath << path << "/dacsettings_" << module.modulename() << ".xml" ;
00432   std::cout << mthn << "Writing to: |" << fullPath.str()  << "|" << std::endl ;
00433   
00434 
00435   std::ofstream out(fullPath.str().c_str()) ;
00436   
00437   out << "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>"                               << std::endl ;
00438   out << "<ROOT xmlns:xsi='https://www.w3.org/2001/XMLSchema-instance'>"                          << std::endl ;
00439   out << " <HEADER>"                                                                             << std::endl ;
00440   out << "  <TYPE>"                                                                              << std::endl ;
00441   out << "   <EXTENSION_TABLE_NAME>ROC_DAC_SETTINGS_COL</EXTENSION_TABLE_NAME>"                  << std::endl ;
00442   out << "   <NAME>ROC DAC Settings Col</NAME>"                                                  << std::endl ;
00443   out << "  </TYPE>"                                                                             << std::endl ;
00444   out << "  <RUN>"                                                                               << std::endl ;
00445   out << "   <RUN_TYPE>test</RUN_TYPE>"                                                          << std::endl ;
00446   out << "   <RUN_NUMBER>1</RUN_NUMBER>"                                                         << std::endl ;
00447   out << "   <RUN_BEGIN_TIMESTAMP>" << PixelTimeFormatter::getTime() << "</RUN_BEGIN_TIMESTAMP>" << std::endl ;
00448   out << "   <COMMENT_DESCRIPTION>Test of DAC Settings xml</COMMENT_DESCRIPTION>"                << std::endl ;
00449   out << "   <LOCATION>CERN TAC</LOCATION>"                                                      << std::endl ;
00450   out << "   <INITIATED_BY_USER>Dario Menasce</INITIATED_BY_USER>"                               << std::endl ;
00451   out << "  </RUN>"                                                                              << std::endl ;
00452   out << " </HEADER>"                                                                            << std::endl ;
00453   out << ""                                                                                      << std::endl ;
00454   out << " <DATA_SET>"                                                                           << std::endl ;
00455   out << "  <VERSION>" << version << "</VERSION>"                                                << std::endl ;
00456   out << " "                                                                                     << std::endl ;
00457   out << "  <PART>"                                                                              << std::endl ;
00458   out << "   <NAME_LABEL>CMS-PIXEL-ROOT</NAME_LABEL>"                                            << std::endl ;
00459   out << "   <KIND_OF_PART>Detector ROOT</KIND_OF_PART>"                                         << std::endl ;
00460   out << "  </PART>"                                                                             << std::endl ;
00461   out << " "                                                                                     << std::endl ;
00462 
00463   for(unsigned int i=0;i<dacsettings_.size();i++){
00464 //    dacsettings_[i].writeXML(out, key, version, path);
00465   }
00466 
00467   out << " </DATA_SET>"                                                                          << std::endl ;
00468   out << "</ROOT>"                                                                               << std::endl ;
00469 
00470   out.close() ;
00471   std::cout << mthn << "Data written"                                                            << std::endl ;
00472 }

void PixelDACSettings::writeXMLHeader ( pos::PixelConfigKey  key,
int  version,
std::string  path,
std::ofstream *  out 
) const [virtual, inherited]

Reimplemented from pos::PixelConfigBase.

Definition at line 366 of file PixelDACSettings.cc.

References GenMuonPlsPt100GeV_cfg::cout, lat::endl(), and evf::getTime().

00366                                                                                                                 {
00367   std::string mthn = "[PixelDACSettings::writeXMLHeader()]\t\t\t    " ;
00368   std::stringstream fullPath ;
00369 
00370   fullPath << path << "/dacsettings.xml" ;
00371   std::cout << mthn << "Writing to: |" << fullPath.str()  << "|" << std::endl ;
00372 
00373   out->open(fullPath.str().c_str()) ;
00374   
00375   *out << "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>"                               << std::endl ;
00376   *out << "<ROOT xmlns:xsi='https://www.w3.org/2001/XMLSchema-instance'>"                          << std::endl ;
00377   *out << " <HEADER>"                                                                             << std::endl ;
00378   *out << "  <TYPE>"                                                                              << std::endl ;
00379   *out << "   <EXTENSION_TABLE_NAME>ROC_DAC_SETTINGS_COL</EXTENSION_TABLE_NAME>"                  << std::endl ;
00380   *out << "   <NAME>ROC DAC Settings Col</NAME>"                                                  << std::endl ;
00381   *out << "  </TYPE>"                                                                             << std::endl ;
00382   *out << "  <RUN>"                                                                               << std::endl ;
00383   *out << "   <RUN_TYPE>test</RUN_TYPE>"                                                          << std::endl ;
00384   *out << "   <RUN_NUMBER>1</RUN_NUMBER>"                                                         << std::endl ;
00385   *out << "   <RUN_BEGIN_TIMESTAMP>" << PixelTimeFormatter::getTime() << "</RUN_BEGIN_TIMESTAMP>" << std::endl ;
00386   *out << "   <COMMENT_DESCRIPTION>Test of DAC Settings xml</COMMENT_DESCRIPTION>"                << std::endl ;
00387   *out << "   <LOCATION>CERN TAC</LOCATION>"                                                      << std::endl ;
00388   *out << "   <INITIATED_BY_USER>Dario Menasce</INITIATED_BY_USER>"                               << std::endl ;
00389   *out << "  </RUN>"                                                                              << std::endl ;
00390   *out << " </HEADER>"                                                                            << std::endl ;
00391   *out << ""                                                                                      << std::endl ;
00392   *out << " <DATA_SET>"                                                                           << std::endl ;
00393   *out << "  <VERSION>" << version << "</VERSION>"                                                << std::endl ;
00394   *out << " "                                                                                     << std::endl ;
00395   *out << "  <PART>"                                                                              << std::endl ;
00396   *out << "   <NAME_LABEL>CMS-PIXEL-ROOT</NAME_LABEL>"                                            << std::endl ;
00397   *out << "   <KIND_OF_PART>Detector ROOT</KIND_OF_PART>"                                         << std::endl ;
00398   *out << "  </PART>"                                                                             << std::endl ;
00399   *out << " "                                                                                     << std::endl ;
00400 
00401   std::cout << mthn << "Header written" << std::endl ;
00402 }

void PixelDACSettings::writeXMLTrailer ( std::ofstream *  out  )  const [virtual, inherited]

Reimplemented from pos::PixelConfigBase.

Definition at line 414 of file PixelDACSettings.cc.

References GenMuonPlsPt100GeV_cfg::cout, and lat::endl().

00414                                                              {
00415   std::string mthn = "[PixelDACSettings::writeXMLTrailer()]\t\t\t    " ;
00416 
00417   *out << " </DATA_SET>"              << std::endl ;
00418   *out << "</ROOT>"                   << std::endl ;
00419 
00420   std::cout << mthn << "Closing input stream" << std::endl ;
00421   out->close() ;
00422   std::cout << mthn << "Data written" << std::endl ;
00423 }


Variable Documentation

std::vector<PixelROCDACSettings> pos::PixelDACSettings::dacsettings_ [private, inherited]

Definition at line 93 of file PixelDACSettings.h.

Referenced by pos::PixelDACSettings::addROC(), pos::PixelDACSettings::generateConfiguration(), pos::PixelDACSettings::getDACSettings(), pos::PixelDACSettings::numROCs(), pos::PixelDACSettings::PixelDACSettings(), pos::PixelDACSettings::writeASCII(), pos::PixelDACSettings::writeBinary(), and pos::PixelDACSettings::writeXML().


Generated on Tue Jun 9 17:56:15 2009 for CMSSW by  doxygen 1.5.4