CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_2_9_HLT1_bphpatch4/src/CaloOnlineTools/HcalOnlineDb/interface/XMLLUTLoader.h

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