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 }