1 #ifndef __JTRIGGER__JFRAME__
2 #define __JTRIGGER__JFRAME__
20 namespace JPP {
using namespace JTRIGGER; }
32 template<
class JElement_t,
class JAllocator_t = std::allocator<JElement_t> >
45 typedef typename container_type::iterator
iterator;
50 using container_type::push_back;
60 std::
vector<JElement_t, JAllocator_t>(),
79 std::
vector<JElement_t, JAllocator_t>(),
92 std::
vector<JElement_t, JAllocator_t>(input.begin(), input.end()),
110 container_type::push_back(this->getHit(hit, this->
getCalibration()));
121 return (this->capacity() > this->size() && this->getT(*(this->end())) == this->getT(this->getEndMarker()));
178 while (++p != this->end() && match(*out,*p)) {
179 *out =
join(*out,*p);
185 if (out != this->end()) {
186 this->erase(out, this->end());
207 for (
const_iterator i = p; ++q != this->end() && match(*i,*q); ++i) {}
217 if (out != this->end()) {
218 this->erase(out, this->end());
container_type::const_iterator const_iterator
void join(const match_type &match)
Join consecutive hits when matched according given criterion.
std::vector< JElement_t, JAllocator_t > container_type
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
const JCalibration & getCalibration() const
Get calibration.
bool hasEndMarker() const
Check presence of end marker.
Function object interface for hit matching.
Data structure for time calibration.
container_type::reverse_iterator reverse_iterator
JFrame(const JDAQChronometer &chronometer, const JDAQPMTIdentifier &id, const JAxis3D &axis, const JCalibration &calibration)
Constructor.
Base class for match operations for cluster and hit-preprocessing methods.
double getFrameTime()
Get frame time duration.
Data frame for calibrated hits of one PMT.
void filter(const match_type &match)
Filter-out consecutive hits when matched according given criterion.
JFrame()
Default constructor.
container_type::const_reverse_iterator const_reverse_iterator
JFrame(const JFrame< JElement_t, JAllocator_t > &input)
Copy constructor.
container_type::iterator iterator
JMatch< value_type > match_type
void putEndMarker(std::vector< JElement_t, JAllocator_t > &buffer, const JElement_t &value)
Put end marker.
void putEndMarker()
Append end marker to data.
void applyHighRateVeto(const double rate_Hz)
Apply high-rate veto.
void push_back(const JDAQHit &hit)
Append DAQ hit.