Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
JTRIGGER::JTimesliceRouter Struct Reference

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>

Inheritance diagram for JTRIGGER::JTimesliceRouter:
JTRIGGER::JTimesliceRouter_t JLANG::JPointer< JClass_t > JLANG::JAbstractPointer< JClass_t > JLANG::JEquals< JAbstractPointer< JClass_t > >

Classes

struct  pair_type
 Auxiliary structure for indexing hits in a data frame. More...
 

Public Types

typedef JTOOLS::JElement2D< double, pair_typeelement_type
 
typedef JTOOLS::JGridCollection< element_typegrid_type
 
typedef JDAQTimeslice::const_iterator const_iterator
 
typedef JTOOLS::JHashMap< int, int > router_type
 

Public Member Functions

 JTimesliceRouter (const int numberOfBins)
 Constructor.
 
 JTimesliceRouter (const JDAQTimeslice &timeslice, const int numberOfBins)
 Constructor.
 
void configure (const JDAQTimeslice &timeslice)
 Configure.
 
const int getAddress (const JDAQModuleIdentifier &module) const
 Get address of module.
 
bool hasSuperFrame (const JDAQModuleIdentifier &module) const
 Check presence of module.
 
const JDAQSuperFramegetSuperFrame (const JDAQModuleIdentifier &module) const
 Get super frame.
 
JDAQFrameSubset getFrameSubset (const JDAQModuleIdentifier &module, const JTimeRange &timeRange) const
 Get subset of frame given module identifier and range of hit times.
 
virtual JClass_t * get () const override
 Get pointer.
 
virtual void set (JClass_t *p) override
 Set pointer.
 
template<class T >
void set (const JPointer< T > &pointer)
 Set pointer.
 
virtual void reset () override
 Reset pointer.
 
template<class T >
void reset (const JPointer< T > &pointer)
 Reset pointer.
 
void reset (JClass_t *p)
 Reset pointer.
 
JClass_t *const & getReference () const
 Get rereference to internal pointer.
 
JClass_t *& getReference ()
 Get rereference to internal pointer.
 
virtual bool equals (const JAbstractPointer &object) const
 Equals.
 
bool is_valid () const
 Check validity of pointer.
 
JClass_t * operator-> () const
 Smart pointer operator.
 
 operator JClass_t * () const
 Type conversion operator.
 

Public Attributes

const JDAQHit::JTDC_t TMIN_NS
 minimal TDC value
 
const JDAQHit::JTDC_t TMAX_NS
 maximal TDC value
 
const JDAQHit DAQHIT_MIN
 begin hit marker
 
const JDAQHit DAQHIT_MAX
 end hit marker
 

Protected Attributes

int numberOfBins
 
JClass_t * __p
 pointer to object
 

Private Attributes

router_type router
 
std::vector< grid_typetable
 

Detailed Description

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:

  • The first table consists of a one dimensional look-up table which is is used to map the module identifier to the index of the corresponding data frame in the time slice.
  • The second table consists of a two dimensional array. In this, the first index of matches with the index of the corresponding data frame in the time slice. Each first index is mapped to a one dimensional look-up table. This one dimensional look-up table maps an uncalibrated time t1 to a pair of indices (lpos,rpos), where:
    1. lpos is the index of the first hit in the data frame with time >= t1;
    2. rpos is the index of the last hit in the data frame with time < t1;

Definition at line 91 of file JTimesliceRouter.hh.

Member Typedef Documentation

◆ element_type

◆ grid_type

◆ const_iterator

JDAQTimeslice::const_iterator JTRIGGER::JTimesliceRouter::const_iterator

Definition at line 105 of file JTimesliceRouter.hh.

◆ router_type

Constructor & Destructor Documentation

◆ JTimesliceRouter() [1/2]

JTRIGGER::JTimesliceRouter::JTimesliceRouter ( const int numberOfBins)
inline

Constructor.

Parameters
numberOfBinsnumber of bins of the hit look-up table

Definition at line 114 of file JTimesliceRouter.hh.

114 :
116 {}
JTimesliceRouter_t(const int numberOfBins)
Constructor.

◆ JTimesliceRouter() [2/2]

JTRIGGER::JTimesliceRouter::JTimesliceRouter ( const JDAQTimeslice & timeslice,
const int numberOfBins )
inline

Constructor.

Parameters
timeslicetimeslice
numberOfBinsnumber of bins of the hit look-up table

Definition at line 125 of file JTimesliceRouter.hh.

126 :
128 {
129 configure(timeslice);
130 }
void configure(const JDAQTimeslice &timeslice)
Configure.

Member Function Documentation

◆ configure()

void JTRIGGER::JTimesliceRouter::configure ( const JDAQTimeslice & timeslice)
inline

Configure.

Note that method reset should be called used after use.

Parameters
timeslicetimeslice

Definition at line 140 of file JTimesliceRouter.hh.

141 {
142 using namespace std;
143 using namespace JPP;
144 using namespace KM3NETDAQ;
145
147 typedef std::vector<JDAQHit> frame_type;
148
149
150 router.clear();
151
152 this->set(&timeslice);
153
154 for (const_iterator i = this->get()->begin(); i != this->get()->end(); ++i) {
155
156 if (router.has(i->getModuleID())) {
157 THROW(JTriggerException, "Multiple data from module " << i->getModuleID());
158 }
159
160 router.put(i->getModuleID(), distance(this->get()->begin(), i));
161 }
162
163
164 // setup grid
165
166 int number_of_elements = 2;
167
168 for (const_iterator i = this->get()->begin(); i != this->get()->end(); ++i) {
169 if (i->size() > number_of_elements) {
170 number_of_elements = i->size();
171 }
172 }
173
174 if (numberOfBins > 1 && numberOfBins + 1 < number_of_elements) {
175 number_of_elements = numberOfBins + 1;
176 }
177
178 double Tmin_ns = getTimeSinceRTS(this->get()->getFrameIndex()) - 0.05 * getFrameTime(); // [ns]
179 double Tmax_ns = getTimeSinceRTS(this->get()->getFrameIndex()) + 1.05 * getFrameTime(); // [ns]
180
181 if (Tmin_ns < TMIN_NS) { Tmin_ns = TMIN_NS; }
182 if (Tmax_ns > TMAX_NS) { Tmax_ns = TMAX_NS; }
183
184 const JGrid<double> bounds(number_of_elements, Tmin_ns, Tmax_ns); // grid of abscissa values for lookup of hit indices based on time
185
186
187 buffer_type limits(bounds.getSize() + 1); // abscissa values of grid with proper data type
188
189 for (int i = 0; i != bounds.getSize(); ++i) {
190 limits[i] = (JDAQHit::JTDC_t) bounds.getX(i);
191 }
192
193 limits[bounds.getSize()] = TMAX_NS; // this will make rpos refer to the next abscissa value in grid
194
195
196 table.resize(this->get()->size()); // lookup table with same indexing as current time slice
197
198 frame_type buffer; // copy of raw data with additional begin and end marker
199
200 vector<grid_type>::iterator grid = table.begin();
201
202 for (const_iterator frame = this->get()->begin(); frame != this->get()->end(); ++frame, ++grid) {
203
204 grid->configure(bounds);
205
206 if (!frame->empty()) {
207
208 buffer.resize(frame->size() + 2); // reserve space for begin and end marker
209
210 copy(frame->begin(), frame->end(), buffer.begin() + 1);
211
212 *buffer. begin() = DAQHIT_MIN; // begin marker
213 *buffer.rbegin() = DAQHIT_MAX; // end markr
214
215 {
216 frame_type ::const_iterator hit = buffer.begin(); ++hit; // skip begin marker
217 buffer_type::const_iterator t1 = limits.begin(); // corresponds to index in grid
218
219 for (grid_type::iterator i = grid->begin(); i != grid->end(); ++i, ++t1) {
220
221 while (hit->getT() < *t1) { ++hit; }
222
223 i->getY().lpos = distance(buffer.cbegin(), hit) - 1; // correct distance for begin marker
224 }
225 }
226
227 {
228 frame_type ::const_reverse_iterator hit = buffer.rbegin(); ++hit; // skip end marker
229 buffer_type::const_reverse_iterator t1 = limits.rbegin(); // corresponds to index in grid plus one
230
231 for (grid_type::reverse_iterator i = grid->rbegin(); i != grid->rend(); ++i, ++t1) {
232
233 while (hit->getT() >= *t1) { ++hit; }
234
235 i->getY().rpos = distance(buffer.cbegin(), hit.base()) - 1; // correct distance for begin marker
236 }
237 }
238 }
239 }
240 }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
virtual void set(JClass_t *p) override
Set pointer.
Definition JPointer.hh:75
virtual JClass_t * get() const override
Get pointer.
Definition JPointer.hh:64
collection_type::reverse_iterator reverse_iterator
collection_type::iterator iterator
bool has(const T &value) const
Test whether given value is present.
unsigned int JTDC_t
leading edge [ns]
Definition JDAQHit.hh:39
void copy(const Head &from, JHead &to)
Copy header from from to to.
Definition JHead.cc:163
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
std::vector< JHitW0 > buffer_type
hits
Definition JPerth.cc:70
KM3NeT DAQ data structures and auxiliaries.
Definition DataQueue.cc:39
double getFrameTime()
Get frame time duration.
Definition JDAQClock.hh:162
double getTimeSinceRTS(const int frame_index)
Get time in ns since last RTS for a given frame index.
Definition JDAQClock.hh:263
Simple data structure for an abstract collection of equidistant abscissa values.
Definition JGrid.hh:40
virtual void clear() override
Clear.
Definition JHashMap.hh:107
void put(typename JClass< key_type > ::argument_type key, typename JClass< mapped_type >::argument_type value)
Put pair-wise element (key,value) into collection.
const JDAQHit DAQHIT_MIN
begin hit marker
const JDAQHit::JTDC_t TMIN_NS
minimal TDC value
const JDAQHit::JTDC_t TMAX_NS
maximal TDC value
const JDAQHit DAQHIT_MAX
end hit marker
std::vector< grid_type > table
JDAQTimeslice::const_iterator const_iterator

◆ getAddress()

const int JTRIGGER::JTimesliceRouter::getAddress ( const JDAQModuleIdentifier & module) const
inline

Get address of module.

Parameters
modulemodule
Returns
address

Definition at line 249 of file JTimesliceRouter.hh.

250 {
251 return router.get(module.getModuleID());
252 }
int getModuleID() const
Get module identifier.
virtual mapped_type & get(typename JClass< key_type >::argument_type key) override
Get mapped value.
Definition JHashMap.hh:146

◆ hasSuperFrame()

bool JTRIGGER::JTimesliceRouter::hasSuperFrame ( const JDAQModuleIdentifier & module) const
inline

Check presence of module.

Parameters
modulemodule
Returns
true if module present; else false

Definition at line 261 of file JTimesliceRouter.hh.

262 {
263 return router.has(module.getModuleID());
264 }

◆ getSuperFrame()

const JDAQSuperFrame & JTRIGGER::JTimesliceRouter::getSuperFrame ( const JDAQModuleIdentifier & module) const
inline

Get super frame.

Parameters
modulemodule
Returns
super frame

Definition at line 273 of file JTimesliceRouter.hh.

274 {
275 return (*(this->get()))[this->getAddress(module)];
276 }
const int getAddress(const JDAQModuleIdentifier &module) const
Get address of module.

◆ getFrameSubset()

JDAQFrameSubset JTRIGGER::JTimesliceRouter::getFrameSubset ( const JDAQModuleIdentifier & module,
const JTimeRange & timeRange ) const
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.

Parameters
modulemodule
timeRangetime range [ns]
Returns
subset with begin and end iterators

Definition at line 289 of file JTimesliceRouter.hh.

290 {
291 const int address = this->getAddress(module);
292
293 const grid_type& grid = table [address];
294 const JDAQSuperFrame& frame = (*(this->get()))[address];
295
296 int first = grid.getIndex(timeRange.getLowerLimit());
297 int second = grid.getIndex(timeRange.getUpperLimit());
298
299 if (first < 0) { first = 0; }
300 if (second >= grid.getSize()) { second = grid.size() - 1; }
301
302 return frame.subset(grid.getY(first).lpos, grid.getY(second).rpos);
303 }
T getLowerLimit() const
Get lower limit.
Definition JRange.hh:202
T getUpperLimit() const
Get upper limit.
Definition JRange.hh:213
JDAQFrameSubset subset(const int i1, const int i2) const
Get subset of data.
Definition JDAQFrame.hh:207
Data frame of one optical module.
JTOOLS::JGridCollection< element_type > grid_type

◆ get()

template<class JClass_t >
virtual JClass_t * JLANG::JPointer< JClass_t >::get ( ) const
inlineoverridevirtualinherited

◆ set() [1/2]

template<class JClass_t >
virtual void JLANG::JPointer< JClass_t >::set ( JClass_t * p)
inlineoverridevirtualinherited

Set pointer.

Parameters
ppointer to object

Implements JLANG::JAbstractPointer< JClass_t >.

Reimplemented in JLANG::JSharedPointer< JClass_t, JMemory_t >, JLANG::JSharedPointer< JAbstractAutoPointer< JBase_t > >, JLANG::JSharedPointer< JAccessibleObjectIterator< Evt > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JDAQSummaryslice > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JHead_t > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JTail_t > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JTypeList< JDAQEvent, JNullType > > >, JLANG::JSharedPointer< JAccessibleObjectIterator< KM3NETDAQ::JDAQEvent > >, JLANG::JSharedPointer< JAccessibleObjectIterator< T > >, JLANG::JSharedPointer< JAccessibleObjectOutput< T > >, JLANG::JSharedPointer< JBase_t >, JLANG::JSharedPointer< JFIT::JMEstimator >, JLANG::JSharedPointer< JLOGGER::JLogger >, JLANG::JSharedPointer< JNET::JControlHost >, JLANG::JSharedPointer< JObjectIterator< T > >, JLANG::JSharedPointer< JObjectOutput< JHead_t > >, JLANG::JSharedPointer< JObjectOutput< JTail_t > >, JLANG::JSharedPointer< JObjectOutput< T > >, JLANG::JSharedPointer< JParserElementInterface >, JLANG::JSharedPointer< JPropertiesElementInterface >, JLANG::JSharedPointer< JRadiation >, JLANG::JSharedPointer< JRewindableObjectIterator< const event_type > >, JLANG::JSharedPointer< JRewindableObjectIterator< JHead_t > >, JLANG::JSharedPointer< JRewindableObjectIterator< JTail_t > >, JLANG::JSharedPointer< JRewindableObjectIterator< T > >, JLANG::JSharedPointer< JTOOLS::JMultiMapTransformer >, JLANG::JSharedPointer< JTRIGGER::JDAQHitSelector >, JLANG::JSharedPointer< JTRIGGER::JMatch >, and JLANG::JSharedPointer< match_type >.

Definition at line 75 of file JPointer.hh.

76 {
77 this->__p = p;
78 }

◆ set() [2/2]

template<class JClass_t >
template<class T >
void JLANG::JPointer< JClass_t >::set ( const JPointer< T > & pointer)
inlineinherited

Set pointer.

Parameters
pointerpointer to object

Definition at line 96 of file JPointer.hh.

97 {
98 this->set(pointer.get());
99 }

◆ reset() [1/3]

template<class JClass_t >
virtual void JLANG::JPointer< JClass_t >::reset ( )
inlineoverridevirtualinherited

Reset pointer.

Implements JLANG::JAbstractPointer< JClass_t >.

Reimplemented in JLANG::JSharedPointer< JClass_t, JMemory_t >, JLANG::JSharedPointer< JAbstractAutoPointer< JBase_t > >, JLANG::JSharedPointer< JAccessibleObjectIterator< Evt > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JDAQSummaryslice > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JHead_t > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JTail_t > >, JLANG::JSharedPointer< JAccessibleObjectIterator< JTypeList< JDAQEvent, JNullType > > >, JLANG::JSharedPointer< JAccessibleObjectIterator< KM3NETDAQ::JDAQEvent > >, JLANG::JSharedPointer< JAccessibleObjectIterator< T > >, JLANG::JSharedPointer< JAccessibleObjectOutput< T > >, JLANG::JSharedPointer< JBase_t >, JLANG::JSharedPointer< JFIT::JMEstimator >, JLANG::JSharedPointer< JLOGGER::JLogger >, JLANG::JSharedPointer< JNET::JControlHost >, JLANG::JSharedPointer< JObjectIterator< T > >, JLANG::JSharedPointer< JObjectOutput< JHead_t > >, JLANG::JSharedPointer< JObjectOutput< JTail_t > >, JLANG::JSharedPointer< JObjectOutput< T > >, JLANG::JSharedPointer< JParserElementInterface >, JLANG::JSharedPointer< JPropertiesElementInterface >, JLANG::JSharedPointer< JRadiation >, JLANG::JSharedPointer< JRewindableObjectIterator< const event_type > >, JLANG::JSharedPointer< JRewindableObjectIterator< JHead_t > >, JLANG::JSharedPointer< JRewindableObjectIterator< JTail_t > >, JLANG::JSharedPointer< JRewindableObjectIterator< T > >, JLANG::JSharedPointer< JTOOLS::JMultiMapTransformer >, JLANG::JSharedPointer< JTRIGGER::JDAQHitSelector >, JLANG::JSharedPointer< JTRIGGER::JMatch >, JLANG::JSharedPointer< match_type >, JLANG::JStorage< JClass_t, JMemory_t >, JLANG::JStorage< JAbstractAutoPointer< JBase_t >, JNew >, JLANG::JStorage< JAccessibleObjectIterator< Evt >, JNew >, JLANG::JStorage< JAccessibleObjectIterator< JDAQSummaryslice >, JNew >, JLANG::JStorage< JAccessibleObjectIterator< JHead_t >, JNew >, JLANG::JStorage< JAccessibleObjectIterator< JTail_t >, JNew >, JLANG::JStorage< JAccessibleObjectIterator< JTypeList< JDAQEvent, JNullType > >, JNew >, JLANG::JStorage< JAccessibleObjectIterator< KM3NETDAQ::JDAQEvent >, JNew >, JLANG::JStorage< JAccessibleObjectIterator< T >, JNew >, JLANG::JStorage< JAccessibleObjectOutput< T >, JNew >, JLANG::JStorage< JBase_t, JNew >, JLANG::JStorage< JClass_t, JNew >, JLANG::JStorage< JDETECTOR::JCLBDefaultSimulatorInterface::JStateMachine, JNew >, JLANG::JStorage< JDETECTOR::JCLBDefaultSimulatorInterface::JTDC, JNew >, JLANG::JStorage< JDETECTOR::JCLBSimulator, JNew >, JLANG::JStorage< JDETECTOR::JK40Simulator, JNew >, JLANG::JStorage< JDETECTOR::JModuleRouter, JNew >, JLANG::JStorage< JDETECTOR::JPMTSimulator, JNew >, JLANG::JStorage< JFIT::JMEstimator, JNew >, JLANG::JStorage< JIO::JReader, JNew >, JLANG::JStorage< JIO::JWriter, JNew >, JLANG::JStorage< JLANG::JMultiPipe< T, N >, JNew >, JLANG::JStorage< JLOGGER::JLogger, JNew >, JLANG::JStorage< JNET::JControlHost, JNew >, JLANG::JStorage< JNET::JControlHostObjectOutput, JNew >, JLANG::JStorage< JNET::JServerSocket, JNew >, JLANG::JStorage< JObjectIterator< T >, JNew >, JLANG::JStorage< JObjectOutput< JHead_t >, JNew >, JLANG::JStorage< JObjectOutput< JTail_t >, JNew >, JLANG::JStorage< JObjectOutput< T >, JNew >, JLANG::JStorage< JParserElementInterface, JNew >, JLANG::JStorage< JPropertiesElementInterface, JNew >, JLANG::JStorage< JRadiation, JNew >, JLANG::JStorage< JRewindableObjectIterator< const event_type >, JNew >, JLANG::JStorage< JRewindableObjectIterator< JHead_t >, JNew >, JLANG::JStorage< JRewindableObjectIterator< JTail_t >, JNew >, JLANG::JStorage< JRewindableObjectIterator< T >, JNew >, JLANG::JStorage< JTOOLS::JFunction1D, JNew >, JLANG::JStorage< JTOOLS::JMultiMapTransformer, JNew >, JLANG::JStorage< JTRIGGER::JBuildL1, JNew >, JLANG::JStorage< JTRIGGER::JBuildL2, JNew >, JLANG::JStorage< JTRIGGER::JDAQHitSelector, JNew >, JLANG::JStorage< JTRIGGER::JMatch, JNew >, JLANG::JStorage< JTRIGGER::JTimesliceRouter, JNew >, JLANG::JStorage< JTRIGGER::JTrigger3DMuon, JNew >, JLANG::JStorage< JTRIGGER::JTrigger3DShower, JNew >, JLANG::JStorage< JTRIGGER::JTriggerMXShower, JNew >, JLANG::JStorage< JTRIGGER::JTriggerNB, JNew >, JLANG::JStorage< match_type, JNew >, and JLANG::JStorage< TFile >.

Definition at line 84 of file JPointer.hh.

85 {
86 this->__p = NULL;
87 }

◆ reset() [2/3]

template<class JClass_t >
template<class T >
void JLANG::JPointer< JClass_t >::reset ( const JPointer< T > & pointer)
inlineinherited

Reset pointer.

Parameters
pointerpointer to object

Definition at line 108 of file JPointer.hh.

109 {
110 this->reset(pointer.get());
111 }
virtual void reset() override
Reset pointer.
Definition JPointer.hh:84

◆ reset() [3/3]

template<class JClass_t >
void JLANG::JAbstractPointer< JClass_t >::reset ( JClass_t * p)
inlineinherited

Reset pointer.

Parameters
ppointer to object

Definition at line 94 of file JAbstractPointer.hh.

95 {
96 if (this->get() != p) {
97
98 this->reset();
99
100 if (p != NULL) {
101 this->set(p);
102 }
103 }
104 }
virtual void set(JClass_t *p)=0
Set pointer.
virtual JClass_t * get() const =0
Get pointer.
virtual void reset()=0
Reset pointer.

◆ getReference() [1/2]

template<class JClass_t >
JClass_t *const & JLANG::JPointer< JClass_t >::getReference ( ) const
inlineinherited

Get rereference to internal pointer.

Returns
reference to internal pointer

Definition at line 119 of file JPointer.hh.

120 {
121 return __p;
122 }

◆ getReference() [2/2]

template<class JClass_t >
JClass_t *& JLANG::JPointer< JClass_t >::getReference ( )
inlineinherited

Get rereference to internal pointer.

Returns
reference to internal pointer

Definition at line 130 of file JPointer.hh.

131 {
132 return __p;
133 }

◆ equals()

template<class JClass_t >
virtual bool JLANG::JAbstractPointer< JClass_t >::equals ( const JAbstractPointer< JClass_t > & object) const
inlinevirtualinherited

Equals.

The equality is evaluated by comparison of the internal pointers.

Parameters
objectabstract pointer
Returns
true if equals; else false

Definition at line 50 of file JAbstractPointer.hh.

51 {
52 return this->get() == object.get();
53 }

◆ is_valid()

template<class JClass_t >
bool JLANG::JAbstractPointer< JClass_t >::is_valid ( ) const
inlineinherited

Check validity of pointer.

Returns
true if pointer not null; else false

Definition at line 83 of file JAbstractPointer.hh.

84 {
85 return this->get() != NULL;
86 }

◆ operator->()

template<class JClass_t >
JClass_t * JLANG::JAbstractPointer< JClass_t >::operator-> ( ) const
inlineinherited

Smart pointer operator.

Returns
pointer to object

Definition at line 112 of file JAbstractPointer.hh.

113 {
114 if (!is_valid())
115 THROW(JNullPointerException, "JAbstractPointer::operator->()");
116 else
117 return this->get();
118 }
bool is_valid() const
Check validity of pointer.

◆ operator JClass_t *()

template<class JClass_t >
JLANG::JAbstractPointer< JClass_t >::operator JClass_t * ( ) const
inlineinherited

Type conversion operator.

Returns
pointer to object

Definition at line 126 of file JAbstractPointer.hh.

127 {
128 return this->get();
129 }

Member Data Documentation

◆ router

router_type JTRIGGER::JTimesliceRouter::router
private

Definition at line 306 of file JTimesliceRouter.hh.

◆ table

std::vector<grid_type> JTRIGGER::JTimesliceRouter::table
private

Definition at line 307 of file JTimesliceRouter.hh.

◆ TMIN_NS

const JDAQHit::JTDC_t JTRIGGER::JTimesliceRouter_t::TMIN_NS
inherited

minimal TDC value

Definition at line 56 of file JTimesliceRouter.hh.

◆ TMAX_NS

const JDAQHit::JTDC_t JTRIGGER::JTimesliceRouter_t::TMAX_NS
inherited

maximal TDC value

Definition at line 57 of file JTimesliceRouter.hh.

◆ DAQHIT_MIN

const JDAQHit JTRIGGER::JTimesliceRouter_t::DAQHIT_MIN
inherited

begin hit marker

Definition at line 59 of file JTimesliceRouter.hh.

◆ DAQHIT_MAX

const JDAQHit JTRIGGER::JTimesliceRouter_t::DAQHIT_MAX
inherited

end hit marker

Definition at line 60 of file JTimesliceRouter.hh.

◆ numberOfBins

int JTRIGGER::JTimesliceRouter_t::numberOfBins
protectedinherited

Definition at line 63 of file JTimesliceRouter.hh.

◆ __p

template<class JClass_t >
JClass_t* JLANG::JPointer< JClass_t >::__p
protectedinherited

pointer to object

Definition at line 136 of file JPointer.hh.


The documentation for this struct was generated from the following file: