CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/CaloOnlineTools/HcalOnlineDb/interface/XMLHTRPatternLoader.h

Go to the documentation of this file.
00001 #ifndef HCALConfigDBTools_XMLTools_XMLHTRPatternLoader_h
00002 #define HCALConfigDBTools_XMLTools_XMLHTRPatternLoader_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     XMLTools
00006 // Class  :     XMLHTRPatternLoader
00007 // 
00016 //
00017 // Original Author:  Gena Kukartsev, kukarzev@fnal.gov
00018 //         Created:  Tue Oct 23 14:30:33 CDT 2007
00019 // $Id: XMLHTRPatternLoader.h,v 1.3 2010/08/06 20:24:10 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 XMLHTRPatternLoader : public XMLDOMBlock
00031 {
00032   
00033  public:
00034   
00035   typedef struct _loaderBaseConfig : public XMLProcessor::loaderBaseConfig
00036   {
00037     _loaderBaseConfig();
00038   } loaderBaseConfig;
00039   
00040   typedef struct _datasetDBConfig : public XMLProcessor::DBConfig
00041   {
00042     _datasetDBConfig();
00043     std::string kind_of_part;
00044     std::string name_label;
00045     std::string htr_data_patterns_data_file;
00046     int crate;
00047   } datasetDBConfig;
00048   
00049   typedef struct _checksumsDBConfig : public XMLProcessor::DBConfig
00050   {
00051     _checksumsDBConfig();
00052     std::string comment_description;
00053     std::string name_label;
00054     std::string htr_data_patterns_data_file;
00055     int crate;
00056   } checksumsDBConfig;
00057   
00058   XMLHTRPatternLoader();
00059   XMLHTRPatternLoader( XMLProcessor::loaderBaseConfig * config, std::string templateBase = "HCAL_HTR_DATA_PATTERNS.XMLloader.template" );
00060   virtual ~XMLHTRPatternLoader();
00061   
00062   // ---------- const member functions ---------------------
00063   
00064   // ---------- static member functions --------------------
00065   
00066   // ---------- member functions ---------------------------
00067   int addPattern( datasetDBConfig * config,
00068               std::string templateFileName = "HCAL_HTR_DATA_PATTERNS.dataset.template" );
00069   
00070   int addChecksums( checksumsDBConfig * config,
00071                     std::string templateFileName = "HCAL_HTR_DATA_PATTERNS.checksums.template" );
00072   
00073   int createLoader( std::vector<int> crate_number, std::vector<std::string> file_name );
00074   
00075  private:
00076   XMLHTRPatternLoader(const XMLHTRPatternLoader&); // stop default
00077   
00078   const XMLHTRPatternLoader& operator=(const XMLHTRPatternLoader&); // stop default
00079   
00080   // ---------- member data --------------------------------
00081   
00082 };
00083 
00084 
00085 #endif