8 #ifndef _DEventSourceEVIO_
9 #define _DEventSourceEVIO_
11 #include <JANA/jerror.h>
12 #include <JANA/JEventSource.h>
13 #include <JANA/JEvent.h>
19 #include <evioUtil.hxx>
20 #include <evioFileChannel.hxx>
33 jerror_t GetEvent(JEvent &event);
34 void FreeEvent(JEvent &event);
35 jerror_t GetObjects(JEvent &event, JFactory_base *factory);
37 template<
class T>
const vector<T>& GetVector(evioDOMNodeList* nodeList,
string)
const;
43 jerror_t Extract_DTrackTimeBased(evioDOMTree *evt, JFactory<DTrackTimeBased> *factory);
52 map<evioDOMTree*, vector<DReferenceTrajectory*> >
rt_by_event;
68 map<string, pair<int, int> >::const_iterator iter =
tagMap.find(name);
69 if(iter==
tagMap.end())
throw JException(
string(
"can't find \"")+name+
"\" in nodeList");
72 evioDOMNodeList::const_iterator iter2;
73 for(iter2=nodeList->begin(); iter2!=nodeList->end(); iter2++) {
74 evioDOMNode *node = *iter2;
75 if(*node == iter->second){
76 return *(node->getVector<T>());
81 throw JException(
string(
"can't find with tag/num corresponding to \"")+name+
"\" in nodeList");
84 const vector<T> *tmp = NULL;
88 #endif // _DEventSourceEVIO_
const vector< T > & GetVector(evioDOMNodeList *nodeList, string) const
DMagneticFieldMap * bfield
map< evioDOMTree *, vector< DReferenceTrajectory * > > rt_by_event
list< DReferenceTrajectory * > rt_pool
static map< string, pair< uint16_t, uint8_t > > tagMap
map< string, pair< int, int > > tagMap