Jpp  17.0.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Attributes | List of all members
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, JTypelist_t >, JFileScanner_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 JFileScanner_t
< JNullType >::input_type 
input_type
 

Public Member Functions

 JTriggeredFileScanner ()
 Default constructor. More...
 
 JTriggeredFileScanner (const typename parallel_filescannner_type::input_type &input)
 Constructor. More...
 
 JTriggeredFileScanner (const typename parallel_filescannner_type::input_type &input, const JLimit &limit)
 Constructor. More...
 
virtual bool hasNext () override
 Check availability of next element. More...
 
virtual const multi_pointer_typenext () override
 Get next element. More...
 

Protected Attributes

JTreeScanner< Evtin
 
std::string file_name
 

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

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

Definition at line 42 of file JTriggeredFileScanner.hh.

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

Definition at line 43 of file JTriggeredFileScanner.hh.

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

Definition at line 44 of file JTriggeredFileScanner.hh.

typedef JFileScanner_t<JNullType>::input_type JSUPPORT::JParallelFileScanner< JTypeList< JDAQEvent, JTypelist_t > , JFileScanner_t >::input_type
inherited

Definition at line 38 of file JParallelFileScanner.hh.

Constructor & Destructor Documentation

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
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  }
Auxiliary class for defining the range of iterations of objects.
Definition: JLimit.hh:41
void configure(const T &value, const JAbstractCollection< JAbscissa_t > &bounds, JBool< false > option)
Configuration of value.
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  }
void configure(const T &value, const JAbstractCollection< JAbscissa_t > &bounds, JBool< false > option)
Configuration of value.

Member Function Documentation

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

Definition at line 83 of file JTriggeredFileScanner.hh.

84  {
85  bool has_next = parallel_filescannner_type::hasNext();
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  }
std::string getFilename(const std::string &file_name)
Get file name part, i.e. part after last JEEP::PATHNAME_SEPARATOR if any.
Definition: JeepToolkit.hh:128
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, JTypelist_t >, JFileScanner_t >.

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  }
JMultiPointer< JTypeList< Evt, typelist > > multi_pointer_type
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:19

Member Data Documentation

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.

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.


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