Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:21

0001 #include "FWCore/Utilities/interface/Algorithms.h"
0002 #include "SimCalorimetry/CaloSimAlgos/interface/CaloVNoiseSignalGenerator.h"
0003 #include <iostream>
0004 
0005 CaloVNoiseSignalGenerator::CaloVNoiseSignalGenerator() : theNoiseSignals(), theDetIds() {}
0006 
0007 void CaloVNoiseSignalGenerator::fillEvent(CLHEP::HepRandomEngine *engine) {
0008   theDetIds.clear();
0009   fillNoiseSignals(engine);
0010   fillDetIds();
0011 }
0012 
0013 void CaloVNoiseSignalGenerator::fillEvent() {
0014   theDetIds.clear();
0015   fillNoiseSignals();
0016   fillDetIds();
0017 }
0018 
0019 void CaloVNoiseSignalGenerator::setNoiseSignals(const std::vector<CaloSamples> &noiseSignals) {
0020   theNoiseSignals = noiseSignals;
0021 }
0022 
0023 bool CaloVNoiseSignalGenerator::contains(const DetId &detId) const {
0024   return edm::binary_search_all(theDetIds, detId.rawId());
0025 }
0026 
0027 void CaloVNoiseSignalGenerator::fillDetIds() {
0028   theDetIds.reserve(theNoiseSignals.size());
0029   for (std::vector<CaloSamples>::const_iterator sampleItr = theNoiseSignals.begin(); sampleItr != theNoiseSignals.end();
0030        ++sampleItr) {
0031     theDetIds.push_back(sampleItr->id().rawId());
0032   }
0033   edm::sort_all(theDetIds);
0034 }