Timeslice with random data.
More...
#include <JRandomTimeslice.hh>
Timeslice with random data.
Definition at line 31 of file JRandomTimeslice.hh.
◆ JRandomTimeslice() [1/2]
| KM3NETDAQ::JRandomTimeslice::JRandomTimeslice |
( |
| ) |
|
|
inline |
◆ JRandomTimeslice() [2/2]
Constructor.
- Parameters
-
| chronometer | chronometer |
| simbad | detector simulator |
Definition at line 47 of file JRandomTimeslice.hh.
49 {
51
53
54 if (
simbad.hasK40Simulator() &&
55 simbad.hasPMTSimulator() &&
56 simbad.hasCLBSimulator()) {
57
59
61
63
64 for (JDetector::const_iterator
module =
simbad->begin();
module != simbad->end(); ++
module) {
65
67
69
71
73
75 }
76 }
77 }
78 }
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).
double getFrameTime()
Get frame time duration.
double getTimeSinceRTS(const int frame_index)
Get time in ns since last RTS for a given frame index.
◆ recycle()
Recycle time slice by randomly shuffling time intervals of data.
Hits within one time interval are swapped with hits within another -randomly selected- time interval.
Time intervals in which a high-rate veto occurred are excluded.
Note that the time interval should be:
- (much) larger than time differences of hits in L1 coincidence; and
- (much) smaller than time covered by data (as per KM3NETDAQ::getFrameTime()).
- Parameters
-
Definition at line 93 of file JRandomTimeslice.hh.
94 {
97
100
102
103 if (N < 100) { N = 100; }
104 if (N > 50000) { N = 50000; }
105
107
108 random_indices_t index (N);
110
111 for (
iterator frame = this->begin(); frame != this->end(); ++frame) {
112
113 if (!frame->empty()) {
114
115 for (size_t i = 0; i != N; ++i) {
116 buffer[i].clear();
117 }
118
119
120
123
125
127
128 const int i =
hit->getT() /
Ts;
129
130 buffer[i].push_back(*
hit);
131 }
132
134
136 if (frame->testHighRateVeto(pmt)) {
138 }
139 }
140
141 index.random_shuffle(
keep);
142
143
144
146
147 for (size_t in = 0; in != N; ++in) {
148
149 const size_t out = index [in];
151
154
155 for (buffer_type::iterator i = zbuf.begin(); i != zbuf.end(); ++i, ++
hit) {
157 }
158 }
159 }
160 }
161 }
std::vector< JHitW0 > buffer_type
hits
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
Auxiliary class for TDC constraints.
◆ ClassDef() [1/6]
◆ ClassDef() [2/6]
◆ ClassDef() [3/6]
◆ ClassDef() [4/6]
◆ ClassDef() [5/6]
| KM3NETDAQ::JDAQHeader::ClassDef |
( |
JDAQHeader | , |
|
|
2 | ) |
|
inherited |
◆ ClassDef() [6/6]
◆ clear()
| void KM3NETDAQ::JDAQTimeslice::clear |
( |
| ) |
|
|
inlineinherited |
Clear data.
Definition at line 97 of file JDAQTimeslice.hh.
98 {
99 for (
iterator i = this->begin(); i != this->end(); ++i) {
100 i->clear();
101 }
102
104 }
◆ add()
Add another timeslice.
- Parameters
-
- Returns
- this timeslice
Definition at line 133 of file JDAQTimeslice.hh.
134 {
136
138
139 for (const_iterator i = this->begin(); i != this->end(); ++i) {
141 }
142
143 for (JDAQTimeslice::const_iterator i = timeslice.begin(); i != timeslice.end(); ++i) {
144
146
147 if (p != buffer.end()) {
148
150
152
154
155 } else {
156
157 this->push_back(*i);
158 }
159 }
160
161 return *this;
162 }
const_iterator end() const
const_iterator begin() const
JDAQSuperFrame & add(const JDAQSuperFrame &super_frame)
Add data from same optical module.
◆ print()
| std::ostream & KM3NETDAQ::JDAQTimeslice::print |
( |
std::ostream & | out, |
|
|
const bool | lpr = false ) const |
|
inlineinherited |
Print DAQ Timeslice.
- Parameters
-
| out | output stream |
| lpr | long print |
- Returns
- output stream
Definition at line 172 of file JDAQTimeslice.hh.
173 {
175
179
180 for (JDAQTimeslice::const_iterator frame = this->begin(); frame != this->end(); ++frame) {
181
182 out <<
' ' <<
setw(10) << frame->getModuleID();
183 out <<
' ' <<
setw(6) << frame->getLength();
184 out <<
' ' <<
setw(6) << frame->getDataType();
185 out <<
' ' <<
setw(6) << frame->getTimesliceStart();
188 out <<
' ' <<
setw(2) << frame->getUDPNumberOfReceivedPackets();
189 out <<
'/' <<
setw(2) << frame->getUDPMaximalSequenceNumber();
190 out <<
' ' <<
setw(6) << frame->size();
191
193
194 if (!frame->empty()) {
195
196 out <<
' ' <<
setw(10) << frame-> begin()->getT();
197 out << " ... ";
198 out <<
' ' <<
setw(10) << frame->rbegin()->getT();
199 }
200
202
203 } else {
204
206
208
212 <<
setw(3) << (
int)
hit->getToT() << (
n%10 == 0 ?
'\n' :
' ');
213 }
214
216 }
217 }
218
219 return out;
220 }
◆ getDAQPreamble()
Get DAQ preamble.
This method should be used for binary I/O to get the actual data for the given object.
To this end, the following method should be overloaded for the corresponding data type.
size_t getSizeof(const T&);
- Parameters
-
- Returns
- preamble
Definition at line 76 of file JDAQPreamble.hh.
77 {
79
82
83 return preamble;
84 }
friend size_t getSizeof()
Definition of method to get size of data type.
◆ getLength()
| int KM3NETDAQ::JDAQAbstractPreamble::getLength |
( |
| ) |
const |
|
inlineinherited |
◆ getDataType()
| int KM3NETDAQ::JDAQAbstractPreamble::getDataType |
( |
| ) |
const |
|
inlineinherited |
◆ ClassDefNV()
◆ getDAQTimesliceHeader()
◆ getDAQHeader()
Get DAQ header.
- Returns
- DAQ header
Definition at line 49 of file JDAQHeader.hh.
◆ setDAQHeader()
◆ getDAQChronometer()
◆ setDAQChronometer()
Set DAQ chronometer.
- Parameters
-
| chronometer | DAQ chronometer |
Definition at line 99 of file JDAQChronometer.hh.
◆ getDetectorID()
| int KM3NETDAQ::JDAQChronometer::getDetectorID |
( |
| ) |
const |
|
inlineinherited |
◆ getRunNumber()
| int KM3NETDAQ::JDAQChronometer::getRunNumber |
( |
| ) |
const |
|
inlineinherited |
◆ getFrameIndex()
| int KM3NETDAQ::JDAQChronometer::getFrameIndex |
( |
| ) |
const |
|
inlineinherited |
◆ getTimesliceStart()
Get start of timeslice.
- Returns
- timeslice start
Definition at line 144 of file JDAQChronometer.hh.
145 {
147 }
JDAQUTCExtended timeslice_start
◆ setRunNumber()
| void KM3NETDAQ::JDAQChronometer::setRunNumber |
( |
const int | run | ) |
|
|
inlineinherited |
◆ setFrameIndex()
| void KM3NETDAQ::JDAQChronometer::setFrameIndex |
( |
const int | frame_index | ) |
|
|
inlineinherited |
◆ setTimesliceStart()
Set timeslice start time.
- Parameters
-
| timeslice_start | timeslice start time |
Definition at line 177 of file JDAQChronometer.hh.
◆ length
| int KM3NETDAQ::JDAQAbstractPreamble::length |
|
protectedinherited |
◆ type
| int KM3NETDAQ::JDAQAbstractPreamble::type |
|
protectedinherited |
◆ detector_id
| int KM3NETDAQ::JDAQChronometer::detector_id |
|
protectedinherited |
◆ run
| int KM3NETDAQ::JDAQChronometer::run |
|
protectedinherited |
◆ frame_index
| int KM3NETDAQ::JDAQChronometer::frame_index |
|
protectedinherited |
◆ timeslice_start
The documentation for this struct was generated from the following file: