Jpp - the software that should make you happy
|
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 JClass_t * | get () const override |
Get pointer. More... | |
virtual void | set (JClass_t *p) override |
Set pointer. More... | |
template<class T > | |
void | set (const JPointer< T > &pointer) |
Set pointer. More... | |
virtual void | reset () override |
Reset pointer. More... | |
template<class T > | |
void | reset (const JPointer< T > &pointer) |
Reset pointer. More... | |
void | reset (JClass_t *p) |
Reset pointer. More... | |
JClass_t *const & | getReference () const |
Get rereference to internal pointer. More... | |
JClass_t *& | 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... | |
JClass_t * | operator-> () const |
Smart pointer operator. More... | |
operator JClass_t * () const | |
Type conversion operator. More... | |
Protected Attributes | |
JClass_t * | __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 63 of file JTimesliceRouter.hh.
typedef JTOOLS::JElement2D<double, JPair_t> JTRIGGER::JTimesliceRouter::element_type |
Definition at line 76 of file JTimesliceRouter.hh.
Definition at line 77 of file JTimesliceRouter.hh.
typedef JTOOLS::JRouter<int> JTRIGGER::JTimesliceRouter::router_type |
Definition at line 78 of file JTimesliceRouter.hh.
typedef JDAQTimeslice::const_iterator JTRIGGER::JTimesliceRouter::const_iterator |
Definition at line 79 of file JTimesliceRouter.hh.
|
inline |
Constructor.
numberOfBins | number of bins of the hit look-up table |
Definition at line 87 of file JTimesliceRouter.hh.
|
inline |
Constructor.
timeslice | timeslice |
numberOfBins | number of bins of the hit look-up table |
Definition at line 99 of file JTimesliceRouter.hh.
|
inline |
Configure.
timeslice | timeslice |
Definition at line 113 of file JTimesliceRouter.hh.
|
inline |
Get address of module.
module | module |
Definition at line 231 of file JTimesliceRouter.hh.
|
inline |
Check presence of module.
module | module |
Definition at line 243 of file JTimesliceRouter.hh.
|
inline |
Get super frame.
module | module |
Definition at line 255 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 271 of file JTimesliceRouter.hh.
|
inlineoverridevirtualinherited |
Get pointer.
Implements JLANG::JAbstractPointer< JClass_t >.
Reimplemented in JLANG::JMultiPointer< JTypeList< JHead_t, JTail_t > >, JLANG::JMultiPointer< JClass_t >, JLANG::JMultiPointer< JTail_t >, JLANG::JMultiPointer< JHead_t >, JLANG::JMultiPointer< T >, and JLANG::JMultiPointer< JTypeList< JDAQEvent, JTypelist_t > >.
Definition at line 64 of file JPointer.hh.
|
inlineoverridevirtualinherited |
Set pointer.
p | pointer to object |
Implements JLANG::JAbstractPointer< JClass_t >.
Reimplemented in JLANG::JSharedPointer< JClass_t, JMemory_t >, JLANG::JSharedPointer< JFlux >, JLANG::JSharedPointer< JPHYSICS::JRadiation >, JLANG::JSharedPointer< JWeightEvent >, JLANG::JSharedPointer< JAccessibleObjectIterator< KM3NETDAQ::KM3NETDAQ::JDAQEvent > >, JLANG::JSharedPointer< const TFormula >, JLANG::JSharedPointer< JObjectIterator< T > >, JLANG::JSharedPointer< JFIT::JMEstimator >, JLANG::JSharedPointer< JAbstractAutoPointer< JBase_t > >, JLANG::JSharedPointer< JTRIGGER::JDAQHitSelector >, JLANG::JSharedPointer< JAccessibleObjectIterator< JNullType > >, JLANG::JSharedPointer< match_type >, JLANG::JSharedPointer< JAccessibleObjectIterator< JDAQSummaryslice > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JTypeList< JDAQEvent, JTypelist_t > > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JTail_t > >, JLANG::JSharedPointer< JLOGGER::JLogger >, JLANG::JSharedPointer< JAccessibleObjectIterator< T > >, JLANG::JSharedPointer< JParserElementInterface >, JLANG::JSharedPointer< JExceptionHandler >, JLANG::JSharedPointer< JObjectOutput< JHead_t > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JHead_t > >, JLANG::JSharedPointer< JRewindableObjectIterator< JTail_t > >, JLANG::JSharedPointer< JRewindableObjectIterator< JHead_t > >, JLANG::JSharedPointer< JObjectOutput< T > >, JLANG::JSharedPointer< JBase_t >, JLANG::JSharedPointer< JObjectOutput< JTail_t > >, JLANG::JSharedPointer< JPropertiesElementInterface >, JLANG::JSharedPointer< JTRIGGER::JMatch >, JLANG::JSharedPointer< JRewindableObjectIterator< const T > >, JLANG::JSharedPointer< JRewindableObjectIterator< T > >, JLANG::JSharedPointer< JAccessibleObjectOutput< T > >, JLANG::JSharedPointer< JNET::JControlHost >, and JLANG::JSharedPointer< JTOOLS::JMultiMapTransformer >.
Definition at line 75 of file JPointer.hh.
|
inlineinherited |
|
inlineoverridevirtualinherited |
Reset pointer.
Implements JLANG::JAbstractPointer< JClass_t >.
Reimplemented in JLANG::JSharedPointer< JClass_t, JMemory_t >, JLANG::JSharedPointer< JFlux >, JLANG::JSharedPointer< JPHYSICS::JRadiation >, JLANG::JSharedPointer< JWeightEvent >, JLANG::JSharedPointer< JAccessibleObjectIterator< KM3NETDAQ::KM3NETDAQ::JDAQEvent > >, JLANG::JSharedPointer< const TFormula >, JLANG::JSharedPointer< JObjectIterator< T > >, JLANG::JSharedPointer< JFIT::JMEstimator >, JLANG::JSharedPointer< JAbstractAutoPointer< JBase_t > >, JLANG::JSharedPointer< JTRIGGER::JDAQHitSelector >, JLANG::JSharedPointer< JAccessibleObjectIterator< JNullType > >, JLANG::JSharedPointer< match_type >, JLANG::JSharedPointer< JAccessibleObjectIterator< JDAQSummaryslice > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JTypeList< JDAQEvent, JTypelist_t > > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JTail_t > >, JLANG::JSharedPointer< JLOGGER::JLogger >, JLANG::JSharedPointer< JAccessibleObjectIterator< T > >, JLANG::JSharedPointer< JParserElementInterface >, JLANG::JSharedPointer< JExceptionHandler >, JLANG::JSharedPointer< JObjectOutput< JHead_t > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JHead_t > >, JLANG::JSharedPointer< JRewindableObjectIterator< JTail_t > >, JLANG::JSharedPointer< JRewindableObjectIterator< JHead_t > >, JLANG::JSharedPointer< JObjectOutput< T > >, JLANG::JSharedPointer< JBase_t >, JLANG::JSharedPointer< JObjectOutput< JTail_t > >, JLANG::JSharedPointer< JPropertiesElementInterface >, JLANG::JSharedPointer< JTRIGGER::JMatch >, JLANG::JSharedPointer< JRewindableObjectIterator< const T > >, JLANG::JSharedPointer< JRewindableObjectIterator< T > >, JLANG::JSharedPointer< JAccessibleObjectOutput< T > >, JLANG::JSharedPointer< JNET::JControlHost >, JLANG::JSharedPointer< JTOOLS::JMultiMapTransformer >, JLANG::JStorage< JClass_t, JMemory_t >, JLANG::JStorage< JDETECTOR::JK40Simulator, JNew >, JLANG::JStorage< JBuildL2_t, JNew >, JLANG::JStorage< JAccessibleObjectIterator< JTail_t >, JNew >, JLANG::JStorage< match_type, JNew >, JLANG::JStorage< JObjectOutput< JTail_t >, JNew >, JLANG::JStorage< JAccessibleObjectIterator< JNullType >, JNew >, JLANG::JStorage< JAccessibleObjectIterator< KM3NETDAQ::KM3NETDAQ::JDAQEvent >, JNew >, JLANG::JStorage< JDETECTOR::JCLBDefaultSimulatorInterface::JStateMachine, JNew >, JLANG::JStorage< JDETECTOR::JPMTSimulator, JNew >, JLANG::JStorage< JObjectIterator< T >, JNew >, JLANG::JStorage< JAccessibleObjectIterator< T >, JNew >, JLANG::JStorage< JRewindableObjectIterator< JTail_t >, JNew >, JLANG::JStorage< JTOOLS::JFunction1D, JNew >, JLANG::JStorage< JDETECTOR::JCLBSimulator, JNew >, JLANG::JStorage< JModuleRouter, JNew >, JLANG::JStorage< JTOOLS::JMultiMapTransformer, JNew >, JLANG::JStorage< JTriggerNB, JNew >, JLANG::JStorage< JRewindableObjectIterator< const T >, JNew >, JLANG::JStorage< JBase_t, JNew >, JLANG::JStorage< const TFormula, JNew >, JLANG::JStorage< JWeightEvent, JNew >, JLANG::JStorage< JTrigger3DMuon, JNew >, JLANG::JStorage< JTrigger3DShower, JNew >, JLANG::JStorage< JParserElementInterface, JNew >, JLANG::JStorage< JFIT::JMEstimator, JNew >, JLANG::JStorage< JAbstractAutoPointer< JBase_t >, JNew >, JLANG::JStorage< JAccessibleObjectIterator< JHead_t >, JNew >, JLANG::JStorage< JTRIGGER::JDAQHitSelector, JNew >, JLANG::JStorage< JTRIGGER::JMatch, JNew >, JLANG::JStorage< JPHYSICS::JRadiation, JNew >, JLANG::JStorage< JDETECTOR::JCLBDefaultSimulatorInterface::JTDC, JNew >, JLANG::JStorage< JLANG::JMultiPipe< T, N >, JNew >, JLANG::JStorage< JServerSocket, JNew >, JLANG::JStorage< JAccessibleObjectIterator< JDAQSummaryslice >, JNew >, JLANG::JStorage< JObjectOutput< JHead_t >, JNew >, JLANG::JStorage< JAccessibleObjectIterator< JTypeList< JDAQEvent, JTypelist_t > >, JNew >, JLANG::JStorage< JExceptionHandler, JNew >, JLANG::JStorage< TFile >, JLANG::JStorage< JFlux, JNew >, JLANG::JStorage< JTimesliceRouter, JNew >, JLANG::JStorage< JControlHost_t, JNew >, JLANG::JStorage< JRewindableObjectIterator< T >, JNew >, JLANG::JStorage< JPropertiesElementInterface, JNew >, JLANG::JStorage< JRewindableObjectIterator< JHead_t >, JNew >, JLANG::JStorage< JBuildL1_t, JNew >, JLANG::JStorage< JObjectOutput< T >, JNew >, JLANG::JStorage< JIO::JWriter, JNew >, JLANG::JStorage< JNET::JControlHost, JNew >, JLANG::JStorage< JAccessibleObjectOutput< T >, JNew >, JLANG::JStorage< JIO::JReader, JNew >, JLANG::JStorage< JLOGGER::JLogger, JNew >, and JLANG::JStorage< JTriggerMXShower, JNew >.
Definition at line 84 of file JPointer.hh.
|
inlineinherited |
|
inlineinherited |
|
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 289 of file JTimesliceRouter.hh.
|
private |
Definition at line 290 of file JTimesliceRouter.hh.
|
private |
Definition at line 291 of file JTimesliceRouter.hh.
|
protectedinherited |
pointer to object
Definition at line 136 of file JPointer.hh.