00001 #include <memory> 00002 #include "boost/shared_ptr.hpp" 00003 #include <fstream> 00004 00005 #include "CondFormats/CSCObjects/interface/CSCBadStrips.h" 00006 #include "CondFormats/DataRecord/interface/CSCBadStripsRcd.h" 00007 #include "CalibMuon/CSCCalibration/interface/CSCBadStripsConditions.h" 00008 00009 00010 CSCBadStripsConditions::CSCBadStripsConditions(const edm::ParameterSet& iConfig) 00011 { 00012 //the following line is needed to tell the framework what 00013 // data is being produced 00014 cndbBadStrips = prefillBadStrips(); 00015 setWhatProduced(this,&CSCBadStripsConditions::produceBadStrips); 00016 findingRecord<CSCBadStripsRcd>(); 00017 //now do what ever other initialization is needed 00018 } 00019 00020 00021 CSCBadStripsConditions::~CSCBadStripsConditions() 00022 { 00023 00024 // do anything here that needs to be done at desctruction time 00025 // (e.g. close files, deallocate resources etc.) 00026 delete cndbBadStrips; 00027 } 00028 00029 00030 // 00031 // member functions 00032 // 00033 00034 // ------------ method called to produce the data ------------ 00035 CSCBadStripsConditions::ReturnType 00036 CSCBadStripsConditions::produceBadStrips(const CSCBadStripsRcd& iRecord) 00037 { 00038 //need a new object so to not be deleted at exit 00039 CSCBadStrips* mydata=new CSCBadStrips( *cndbBadStrips ); 00040 return mydata; 00041 00042 } 00043 00044 void CSCBadStripsConditions::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 }