Jpp
17.3.0-rc.1
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 | pair_type |
Auxiliary structure for indexing hits in a data frame. More... | |
Public Types | |
typedef JTOOLS::JElement2D < double, pair_type > | element_type |
typedef JTOOLS::JGridCollection < element_type > | grid_type |
typedef JDAQTimeslice::const_iterator | const_iterator |
typedef JTOOLS::JHashMap< int, int > | router_type |
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... | |
Public Attributes | |
const JDAQHit::JTDC_t | TMIN_NS |
minimal TDC value More... | |
const JDAQHit::JTDC_t | TMAX_NS |
maximal TDC value More... | |
const JDAQHit | DAQHIT_MIN |
begin hit marker More... | |
const JDAQHit | DAQHIT_MAX |
end hit marker More... | |
Protected Attributes | |
int | numberOfBins |
JClass_t * | __p |
pointer to object More... | |
Private Attributes | |
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:
t1
to a pair of indices (lpos,rpos)
, where:lpos
is the index of the first hit in the data frame with time >= t1
;rpos
is the index of the last hit in the data frame with time < t1
; Definition at line 91 of file JTimesliceRouter.hh.
typedef JTOOLS::JElement2D<double, pair_type> JTRIGGER::JTimesliceRouter::element_type |
Definition at line 103 of file JTimesliceRouter.hh.
Definition at line 104 of file JTimesliceRouter.hh.
typedef JDAQTimeslice::const_iterator JTRIGGER::JTimesliceRouter::const_iterator |
Definition at line 105 of file JTimesliceRouter.hh.
typedef JTOOLS::JHashMap<int, int> JTRIGGER::JTimesliceRouter::router_type |
Definition at line 106 of file JTimesliceRouter.hh.
|
inline |
Constructor.
numberOfBins | number of bins of the hit look-up table |
Definition at line 114 of file JTimesliceRouter.hh.
|
inline |
Constructor.
timeslice | timeslice |
numberOfBins | number of bins of the hit look-up table |
Definition at line 125 of file JTimesliceRouter.hh.
|
inline |
Configure.
Note that method reset should be called used after use.
timeslice | timeslice |
Definition at line 140 of file JTimesliceRouter.hh.
|
inline |
Get address of module.
module | module |
Definition at line 249 of file JTimesliceRouter.hh.
|
inline |
Check presence of module.
module | module |
Definition at line 261 of file JTimesliceRouter.hh.
|
inline |
Get super frame.
module | module |
Definition at line 273 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 289 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< JAccessibleObjectIterator< KM3NETDAQ::KM3NETDAQ::JDAQEvent > >, JLANG::JSharedPointer< const TFormula >, JLANG::JSharedPointer< JObjectIterator< T > >, JLANG::JSharedPointer< JFIT::JMEstimator >, JLANG::JSharedPointer< JAbstractAutoPointer< JBase_t > >, JLANG::JSharedPointer< JEvtWeight >, JLANG::JSharedPointer< JTRIGGER::JDAQHitSelector >, JLANG::JSharedPointer< JAccessibleObjectIterator< JNullType > >, JLANG::JSharedPointer< match_type >, JLANG::JSharedPointer< JAccessibleObjectIterator< JDAQSummaryslice > >, JLANG::JSharedPointer< JDiffuseFlux >, JLANG::JSharedPointer< JEvtWeightFactor_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< JOscProb >, 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< JEvtWeightFactor >, JLANG::JSharedPointer< JRewindableObjectIterator< T > >, JLANG::JSharedPointer< JAccessibleObjectOutput< T > >, JLANG::JSharedPointer< JNET::JControlHost >, JLANG::JSharedPointer< JTOOLS::JMultiMapTransformer >, and JLANG::JSharedPointer< JRadiation >.
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< JAccessibleObjectIterator< KM3NETDAQ::KM3NETDAQ::JDAQEvent > >, JLANG::JSharedPointer< const TFormula >, JLANG::JSharedPointer< JObjectIterator< T > >, JLANG::JSharedPointer< JFIT::JMEstimator >, JLANG::JSharedPointer< JAbstractAutoPointer< JBase_t > >, JLANG::JSharedPointer< JEvtWeight >, JLANG::JSharedPointer< JTRIGGER::JDAQHitSelector >, JLANG::JSharedPointer< JAccessibleObjectIterator< JNullType > >, JLANG::JSharedPointer< match_type >, JLANG::JSharedPointer< JAccessibleObjectIterator< JDAQSummaryslice > >, JLANG::JSharedPointer< JDiffuseFlux >, JLANG::JSharedPointer< JEvtWeightFactor_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< JOscProb >, 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< JEvtWeightFactor >, JLANG::JSharedPointer< JRewindableObjectIterator< T > >, JLANG::JSharedPointer< JAccessibleObjectOutput< T > >, JLANG::JSharedPointer< JNET::JControlHost >, JLANG::JSharedPointer< JTOOLS::JMultiMapTransformer >, JLANG::JSharedPointer< JRadiation >, 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< 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< JEvtWeight, JNew >, JLANG::JStorage< JTRIGGER::JDAQHitSelector, JNew >, JLANG::JStorage< JTRIGGER::JMatch, JNew >, JLANG::JStorage< JDETECTOR::JCLBDefaultSimulatorInterface::JTDC, JNew >, JLANG::JStorage< JEvtWeightFactor_t, 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< JExceptionHandler, JNew >, JLANG::JStorage< TFile >, JLANG::JStorage< JFlux, JNew >, JLANG::JStorage< JTimesliceRouter, JNew >, JLANG::JStorage< JControlHost_t, JNew >, JLANG::JStorage< JRadiation, 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< JOscProb, JNew >, JLANG::JStorage< JIO::JReader, JNew >, JLANG::JStorage< JLOGGER::JLogger, JNew >, JLANG::JStorage< JTriggerMXShower, JNew >, JLANG::JStorage< JEvtWeightFactor, JNew >, and JLANG::JStorage< JDiffuseFlux, 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 306 of file JTimesliceRouter.hh.
|
private |
Definition at line 307 of file JTimesliceRouter.hh.
|
inherited |
minimal TDC value
Definition at line 56 of file JTimesliceRouter.hh.
|
inherited |
maximal TDC value
Definition at line 57 of file JTimesliceRouter.hh.
|
inherited |
begin hit marker
Definition at line 59 of file JTimesliceRouter.hh.
|
inherited |
end hit marker
Definition at line 60 of file JTimesliceRouter.hh.
|
protectedinherited |
Definition at line 63 of file JTimesliceRouter.hh.
|
protectedinherited |
pointer to object
Definition at line 136 of file JPointer.hh.