1#ifndef __JTIMESLICE__JRANDOMTIMESLICE__
2#define __JTIMESLICE__JRANDOMTIMESLICE__
54 if (
simbad.hasK40Simulator() &&
55 simbad.hasPMTSimulator() &&
56 simbad.hasCLBSimulator()) {
64 for (JDetector::const_iterator
module =
simbad->begin();
module != simbad->end(); ++
module) {
103 if (N < 100) { N = 100; }
104 if (N > 50000) { N = 50000; }
111 for (
iterator frame = this->begin(); frame != this->end(); ++frame) {
113 if (!frame->empty()) {
115 for (
size_t i = 0; i != N; ++i) {
128 const int i =
hit->getT() /
Ts;
130 buffer[i].push_back(*
hit);
136 if (frame->testHighRateVeto(pmt)) {
147 for (
size_t in = 0; in != N; ++in) {
149 const size_t out = index [in];
155 for (buffer_type::iterator i = zbuf.begin(); i != zbuf.end(); ++i, ++
hit) {
186 for (
size_t i = 0; i != this->size(); ++i) {
192 for (
const size_t i2 :
keep) {
211 for (
int i =
i2 - 1; i >
i1; --i) {
215 std::swap((*
this)[i], (*
this)[
l]);
KM3NeT DAQ constants, bit handling, etc.
Auxiliaries for creation of time slice data.
Data structure for PMT data corresponding to a detector module.
void reset(size_t size)
Reset buffers.
Template definition of a multi-dimensional oscillation probability interpolation table.
void setDAQChronometer(const JDAQChronometer &chronometer)
Set DAQ chronometer.
Data frame of one optical module.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
std::vector< JHitW0 > buffer_type
hits
KM3NeT DAQ data structures and auxiliaries.
double getFrameTime()
Get frame time duration.
double getTimeSinceRTS(const int frame_index)
Get time in ns since last RTS for a given frame index.
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
Auxiliary class for TDC constraints.
Auxiliary data structure for randomisation of indices.
random_indices_t(const size_t N)
Constructor.
void random_shuffle(const int i1, const int i2)
Randomly shuffle values between given indices.
void random_shuffle(const std::set< size_t > &keep)
Randomly shuffle values between fixed indices.
Timeslice with random data.
JRandomTimeslice(const JDAQChronometer &chronometer, const JDetectorSimulator &simbad)
Constructor.
JRandomTimeslice()
Default constructor.
void recycle(const double T_ns)
Recycle time slice by randomly shuffling time intervals of data.
Base class class for generation of time slice data.