Jpp 19.3.0-rc.2
the software that should make you happy
Loading...
Searching...
No Matches
JSUPPORT::JTriggeredFileScanner< JTypelist_t, JFileScanner_t > Struct Template Reference

Auxiliary class to synchronously read DAQ events and Monte Carlo events (and optionally other events). More...

#include <JTriggeredFileScanner.hh>

Inheritance diagram for JSUPPORT::JTriggeredFileScanner< JTypelist_t, JFileScanner_t >:
JSUPPORT::JParallelFileScanner< JTypeList< JDAQEvent, JNullType >, JMultipleFileScanner > JSUPPORT::JMultipleFileScanner< JTypeList< JDAQEvent, JNullType > > JLANG::JRewindableObjectIterator< T > JLANG::JObjectIterator< T > JLANG::JRewindable< T >

Public Types

typedef JTypeList< JDAQEvent, JTypelist_t > typelist
 
typedef JParallelFileScanner< typelist, JFileScanner_t > parallel_filescannner_type
 
typedef JMultiPointer< JTypeList< Evt, typelist > > multi_pointer_type
 
typedef JMultipleFileScanner< JNullType >::input_type input_type
 
typedef JRewindableObjectIterator< JTypeList< JDAQEvent, JNullType > >::pointer_type pointer_type
 

Public Member Functions

 JTriggeredFileScanner ()
 Default constructor.
 
 JTriggeredFileScanner (const typename parallel_filescannner_type::input_type &input)
 Constructor.
 
 JTriggeredFileScanner (const typename parallel_filescannner_type::input_type &input, const JLimit &limit)
 Constructor.
 
virtual bool hasNext () override
 Check availability of next element.
 
virtual const multi_pointer_typenext () override
 Get next element.
 
const std::string & getFilename () const
 Get current file name.
 
counter_type getCounter () const
 Get counter.
 
virtual void rewind () override
 Rewind.
 
virtual skip_type skip (const skip_type ns) override
 Skip items.
 

Protected Attributes

JTreeScanner< Evtin
 
std::string file_name
 
JFileScanner< JTypeList< JDAQEvent, JNullType > > scanner
 
unsigned int index
 
counter_type counter
 

Private Attributes

multi_pointer_type ps
 

Detailed Description

template<class JTypelist_t = JNullType, template< class > class JFileScanner_t = JMultipleFileScanner>
struct JSUPPORT::JTriggeredFileScanner< JTypelist_t, JFileScanner_t >

Auxiliary class to synchronously read DAQ events and Monte Carlo events (and optionally other events).

It is assumed that the TTree corresponding to the template argument and the TTree with KM3NETDAQ::JDAQEvent can be read in parallel.

Definition at line 39 of file JTriggeredFileScanner.hh.

Member Typedef Documentation

◆ typelist

template<class JTypelist_t = JNullType, template< class > class JFileScanner_t = JMultipleFileScanner>
JTypeList<JDAQEvent, JTypelist_t> JSUPPORT::JTriggeredFileScanner< JTypelist_t, JFileScanner_t >::typelist

Definition at line 42 of file JTriggeredFileScanner.hh.

◆ parallel_filescannner_type

template<class JTypelist_t = JNullType, template< class > class JFileScanner_t = JMultipleFileScanner>
JParallelFileScanner<typelist, JFileScanner_t> JSUPPORT::JTriggeredFileScanner< JTypelist_t, JFileScanner_t >::parallel_filescannner_type

Definition at line 43 of file JTriggeredFileScanner.hh.

◆ multi_pointer_type

template<class JTypelist_t = JNullType, template< class > class JFileScanner_t = JMultipleFileScanner>
JMultiPointer< JTypeList<Evt, typelist> > JSUPPORT::JTriggeredFileScanner< JTypelist_t, JFileScanner_t >::multi_pointer_type

Definition at line 44 of file JTriggeredFileScanner.hh.

◆ input_type

◆ pointer_type

Constructor & Destructor Documentation

◆ JTriggeredFileScanner() [1/3]

template<class JTypelist_t = JNullType, template< class > class JFileScanner_t = JMultipleFileScanner>
JSUPPORT::JTriggeredFileScanner< JTypelist_t, JFileScanner_t >::JTriggeredFileScanner ( )
inline

Default constructor.

Definition at line 50 of file JTriggeredFileScanner.hh.

50 :
52 {}
JParallelFileScanner< typelist, JFileScanner_t > parallel_filescannner_type

◆ JTriggeredFileScanner() [2/3]

template<class JTypelist_t = JNullType, template< class > class JFileScanner_t = JMultipleFileScanner>
JSUPPORT::JTriggeredFileScanner< JTypelist_t, JFileScanner_t >::JTriggeredFileScanner ( const typename parallel_filescannner_type::input_type & input)
inline

Constructor.

Parameters
inputinput

Definition at line 60 of file JTriggeredFileScanner.hh.

61 {
62 this->configure(input, JLimit());
63 }
void configure(const T &value, const JAbstractCollection< JAbscissa_t > &bounds, JBool< false > option)
Configuration of value.
Auxiliary class for defining the range of iterations of objects.
Definition JLimit.hh:45

◆ JTriggeredFileScanner() [3/3]

template<class JTypelist_t = JNullType, template< class > class JFileScanner_t = JMultipleFileScanner>
JSUPPORT::JTriggeredFileScanner< JTypelist_t, JFileScanner_t >::JTriggeredFileScanner ( const typename parallel_filescannner_type::input_type & input,
const JLimit & limit )
inline

Constructor.

Parameters
inputinput
limitlimit

Definition at line 72 of file JTriggeredFileScanner.hh.

73 {
74 this->configure(input, limit);
75 }

Member Function Documentation

◆ hasNext()

template<class JTypelist_t = JNullType, template< class > class JFileScanner_t = JMultipleFileScanner>
virtual bool JSUPPORT::JTriggeredFileScanner< JTypelist_t, JFileScanner_t >::hasNext ( )
inlineoverridevirtual

Check availability of next element.

Returns
true if the iteration has more elements; else false

Reimplemented from JSUPPORT::JMultipleFileScanner< JTypeList< JDAQEvent, JNullType > >.

Definition at line 83 of file JTriggeredFileScanner.hh.

84 {
86
87 if (has_next && file_name != this->getFilename()) {
88
89 in.configure(this->getFilename());
90
91 file_name = this->getFilename();
92 }
93
94 return has_next;
95 }
virtual bool hasNext()=0
Check availability of next element.

◆ next()

template<class JTypelist_t = JNullType, template< class > class JFileScanner_t = JMultipleFileScanner>
virtual const multi_pointer_type & JSUPPORT::JTriggeredFileScanner< JTypelist_t, JFileScanner_t >::next ( )
inlineoverridevirtual

Get next element.

Returns
multi-pointer to elements

Reimplemented from JSUPPORT::JParallelFileScanner< JTypeList< JDAQEvent, JNullType >, JMultipleFileScanner >.

Definition at line 103 of file JTriggeredFileScanner.hh.

104 {
105 static multi_pointer_type ps;
106
108
109 JDAQEvent* tev = __p;
110 Evt* event = in.getEntry(tev->getCounter());
111
112 ps.reset(event, __p);
113
114 return ps;
115 }
virtual const multi_pointer_type & next() override
Get next element.
JTriggerCounter_t getCounter() const
Get trigger counter.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
Definition Evt.hh:21
void reset(const JMultiPointer< JClass_t > &pointer)
Reset multi-pointer.
JMultiPointer< JTypeList< Evt, typelist > > multi_pointer_type

◆ getFilename()

const std::string & JSUPPORT::JMultipleFileScanner< JTypeList< JDAQEvent, JNullType > >::getFilename ( ) const
inlineinherited

Get current file name.

Note that this method should only be called when method hasNext() returns true.

Returns
file name

Definition at line 371 of file JMultipleFileScanner.hh.

◆ getCounter()

counter_type JSUPPORT::JMultipleFileScanner< JTypeList< JDAQEvent, JNullType > >::getCounter ( ) const
inlineinherited

Get counter.

Returns
counter

Definition at line 382 of file JMultipleFileScanner.hh.

◆ rewind()

virtual void JSUPPORT::JMultipleFileScanner< JTypeList< JDAQEvent, JNullType > >::rewind ( )
inlineoverridevirtualinherited

Rewind.

Implements JLANG::JRewindable< T >.

Definition at line 391 of file JMultipleFileScanner.hh.

392 {
393 if (scanner.is_open()) {
394 scanner.close();
395 }
396
397 index = 0;
398 counter = 0;
399
400 scanner.reset();
401 }
virtual void reset() override
Reset pointer.
virtual void close() override
Close device.
virtual bool is_open() const override
Check is device is open.

◆ skip()

virtual skip_type JSUPPORT::JMultipleFileScanner< JTypeList< JDAQEvent, JNullType > >::skip ( const skip_type ns)
inlineoverridevirtualinherited

Skip items.

Parameters
nsnumber of items to skip
Returns
number of items skipped

Reimplemented from JLANG::JObjectIterator< T >.

Definition at line 471 of file JMultipleFileScanner.hh.

472 {
473 skip_type i = 0;
474
475 while (this->hasNext() && i != ns) {
476 i += scanner.skip(ns - i);
477 }
478
479 counter += i;
480
481 return i;
482 }
unsigned int skip_type
Type definition for number of objects to skip.
virtual skip_type skip(const skip_type ns) override
Skip items.

Member Data Documentation

◆ in

template<class JTypelist_t = JNullType, template< class > class JFileScanner_t = JMultipleFileScanner>
JTreeScanner<Evt> JSUPPORT::JTriggeredFileScanner< JTypelist_t, JFileScanner_t >::in
protected

Definition at line 118 of file JTriggeredFileScanner.hh.

◆ file_name

template<class JTypelist_t = JNullType, template< class > class JFileScanner_t = JMultipleFileScanner>
std::string JSUPPORT::JTriggeredFileScanner< JTypelist_t, JFileScanner_t >::file_name
protected

Definition at line 119 of file JTriggeredFileScanner.hh.

◆ ps

◆ scanner

◆ index

unsigned int JSUPPORT::JMultipleFileScanner< JTypeList< JDAQEvent, JNullType > >::index
protectedinherited

Definition at line 487 of file JMultipleFileScanner.hh.

◆ counter

Definition at line 488 of file JMultipleFileScanner.hh.


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