Jpp
|
Router for fast addressing of hits in KM3NETDAQ::JDAQTimeslice data structure as a function of the optical module identifier and time. More...
#include <JTimesliceRouter.hh>
Classes | |
struct | JPair_t |
Auxiliary structure for indexing hits in a data frame. More... | |
Public Types | |
typedef JTOOLS::JElement2D < double, JPair_t > | element_type |
typedef JTOOLS::JGridCollection < element_type > | grid_type |
typedef JTOOLS::JRouter< int > | router_type |
typedef JDAQTimeslice::const_iterator | const_iterator |
Public Member Functions | |
JTimesliceRouter (const int numberOfBins) | |
Constructor. More... | |
JTimesliceRouter (const JDAQTimeslice ×lice, const int numberOfBins) | |
Constructor. More... | |
void | configure (const JDAQTimeslice ×lice) |
Configure. More... | |
const int | getAddress (const JDAQModuleIdentifier &module) const |
Get address of module. More... | |
bool | hasSuperFrame (const JDAQModuleIdentifier &module) const |
Check presence of module. More... | |
const JDAQSuperFrame & | getSuperFrame (const JDAQModuleIdentifier &module) const |
Get super frame. More... | |
JDAQFrameSubset | getFrameSubset (const JDAQModuleIdentifier &module, const JTimeRange &timeRange) const |
Get subset of frame given module identifier and range of hit times. More... | |
virtual const JDAQTimeslice * | get () const |
Get pointer. More... | |
virtual void | set (const JDAQTimeslice *p) |
Set pointer. More... | |
void | set (const JPointer< T > &pointer) |
Set pointer. More... | |
virtual void | reset () |
Reset pointer. More... | |
void | reset (const JPointer< T > &pointer) |
Reset pointer. More... | |
void | reset (const JDAQTimeslice *p) |
Reset pointer. More... | |
const JDAQTimeslice *const & | getReference () const |
Get rereference to internal pointer. More... | |
const JDAQTimeslice *& | getReference () |
Get rereference to internal pointer. More... | |
virtual bool | equals (const JAbstractPointer &object) const |
Equals. More... | |
bool | is_valid () const |
Check validity of pointer. More... | |
const JDAQTimeslice * | operator-> () const |
Smart pointer operator. More... | |
operator const JDAQTimeslice * () const | |
Type conversion operator. More... | |
Protected Attributes | |
const JDAQTimeslice * | __p |
pointer to object More... | |
Private Attributes | |
int | number_of_bins |
router_type | router |
std::vector< grid_type > | table |
Router for fast addressing of hits in KM3NETDAQ::JDAQTimeslice data structure as a function of the optical module identifier and time.
Note that the data in a frame from the same PMT are time ordered but the data from different PMTs are not necessarily time orderd.
The fast routing is based on the assumption that the time difference between consecutive hits in the same frame is limited.
The access speed is then determined by this time difference.
The time slice router class comprises two internal look-up tables:
t
to a pair of indices (lpos,rpos)
, where:lpos
is the index of the first hit in the data frame with time >= t
;rpos
is the index of the last hit in the data frame with time < t
; Definition at line 62 of file JTimesliceRouter.hh.
typedef JTOOLS::JElement2D<double, JPair_t> JTRIGGER::JTimesliceRouter::element_type |
Definition at line 75 of file JTimesliceRouter.hh.
Definition at line 76 of file JTimesliceRouter.hh.
typedef JTOOLS::JRouter<int> JTRIGGER::JTimesliceRouter::router_type |
Definition at line 77 of file JTimesliceRouter.hh.
typedef JDAQTimeslice::const_iterator JTRIGGER::JTimesliceRouter::const_iterator |
Definition at line 78 of file JTimesliceRouter.hh.
|
inline |
Constructor.
numberOfBins | number of bins of the hit look-up table |
Definition at line 86 of file JTimesliceRouter.hh.
|
inline |
Constructor.
timeslice | timeslice |
numberOfBins | number of bins of the hit look-up table |
Definition at line 98 of file JTimesliceRouter.hh.
|
inline |
Configure.
timeslice | timeslice |
Definition at line 112 of file JTimesliceRouter.hh.
|
inline |
Get address of module.
module | module |
Definition at line 230 of file JTimesliceRouter.hh.
|
inline |
Check presence of module.
module | module |
Definition at line 242 of file JTimesliceRouter.hh.
|
inline |
Get super frame.
module | module |
Definition at line 254 of file JTimesliceRouter.hh.
|
inline |
Get subset of frame given module identifier and range of hit times.
Note that the hit times should have been corrected for the maximal and minimal time offsets of the PMTs in the corresponding optical module.
module | module |
timeRange | time range [ns] |
Definition at line 270 of file JTimesliceRouter.hh.
|
inlinevirtualinherited |
Get pointer.
Implements JLANG::JAbstractPointer< const JDAQTimeslice >.
Definition at line 64 of file JPointer.hh.
|
inlinevirtualinherited |
Set pointer.
p | pointer to object |
Implements JLANG::JAbstractPointer< const JDAQTimeslice >.
Definition at line 75 of file JPointer.hh.
|
inlineinherited |
Set pointer.
pointer | pointer to object |
Definition at line 96 of file JPointer.hh.
|
inlinevirtualinherited |
Reset pointer.
Implements JLANG::JAbstractPointer< const JDAQTimeslice >.
Definition at line 84 of file JPointer.hh.
|
inlineinherited |
Reset pointer.
pointer | pointer to object |
Definition at line 108 of file JPointer.hh.
|
inlineinherited |
Reset pointer.
p | pointer to object |
Definition at line 94 of file JAbstractPointer.hh.
|
inlineinherited |
Get rereference to internal pointer.
Definition at line 119 of file JPointer.hh.
|
inlineinherited |
Get rereference to internal pointer.
Definition at line 130 of file JPointer.hh.
|
inlinevirtualinherited |
Equals.
The equality is evaluated by comparison of the internal pointers.
object | abstract pointer |
Definition at line 50 of file JAbstractPointer.hh.
|
inlineinherited |
Check validity of pointer.
Definition at line 83 of file JAbstractPointer.hh.
|
inlineinherited |
Smart pointer operator.
Definition at line 112 of file JAbstractPointer.hh.
|
inlineinherited |
Type conversion operator.
Definition at line 126 of file JAbstractPointer.hh.
|
private |
Definition at line 288 of file JTimesliceRouter.hh.
|
private |
Definition at line 289 of file JTimesliceRouter.hh.
|
private |
Definition at line 290 of file JTimesliceRouter.hh.
|
protectedinherited |
pointer to object
Definition at line 136 of file JPointer.hh.