CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/CalibMuon/CSCCalibration/plugins/CSCGainsDBConditions.cc

Go to the documentation of this file.
00001 #include <memory>
00002 #include "boost/shared_ptr.hpp"
00003 #include <fstream>
00004 
00005 #include "CondFormats/CSCObjects/interface/CSCDBGains.h"
00006 #include "CondFormats/DataRecord/interface/CSCDBGainsRcd.h"
00007 #include "CalibMuon/CSCCalibration/interface/CSCGainsDBConditions.h"
00008 
00009 
00010 CSCGainsDBConditions::CSCGainsDBConditions(const edm::ParameterSet& iConfig)
00011 {
00012   //the following line is needed to tell the framework what
00013   // data is being produced
00014   cndbGains = prefillDBGains();
00015   // added by Zhen (changed since 1_2_0)
00016   setWhatProduced(this,&CSCGainsDBConditions::produceDBGains);
00017   findingRecord<CSCDBGainsRcd>();
00018   //now do what ever other initialization is needed
00019 }
00020 
00021 
00022 CSCGainsDBConditions::~CSCGainsDBConditions()
00023 {
00024  
00025    // do anything here that needs to be done at desctruction time
00026    // (e.g. close files, deallocate resources etc.)
00027   delete cndbGains;
00028 }
00029 
00030 
00031 //
00032 // member functions
00033 //
00034 
00035 // ------------ method called to produce the data  ------------
00036 CSCGainsDBConditions::ReturnType
00037 CSCGainsDBConditions::produceDBGains(const CSCDBGainsRcd& iRecord)
00038 {
00039   //need a new object so to not be deleted at exit
00040   CSCDBGains* mydata=new CSCDBGains( *cndbGains );
00041   return mydata;
00042   
00043 }
00044 
00045  void CSCGainsDBConditions::setIntervalFor(const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue&,
00046  edm::ValidityInterval & oValidity)
00047  {
00048  oValidity = edm::ValidityInterval(edm::IOVSyncValue::beginOfTime(),edm::IOVSyncValue::endOfTime());
00049  
00050  }