1#ifndef __JACOUSTICS__JEVENT__
2#define __JACOUSTICS__JEVENT__
71 return event.begin()->getToE();
110 for (T i = __begin; i != __end; ++i) {
114 sort(this->begin(), this->end());
172 const_iterator __hit1 =
this ->begin();
173 const_iterator __end1 =
this ->end();
175 const_iterator __hit2 =
event.begin();
176 const_iterator __end2 =
event.end();
178 buffer.resize(this->size() + event.size());
182 while (__hit1 != __end1 && __hit2 != __end2) {
184 if (*__hit1 < *__hit2) {
189 }
else if (*__hit2 < *__hit1) {
207 out = copy(__hit1, __end1, out);
208 out = copy(__hit2, __end2, out);
210 buffer.resize(
distance(buffer.begin(), out));
229 std::swap(first.
id, second.
id);
248 static inline void overlap(T p, T q,
const double Tmax_s)
250 for (T __q = p, __p = __q++; __p != q && __q != q; __p = __q++) {
254 __q->begin()->getToE() < __p->rbegin()->getToE() + Tmax_s) {
258 for (__p = __q++; __p != q && __q != q; __p = __q++) {
260 if (__q->begin()->getToE() < __p->rbegin()->getToE() + Tmax_s)
284 if (!first.empty() && !second.empty())
285 return first.begin()->getToE() < second.begin()->getToE();
302 out <<
event.getDetectorID() << endl;
303 out << setw(8) <<
event.getCounter() << endl;
304 out << setw(2) <<
event.getOverlays() << endl;
305 out << setw(3) <<
event.getID() << endl;
307 for (const_iterator i = event.begin(); i != event.end(); ++i) {
309 out << setw(10) << i->getID() <<
' '
310 << setw(10) << i->getRunNumber() <<
' '
311 << fixed << setw(12) << setprecision(6) << i->getToA() <<
' '
312 << fixed << setw(12) << setprecision(6) << i->getToE() <<
' '
313 << fixed << setw(8) << setprecision(0) << i->getQ() <<
' '
314 << fixed << setw(8) << setprecision(0) << i->getW() << endl;
329 in >>
static_cast<JCounter&
>(*this);
347 out << static_cast<const JCounter&>(*
this);
351 out << static_cast<const std::vector<JTransmission>&>(*this);
STD extensions for binary I/O.
Interface for binary input.
Forward declaration of binary output.
Interface for binary output.
Auxiliary classes and methods for acoustic position calibration.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
int getCounter() const
Get counter.
Auxiliary class to determine value of acoustic events.
double value_type
Type definition of time value.
JEvaluator()
Default constructor.
value_type operator()(const JEvent &event) const
Get value of object.
virtual JWriter & write(JWriter &out) const override
Write to output.
void merge(const JEvent &event)
Merge event.
static void overlap(T p, T q, const double Tmax_s)
Empty overlapping events.
JEvent(const int detid, const int counter, const int id, T __begin, T __end)
Constructor.
virtual JReader & read(JReader &in) override
Read from input.
int getID() const
Get emitter identifier.
friend std::ostream & operator<<(std::ostream &out, const JEvent &event)
Write event to output stream.
friend bool operator<(const JEvent &first, const JEvent &second)
Less than operator for acoustics events.
const int getDetectorID() const
Get detector identifier.
virtual ~JEvent()
Virtual destructor.
int getOverlays() const
Get number of overlayed events.
friend void swap(JEvent &first, JEvent &second)
Swap events.
ClassDefOverride(JEvent, 4)
JEvent()
Default constructor.