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 }