Jpp  16.0.2
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Types | Public Member Functions | Public Attributes | Protected Attributes | Private Attributes | List of all members
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_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 &timeslice, const int numberOfBins)
 Constructor. More...
 
void configure (const JDAQTimeslice &timeslice)
 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 JDAQSuperFramegetSuperFrame (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_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:

Definition at line 91 of file JTimesliceRouter.hh.

Member Typedef Documentation

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.

Definition at line 106 of file JTimesliceRouter.hh.

Constructor & Destructor Documentation

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.
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.
JTimesliceRouter_t(const int numberOfBins)
Constructor.

Member Function Documentation

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 
146  typedef std::vector<JDAQHit::JTDC_t> buffer_type;
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  }
virtual void clear() override
Clear.
Definition: JHashMap.hh:107
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:696
const JDAQHit DAQHIT_MAX
end hit marker
unsigned int JTDC_t
leading edge [ns]
Definition: JDAQHit.hh:39
JDAQTimeslice::const_iterator const_iterator
int getFrameIndex(const double t_ns)
Get frame index for a given time in ns.
Definition: JDAQClock.hh:251
double getFrameTime()
Get frame time duration.
Definition: JDAQClock.hh:162
void put(typename JClass< key_type >::argument_type key, typename JClass< mapped_type >::argument_type value)
Put pair-wise element (key,value) into collection.
double getTimeSinceRTS(const int frame_index)
Get time in ns since last RTS for a given frame index.
Definition: JDAQClock.hh:263
const JDAQHit DAQHIT_MIN
begin hit marker
collection_type::iterator iterator
const JDAQHit::JTDC_t TMAX_NS
maximal TDC value
Simple data structure for an abstract collection of equidistant abscissa values.
Definition: JGrid.hh:32
collection_type::reverse_iterator reverse_iterator
void copy(const Head &from, JHead &to)
Copy header from from to to.
Definition: JHead.cc:139
bool has(const T &value) const
Test whether given value is present.
virtual void set(JClass_t *p) override
Set pointer.
Definition: JPointer.hh:75
std::vector< grid_type > table
const JDAQHit::JTDC_t TMIN_NS
minimal TDC value
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:119
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  }
int getModuleID() const
Get module identifier.
bool has(const T &value) const
Test whether given value is present.
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.
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  const int first = grid.getIndex(timeRange.getLowerLimit());
297  const int second = grid.getIndex(timeRange.getUpperLimit());
298 
299  if (first < 0 || second >= grid.getSize()) {
300  THROW(JTriggerException, "Time range [ns] " << timeRange << " bounds " << grid.getXmin() << ' ' << grid.getXmax() << " indices " << first << ' ' << second);
301  }
302 
303  return frame.subset(grid.getY(first).lpos, grid.getY(second).rpos);
304  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:202
JTOOLS::JGridCollection< element_type > grid_type
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:696
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
const int getAddress(const JDAQModuleIdentifier &module) const
Get address of module.
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:213
Data frame of one optical module.
JDAQFrameSubset subset(const int i1, const int i2) const
Get subset of data.
Definition: JDAQFrame.hh:206
std::vector< grid_type > table
template<class JClass_t>
virtual JClass_t* JLANG::JPointer< JClass_t >::get ( ) const
inlineoverridevirtualinherited
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< JPHYSICS::JRadiation >, 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< 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< JEvtWeightFactor >, JLANG::JSharedPointer< JNET::JControlHost >, and JLANG::JSharedPointer< JTOOLS::JMultiMapTransformer >.

Definition at line 75 of file JPointer.hh.

76  {
77  this->__p = p;
78  }
JClass_t * __p
pointer to object
Definition: JPointer.hh:136
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  }
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
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< JPHYSICS::JRadiation >, 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< 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< JEvtWeightFactor >, 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< 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< 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< JExceptionHandler, JNew >, JLANG::JStorage< TFile >, 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 >, JLANG::JStorage< JTriggerMXShower, JNew >, and JLANG::JStorage< JEvtWeightFactor, JNew >.

Definition at line 84 of file JPointer.hh.

85  {
86  this->__p = NULL;
87  }
JClass_t * __p
pointer to object
Definition: JPointer.hh:136
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 JClass_t * get() const override
Get pointer.
Definition: JPointer.hh:64
virtual void reset() override
Reset pointer.
Definition: JPointer.hh:84
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 reset()=0
Reset pointer.
virtual void set(JClass_t *p)=0
Set pointer.
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  }
JClass_t * __p
pointer to object
Definition: JPointer.hh:136
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  }
JClass_t * __p
pointer to object
Definition: JPointer.hh:136
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  }
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  }
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.
Exception for null pointer operation.
Definition: JException.hh:216
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_type JTRIGGER::JTimesliceRouter::router
private

Definition at line 307 of file JTimesliceRouter.hh.

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

Definition at line 308 of file JTimesliceRouter.hh.

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

minimal TDC value

Definition at line 56 of file JTimesliceRouter.hh.

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

maximal TDC value

Definition at line 57 of file JTimesliceRouter.hh.

const JDAQHit JTRIGGER::JTimesliceRouter_t::DAQHIT_MIN
inherited

begin hit marker

Definition at line 59 of file JTimesliceRouter.hh.

const JDAQHit JTRIGGER::JTimesliceRouter_t::DAQHIT_MAX
inherited

end hit marker

Definition at line 60 of file JTimesliceRouter.hh.

int JTRIGGER::JTimesliceRouter_t::numberOfBins
protectedinherited

Definition at line 63 of file JTimesliceRouter.hh.

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: