Jpp  19.1.0
the software that should make you happy
Public Types | Public Member Functions | Public Attributes | Protected Attributes | List of all members
JACOUSTICS::JEventOverlap Class Reference

Match of two events considering overlap in time. More...

#include <JEventOverlap.hh>

Public Types

typedef JRange< double > time_range
 Type definition of time range. More...
 

Public Member Functions

 JEventOverlap (const double Tmax_s=0.0)
 Constructor. More...
 
bool operator() (const JEvent &first, const JEvent &second) const
 Match criterion. More...
 
 JEventOverlap (const double Tmax_s)
 Constructor. More...
 
bool operator() (const JEvent &first, const JEvent &second) const
 Match criterion. More...
 
double getTmax () const
 Get time window. More...
 

Public Attributes

const time_range range
 

Protected Attributes

double tmax_s
 

Detailed Description

Match of two events considering overlap in time.

Definition at line 130 of file JAcousticsTriggerProcessor.cc.

Member Typedef Documentation

◆ time_range

Type definition of time range.

Definition at line 132 of file JAcousticsTriggerProcessor.cc.

Constructor & Destructor Documentation

◆ JEventOverlap() [1/2]

JACOUSTICS::JEventOverlap::JEventOverlap ( const double  Tmax_s = 0.0)
inline

Constructor.

Parameters
Tmax_smaximal time difference between two consecutive events [s]

Definition at line 139 of file JAcousticsTriggerProcessor.cc.

139  :
140  range(-Tmax_s, +Tmax_s)
141  {}

◆ JEventOverlap() [2/2]

JACOUSTICS::JEventOverlap::JEventOverlap ( const double  Tmax_s)
inline

Constructor.

Parameters
Tmax_smaximal time difference between two consecutive events [s]

Definition at line 27 of file JAcoustics/JEventOverlap.hh.

27  :
28  tmax_s(Tmax_s)
29  {}

Member Function Documentation

◆ operator()() [1/2]

bool JACOUSTICS::JEventOverlap::operator() ( const JEvent first,
const JEvent second 
) const
inline

Match criterion.

Parameters
firstfirst event
secondsecond event
Returns
true if two events overlap in time; else false

Definition at line 151 of file JAcousticsTriggerProcessor.cc.

152  {
153  using namespace JPP;
154 
155  if (first .empty()) return false;
156  if (second.empty()) return false;
157 
158  time_range r1(make_array(first .begin(), first .end(), &JTransmission::getToA));
159  time_range r2(make_array(second.begin(), second.end(), &JTransmission::getToA));
160 
161  r1.add(range);
162  r2.add(range);
163 
164  return overlap(r1, r2);
165  }
const array_type< JValue_t > & make_array(const JValue_t(&array)[N])
Method to create array of values.
Definition: JVectorize.hh:54
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
bool overlap(const JRange< T, JComparator_t > &first, const JRange< T, JComparator_t > &second)
Test overlap between ranges.
Definition: JRange.hh:641
JRange< double > time_range
Type definition of time range.
double getToA() const
Get calibrated time of arrival.

◆ operator()() [2/2]

bool JACOUSTICS::JEventOverlap::operator() ( const JEvent first,
const JEvent second 
) const
inline

Match criterion.

Parameters
firstfirst event
secondsecond event
Returns
true if two events overlap in time; else false

Definition at line 39 of file JAcoustics/JEventOverlap.hh.

40  {
41  if (first .empty()) return false;
42  if (second.empty()) return false;
43 
44  return (first.rbegin()->getToE() >= second. begin()->getToE() - tmax_s &&
45  first. begin()->getToE() <= second.rbegin()->getToE() + tmax_s);
46  }

◆ getTmax()

double JACOUSTICS::JEventOverlap::getTmax ( ) const
inline

Get time window.

Returns
maximal time difference between two consecutive events [s]

Definition at line 54 of file JAcoustics/JEventOverlap.hh.

55  {
56  return tmax_s;
57  }

Member Data Documentation

◆ range

const time_range JACOUSTICS::JEventOverlap::range

Definition at line 167 of file JAcousticsTriggerProcessor.cc.

◆ tmax_s

double JACOUSTICS::JEventOverlap::tmax_s
protected

Definition at line 61 of file JAcoustics/JEventOverlap.hh.


The documentation for this class was generated from the following files: