1 #ifndef __JACOUSTICS__JEVENT__
2 #define __JACOUSTICS__JEVENT__
26 namespace JACOUSTICS {}
27 namespace JPP {
using namespace JACOUSTICS; }
29 namespace JACOUSTICS {
64 return event.begin()->getToE();
103 for (
T i = __begin; i != __end; ++i) {
107 sort(this->begin(), this->end());
165 const_iterator __hit1 =
this ->begin();
166 const_iterator __end1 =
this ->end();
168 const_iterator __hit2 =
event.begin();
169 const_iterator __end2 =
event.end();
171 buffer.resize(this->size() + event.size());
175 while (__hit1 != __end1 && __hit2 != __end2) {
177 if (*__hit1 < *__hit2) {
182 }
else if (*__hit2 < *__hit1) {
200 out =
copy(__hit1, __end1, out);
201 out =
copy(__hit2, __end2, out);
203 buffer.resize(
distance(buffer.begin(), out));
220 std::swap(first.
oid, second.
oid);
222 std::swap(first.
id, second.
id);
241 static inline void overlap(
T p,
T q,
const double Tmax_s)
243 for (
T __q = p, __p = __q++; __p != q && __q != q; __p = __q++) {
247 __q->begin()->getToE() < __p->rbegin()->getToE() + Tmax_s) {
251 for (__p = __q++; __p != q && __q != q; __p = __q++) {
253 if (__q->begin()->getToE() < __p->rbegin()->getToE() + Tmax_s)
277 if (!first.empty() && !second.empty())
278 return first.begin()->getToE() < second.begin()->getToE();
295 out <<
event.getOID() << endl;
296 out << setw(8) <<
event.getCounter() << endl;
297 out << setw(2) <<
event.getOverlays() << endl;
298 out << setw(3) <<
event.getID() << endl;
300 for (const_iterator i = event.begin(); i !=
event.end(); ++i) {
302 out << setw(10) << i->getID() <<
' '
303 << setw(10) << i->getRunNumber() <<
' '
304 << fixed << setw(12) << setprecision(6) << i->getToA() <<
' '
305 << fixed << setw(12) << setprecision(6) << i->getToE() <<
' '
306 << fixed << setw(8) << setprecision(0) << i->getQ() <<
' '
307 << fixed << setw(8) << setprecision(0) << i->getW() << endl;
322 in >>
static_cast<JCounter&
>(*this);
340 out << static_cast<const JCounter&>(*this);
344 out << static_cast<const std::vector<JTransmission>&>(*this);
ClassDefOverride(JEvent, 3)
int getOverlays() const
Get number of overlayed events.
Interface for binary output.
void merge(const JEvent &event)
Merge event.
JEvaluator()
Default constructor.
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
int getCounter() const
Get counter.
JEvent()
Default constructor.
friend std::ostream & operator<<(std::ostream &out, const JEvent &event)
Write event to output stream.
friend void swap(JEvent &first, JEvent &second)
Swap events.
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
Forward declaration of binary output.
const std::string & getOID() const
Get detector identifier.
do set_variable OUTPUT_DIRECTORY $WORKDIR T
virtual JWriter & write(JWriter &out) const override
Write to output.
Interface for binary input.
virtual ~JEvent()
Virtual destructor.
static void overlap(T p, T q, const double Tmax_s)
Empty overlapping events.
void copy(const Head &from, JHead &to)
Copy header from from to to.
JEvent(const std::string &oid, 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 bool operator<(const JEvent &first, const JEvent &second)
Less than operator for acoustics events.
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Auxiliary class to determine value of acoustic events.
double operator()(const JEvent &event) const
Get value of object.
STD extensions for binary I/O.