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