205 std::unique_ptr< std::vector<optdata::ChannelDataGroup > > StoragePtr (
new std::vector<optdata::ChannelDataGroup>);
212 double timeEnd_ns =
fTimeEnd * 1000;
226 rawWFGroup_HighGain.reserve(
fGeom->NOpChannels());
227 rawWFGroup_LowGain.reserve(
fGeom->NOpChannels());
233 std::vector<std::vector<double> > rawWF_HighGain(
fGeom->NOpChannels(),std::vector<double>(timeSliceWindow,0.0));
234 std::vector<std::vector<double> > rawWF_LowGain(
fGeom->NOpChannels(),std::vector<double>(timeSliceWindow,0.0));
259 if( Phot.Time > timeBegin_ns && Phot.Time < timeEnd_ns )
279 for(
unsigned short iCh = 0; iCh < rawWF_LowGain.size(); ++iCh){
280 rawWF_LowGain[iCh].resize((timeEnd_ns - timeBegin_ns) * sampleFreq_ns);
281 rawWF_HighGain[iCh].resize((timeEnd_ns - timeBegin_ns) * sampleFreq_ns);
296 rawWFGroup_HighGain.push_back(chData_HighGain);
297 rawWFGroup_LowGain.push_back(chData_LowGain);
300 StoragePtr->push_back(rawWFGroup_HighGain);
301 StoragePtr->push_back(rawWFGroup_LowGain);
303 evt.put(std::move(StoragePtr));
art::ServiceHandle< geo::Geometry const > fGeom
optdata::ChannelData ApplyDigitization(std::vector< double > const RawWF, optdata::Channel_t const ch) const
int OpChannel() const
Returns the optical channel number this object is associated to.
CLHEP::RandFlat fFlatRandom
All information of a photon entering the sensitive optical detector volume.
void AddWaveform(optdata::TimeSlice_t time, std::vector< double > &OldPulse, std::vector< double > &NewPulse, double factor, bool extend=false)
art::ServiceHandle< OpDigiProperties > fOpDigiProperties
Collection of photons which recorded on one channel.
list_type::const_iterator const_iterator
std::vector< double > fSinglePEWaveform
Collection of sim::SimPhotons, indexed by channel number.
void AddDarkNoise(std::vector< double > &RawWF, double gain)
static sim::SimPhotonsCollection GetSimPhotonsCollection(const art::Event &evt, std::string moduleLabel)