CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/CaloOnlineTools/HcalOnlineDb/interface/XMLRBXPedestalsLoader.h

Go to the documentation of this file.
00001 #ifndef HCALConfigDBTools_XMLTools_XMLRBXPedestalsLoader_h
00002 #define HCALConfigDBTools_XMLTools_XMLRBXPedestalsLoader_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     XMLTools
00006 // Class  :     XMLRBXPedestalsLoader
00007 // 
00016 //
00017 // Original Author:  Gena Kukartsev, kukarzev@fnal.gov
00018 //         Created:  Tue Nov 06 14:30:33 CDT 2007
00019 // $Id: XMLRBXPedestalsLoader.h,v 1.5 2010/08/06 20:24:11 wmtan Exp $
00020 //
00021 
00022 // system include files
00023 
00024 // user include files
00025 #include "CalibCalorimetry/HcalTPGAlgos/interface/XMLDOMBlock.h"
00026 #include "CalibCalorimetry/HcalTPGAlgos/interface/XMLProcessor.h"
00027 
00028 // forward declarations
00029 
00030 class XMLRBXPedestalsLoader : public XMLDOMBlock
00031 {
00032   
00033  public:
00034   
00035   typedef struct _loaderBaseConfig
00036   {
00037     _loaderBaseConfig();
00038     std::string extention_table_name;
00039     std::string name;
00040     std::string run_mode;
00041     std::string data_set_id;
00042     std::string iov_id;
00043     long long int iov_begin;
00044     long long int iov_end;
00045     std::string tag_id;
00046     std::string tag_mode;
00047     std::string tag_name;
00048     std::string detector_name;
00049     std::string elements_comment_description;
00050   } loaderBaseConfig;
00051   
00052   typedef struct _datasetDBConfig : public XMLProcessor::DBConfig
00053   {
00054     _datasetDBConfig();
00055     std::string comment_description;
00056     std::string name_label;
00057     std::string kind_of_part;
00058   } datasetDBConfig;
00059   
00060   //XMLRBXPedestalsLoader();
00061   XMLRBXPedestalsLoader( loaderBaseConfig * config, std::string templateBase = "HCAL_RBX_PEDESTALS_TYPE01.XMLloader.template" );
00062   virtual ~XMLRBXPedestalsLoader();
00063 
00064   // ---------- const member functions ---------------------
00065   
00066   // ---------- static member functions --------------------
00067   
00068   // ---------- member functions ---------------------------
00069   int addRBXSlot( datasetDBConfig * config, std::string brickFileName,
00070                   std::string rbx_config_type = "pedestals",
00071                   std::string templateFileName = "HCAL_RBX_PEDESTALS_TYPE01.dataset.template" ); // pedestals, gols, delays
00072   
00073  protected:
00074   int init( void );
00075   int fixRbxName( std::string & );
00076 
00077   MemBufInputSource * _data_ped_delay; // a container for the XML template for a single pedestal or zero delay
00078   MemBufInputSource * _data_gol; // a container for the XML template for a single gol current
00079   MemBufInputSource * _data_led; // a container for the XML template for a single led data unit
00080 
00081  private:
00082   XMLRBXPedestalsLoader(const XMLRBXPedestalsLoader&); // stop default
00083   
00084   const XMLRBXPedestalsLoader& operator=(const XMLRBXPedestalsLoader&); // stop default
00085   
00086   // ---------- member data --------------------------------
00087   
00088 };
00089 
00090 #endif