CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/CalibMuon/CSCCalibration/plugins/CSCNoiseMatrixDBConditions.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/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  }