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