Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DEventSourceEVIO Class Reference

#include <DEventSourceEVIO.h>

+ Inheritance diagram for DEventSourceEVIO:

Public Member Functions

 DEventSourceEVIO (const char *source_name)
 
virtual ~DEventSourceEVIO ()
 
jerror_t GetEvent (JEvent &event)
 
void FreeEvent (JEvent &event)
 
jerror_t GetObjects (JEvent &event, JFactory_base *factory)
 
template<class T >
const vector< T > & GetVector (evioDOMNodeList *nodeList, string) const
 

Protected Member Functions

jerror_t Extract_DTrackTimeBased (evioDOMTree *evt, JFactory< DTrackTimeBased > *factory)
 

Protected Attributes

map< string, pair< int, int > > tagMap
 

Private Attributes

evioFileChannel * chan
 
DMagneticFieldMapbfield
 
DGeometrygeom
 
pthread_mutex_t rt_mutex
 
map< evioDOMTree *, vector
< DReferenceTrajectory * > > 
rt_by_event
 
list< DReferenceTrajectory * > rt_pool
 

Detailed Description

Definition at line 28 of file DEventSourceEVIO.h.

Constructor & Destructor Documentation

DEventSourceEVIO::DEventSourceEVIO ( const char *  source_name)

Definition at line 19 of file DEventSourceEVIO.cc.

References chan, e, rt_mutex, and tagMap.

DEventSourceEVIO::~DEventSourceEVIO ( )
virtual

Definition at line 62 of file DEventSourceEVIO.cc.

References chan, and e.

Member Function Documentation

void DEventSourceEVIO::FreeEvent ( JEvent &  event)

Definition at line 105 of file DEventSourceEVIO.cc.

References rt_by_event, rt_mutex, and rt_pool.

jerror_t DEventSourceEVIO::GetEvent ( JEvent &  event)

Definition at line 82 of file DEventSourceEVIO.cc.

References chan.

jerror_t DEventSourceEVIO::GetObjects ( JEvent &  event,
JFactory_base *  factory 
)

This gets called through the virtual method of the JEventSource base class. It creates the objects of the type on which factory is based. It uses the evioDOMTree object kept in the ref field of the JEvent object passed.

Definition at line 124 of file DEventSourceEVIO.cc.

References bfield, dapp, Extract_DTrackTimeBased(), geom, DApplication::GetBfield(), and DApplication::GetDGeometry().

template<class T >
const vector< T > & DEventSourceEVIO::GetVector ( evioDOMNodeList *  nodeList,
string  name 
) const

Attempt to get the pointer to a const vector of the specified type for the node matching the given name (as appearing in tagMap). If the pointer can't be obtained for any reason (e.g. name doesn't appear in tagMap or nodelist doesn't contain the tag/num correpsonding to name) then an exception is thrown.

Definition at line 60 of file DEventSourceEVIO.h.

References tagMap.

Member Data Documentation

DMagneticFieldMap* DEventSourceEVIO::bfield
private

Definition at line 48 of file DEventSourceEVIO.h.

Referenced by Extract_DTrackTimeBased(), and GetObjects().

evioFileChannel* DEventSourceEVIO::chan
private

Definition at line 46 of file DEventSourceEVIO.h.

Referenced by DEventSourceEVIO(), GetEvent(), and ~DEventSourceEVIO().

DGeometry* DEventSourceEVIO::geom
private

Definition at line 49 of file DEventSourceEVIO.h.

Referenced by Extract_DTrackTimeBased(), and GetObjects().

map<evioDOMTree*, vector<DReferenceTrajectory*> > DEventSourceEVIO::rt_by_event
private

Definition at line 52 of file DEventSourceEVIO.h.

Referenced by Extract_DTrackTimeBased(), and FreeEvent().

pthread_mutex_t DEventSourceEVIO::rt_mutex
private

Definition at line 51 of file DEventSourceEVIO.h.

Referenced by DEventSourceEVIO(), Extract_DTrackTimeBased(), and FreeEvent().

list<DReferenceTrajectory*> DEventSourceEVIO::rt_pool
private

Definition at line 53 of file DEventSourceEVIO.h.

Referenced by Extract_DTrackTimeBased(), and FreeEvent().

map<string, pair<int, int> > DEventSourceEVIO::tagMap
protected

Definition at line 41 of file DEventSourceEVIO.h.

Referenced by DEventSourceEVIO(), and Extract_DTrackTimeBased().


The documentation for this class was generated from the following files: