|
Gaudi Framework, version v21r11 |
| Home | Generated: 30 Sep 2010 |
#include <EventSelector.h>
Public Types | |
| typedef std::vector < EventSelectorDataStream * > | Streams |
| typedef std::vector< std::string > | StreamSpecs |
| typedef std::vector < StringProperty > | Properties |
Public Member Functions | |
| virtual StatusCode | initialize () |
| IService implementation: Db event selector override. | |
| virtual StatusCode | finalize () |
| IService implementation: Service finalization. | |
| virtual StatusCode | reinitialize () |
| Service override: Reinitialize service. | |
| virtual StatusCode | createContext (Context *&refpCtxt) const |
| Create a new event loop context. | |
| virtual StatusCode | next (Context &refCtxt) const |
| Get next iteration item from the event loop context. | |
| virtual StatusCode | next (Context &refCtxt, int jump) const |
| Get next iteration item from the event loop context, but skip jump elements. | |
| virtual StatusCode | previous (Context &refCtxt) const |
| Get previous iteration item from the event loop context. | |
| virtual StatusCode | previous (Context &refCtxt, int jump) const |
| Get previous iteration item from the event loop context, but skip jump elements. | |
| virtual StatusCode | rewind (Context &refCtxt) const |
| Rewind the dataset. | |
| virtual StatusCode | createAddress (const Context &refCtxt, IOpaqueAddress *&refpAddr) const |
| Create new Opaque address corresponding to the current record. | |
| virtual StatusCode | releaseContext (Context *&refCtxt) const |
| Release existing event iteration context. | |
| virtual StatusCode | resetCriteria (const std::string &cr, Context &c) const |
| Will set a new criteria for the selection of the next list of events and will change the state of the context in a way to point to the new list. | |
| virtual StatusCode | last (Context &c) const |
| Access last item in the iteration. | |
| StatusCode | firstOfNextStream (bool shutDown, EvtSelectorContext &it) const |
| Retrieve first entry of the next data stream. | |
| StatusCode | lastOfPreviousStream (bool shutDown, EvtSelectorContext &it) const |
| Retrieve last entry of the previous data stream. | |
| EventSelector (const std::string &name, ISvcLocator *svcloc) | |
| Standard Constructor. | |
| virtual | ~EventSelector () |
| Standard Destructor. | |
Public Attributes | |
| long int | m_streamID |
Protected Member Functions | |
| virtual void | printEvtInfo (const EvtSelectorContext *iter) const |
| Progress report. | |
Protected Attributes | |
| SmartIF< IIncidentSvc > | m_incidentSvc |
| Reference to the indicent service. | |
| SmartIF< IToolSvc > | m_toolSvc |
| IDataStreamTool * | m_streamtool |
| bool | m_reconfigure |
| Reconfigure occurred. | |
| StreamSpecs | m_streamSpecs |
| Input stream specifiers (for job options). | |
| StreamSpecs | m_streamSpecsLast |
| Input stream specifiers (last used). | |
| Streams | m_streams |
| Input streams. | |
| int | m_streamCount |
| Input stream counter (0..oo, monotonely increasing). | |
| int | m_firstEvent |
| First event to be processed. | |
| int | m_evtMax |
| Maximum number of events to be processed. | |
| int | m_evtPrintFrequency |
| Printout frequency. | |
| std::string | m_streamManager |
Basic event selector service. The event selector service itself is able to connect other services to attached streams.
History: +---------+----------------------------------------------+------------+ | Date | Comment | Who | +---------+----------------------------------------------+------------+ | 3/10/00 | Initial version | M.Frank | +---------+----------------------------------------------+------------+ | 4/09/09 | Added firing incident on opening/ending file | R. Lambert | +---------+----------------------------------------------+------------+
Definition at line 53 of file EventSelector.h.
Definition at line 55 of file EventSelector.h.
Definition at line 56 of file EventSelector.h.
Definition at line 57 of file EventSelector.h.
| EventSelector::EventSelector | ( | const std::string & | name, | |
| ISvcLocator * | svcloc | |||
| ) |
Standard Constructor.
Definition at line 27 of file EventSelector.cpp.
00028 : base_class( name, svcloc) 00029 { 00030 m_incidentSvc = 0; 00031 m_toolSvc = 0; 00032 m_streamCount = 0; 00033 m_firstEvent = 0; 00034 m_evtPrintFrequency = 10; 00035 m_evtMax = INT_MAX; 00036 declareProperty( "Input", m_streamSpecs); 00037 declareProperty( "FirstEvent", m_firstEvent); 00038 declareProperty( "EvtMax", m_evtMax); 00039 declareProperty( "PrintFreq", m_evtPrintFrequency); 00040 declareProperty( "StreamManager", m_streamManager="DataStreamTool"); 00041 m_reconfigure = false; 00042 }
| EventSelector::~EventSelector | ( | ) | [virtual] |
| void EventSelector::printEvtInfo | ( | const EvtSelectorContext * | iter | ) | const [protected, virtual] |
Progress report.
Definition at line 57 of file EventSelector.cpp.
00057 { 00058 if ( 0 != iter ) { 00059 long count = iter->numEvent(); 00060 // Print an message every m_evtPrintFrequency events 00061 if ( 0 == iter->context() ) { 00062 MsgStream log(msgSvc(), name()); 00063 log << MSG::INFO << "End of event input reached." << endmsg; 00064 } 00065 else if( iter->numStreamEvent() == -1 ) { 00066 // Intial value for this stream 00067 } 00068 else if( m_evtPrintFrequency != -1 && (count % m_evtPrintFrequency == 0)) { 00069 MsgStream log(msgSvc(), name()); 00070 log << MSG::ALWAYS << "Reading Event record " << count+1 00071 << ". Record number within stream " << iter->ID()+1 00072 << ": " << iter->numStreamEvent()+1 << endmsg; 00073 } 00074 } 00075 else { 00076 MsgStream log(msgSvc(), name()); 00077 log << MSG::INFO << "End of event input reached." << endmsg; 00078 } 00079 }
| StatusCode EventSelector::initialize | ( | ) | [virtual] |
IService implementation: Db event selector override.
Reimplemented from Service.
Definition at line 382 of file EventSelector.cpp.
00382 { 00383 // Initialize base class 00384 StatusCode status = Service::initialize(); 00385 MsgStream logger(msgSvc(), name()); 00386 if ( !status.isSuccess() ) { 00387 logger << MSG::ERROR << "Error initializing base class Service!" << endmsg; 00388 return status; 00389 } 00390 // Get the references to the services that are needed by the ApplicationMgr itself 00391 m_incidentSvc = serviceLocator()->service("IncidentSvc"); 00392 if( !m_incidentSvc.isValid() ) { 00393 logger << MSG::FATAL << "Error retrieving IncidentSvc." << endmsg; 00394 return StatusCode::FAILURE; 00395 } 00396 if ( m_evtMax != INT_MAX ) { 00397 logger << MSG::ERROR << "EvtMax is an obsolete property of the event selector." << endmsg; 00398 logger << MSG::ERROR << "Please set \"ApplicationMgr.EvtMax = " << m_evtMax 00399 << ";\" to process the requested number of events." << endmsg; 00400 return StatusCode::FAILURE; 00401 } 00402 00403 m_toolSvc = serviceLocator()->service("ToolSvc"); 00404 if ( !m_toolSvc.isValid() ) { 00405 logger << MSG::ERROR << " Could not locate the Tool Service! " << endmsg; 00406 return StatusCode::FAILURE; 00407 } 00408 00409 status = m_toolSvc->retrieveTool(m_streamManager.c_str(), m_streamtool, this); 00410 00411 if( status.isFailure() ) { 00412 logger << MSG::ERROR << "Error initializing " 00413 << m_streamManager << endmsg; 00414 return status; 00415 } 00416 00417 status = m_streamtool->clear(); 00418 if( status.isFailure() ) { 00419 // Message already printed by the tool 00420 return status; 00421 } 00422 00423 status = m_streamtool->addStreams(m_streamSpecs); 00424 00425 m_streamSpecsLast = m_streamSpecs; 00426 00427 m_streamID = 0; 00428 00429 return status; 00430 }
| StatusCode EventSelector::finalize | ( | ) | [virtual] |
IService implementation: Service finalization.
Reimplemented from Service.
Definition at line 452 of file EventSelector.cpp.
00452 { 00453 00454 MsgStream log(msgSvc(), name()); 00455 00456 log << MSG::DEBUG << "finalize()" << endmsg; 00457 00458 m_incidentSvc = 0; 00459 00460 if (m_streamtool) { 00461 if (m_toolSvc.isValid()) { 00462 m_toolSvc->releaseTool(m_streamtool).ignore(); 00463 } else { 00464 // It should not be possible to get here 00465 m_streamtool->release(); 00466 } 00467 m_streamtool = 0; 00468 } 00469 00470 m_toolSvc = 0; 00471 00472 return Service::finalize(); 00473 }
| StatusCode EventSelector::reinitialize | ( | ) | [virtual] |
Service override: Reinitialize service.
Reimplemented from Service.
Definition at line 433 of file EventSelector.cpp.
00433 { 00434 if ( FSMState() != Gaudi::StateMachine::INITIALIZED ) { 00435 MsgStream logger(msgSvc(), name()); 00436 logger << MSG::ERROR << "Cannot reinitialize: service not in state initialized" << endmsg; 00437 return StatusCode::FAILURE; 00438 } 00439 00440 if( m_streamSpecsLast != m_streamSpecs ) { 00441 StatusCode status = m_streamtool->clear(); 00442 if ( status.isFailure() ) return status; 00443 m_streamSpecsLast = m_streamSpecs; 00444 m_reconfigure = true; 00445 return m_streamtool->addStreams(m_streamSpecs); 00446 } 00447 00448 return StatusCode::SUCCESS; 00449 }
| StatusCode EventSelector::createContext | ( | Context *& | refpCtxt | ) | const [virtual] |
Create a new event loop context.
| refpCtxt | [IN/OUT] Reference to pointer to store the context |
Implements IEvtSelector.
Definition at line 194 of file EventSelector.cpp.
00195 { 00196 // Max event is zero. Return begin = end 00197 refpCtxt = 0; 00198 if ( m_firstEvent < 0 ) { 00199 MsgStream log(msgSvc(), name()); 00200 log << MSG::ERROR << "First Event = " << m_firstEvent << " not valid" << endmsg; 00201 log << MSG::ERROR << "It should be > 0 " << endmsg; 00202 return StatusCode::FAILURE; // if failure => iterators = end(); 00203 } 00204 EvtSelectorContext* ctxt = new EvtSelectorContext(this); 00205 ctxt->set(0, -1, 0, 0); 00206 firstOfNextStream(true, *ctxt).ignore(); 00207 refpCtxt = ctxt; 00208 long nskip = m_firstEvent; 00209 while( --nskip > 0 ) { 00210 StatusCode sc = next(*refpCtxt); 00211 if ( sc.isFailure() ) { 00212 MsgStream log(msgSvc(), name()); 00213 log << MSG::ERROR << " createContext() failed to start with event number " 00214 << m_firstEvent << endmsg; 00215 releaseContext(refpCtxt); 00216 refpCtxt = 0; 00217 return StatusCode::FAILURE; 00218 } 00219 } 00220 return StatusCode::SUCCESS; 00221 }
| StatusCode EventSelector::next | ( | Context & | refCtxt | ) | const [virtual] |
Get next iteration item from the event loop context.
| refCtxt | [IN/OUT] Reference to the context |
Implements IEvtSelector.
Definition at line 224 of file EventSelector.cpp.
00224 { 00225 return next(refCtxt, 1); 00226 }
| StatusCode EventSelector::next | ( | Context & | refCtxt, | |
| int | jump | |||
| ) | const [virtual] |
Get next iteration item from the event loop context, but skip jump elements.
| refCtxt | [IN/OUT] Reference to the context |
Implements IEvtSelector.
Definition at line 229 of file EventSelector.cpp.
00229 { 00230 EvtSelectorContext *pIt = dynamic_cast<EvtSelectorContext*>(&refCtxt); 00231 if ( pIt ) { 00232 if ( pIt->ID() != -1 ) { 00233 const EventSelectorDataStream* s = m_streamtool->getStream(pIt->ID()); 00234 Context* it = pIt->context(); 00235 IEvtSelector* sel = s->selector(); 00236 if ( it && sel ) { // First exploit the current stream 00237 StatusCode sc = sel->next(*it); // This stream is empty: advance to the next stream 00238 if ( !sc.isSuccess() ) { 00239 if(s!=NULL) m_incidentSvc->fireIncident(Incident(s->dbName(),IncidentType::EndInputFile)); 00240 sc = firstOfNextStream(true, *pIt); 00241 if (sc.isSuccess() ) sc = next(*pIt); 00242 } 00243 else { 00244 pIt->increaseCounters(false); 00245 pIt->set(it, 0); 00246 printEvtInfo(pIt); 00247 } 00248 return sc; 00249 } 00250 else if ( m_reconfigure ) { 00251 StatusCode sc = firstOfNextStream(false, *pIt); 00252 printEvtInfo(pIt); 00253 return sc; 00254 } 00255 } 00256 else if ( m_reconfigure ) { 00257 StatusCode sc = firstOfNextStream(false, *pIt); 00258 printEvtInfo(pIt); 00259 return sc; 00260 } 00261 pIt->increaseCounters(false); 00262 } 00263 printEvtInfo(pIt); 00264 return StatusCode::FAILURE; 00265 }
| StatusCode EventSelector::previous | ( | Context & | refCtxt | ) | const [virtual] |
Get previous iteration item from the event loop context.
| refCtxt | [IN/OUT] Reference to the context | |
| jump | [IN] Number of events to be skipped |
Implements IEvtSelector.
Definition at line 268 of file EventSelector.cpp.
00268 { 00269 return previous(refCtxt, 1); 00270 }
| StatusCode EventSelector::previous | ( | Context & | refCtxt, | |
| int | jump | |||
| ) | const [virtual] |
Get previous iteration item from the event loop context, but skip jump elements.
| refCtxt | [IN/OUT] Reference to the context | |
| jump | [IN] Number of events to be skipped |
Implements IEvtSelector.
Definition at line 273 of file EventSelector.cpp.
00273 { 00274 EvtSelectorContext *pIt = dynamic_cast<EvtSelectorContext*>(&refCtxt); 00275 if ( pIt && jump > 0 ) { 00276 StatusCode sc = StatusCode::SUCCESS; 00277 for ( int i = 0; i < jump && sc.isSuccess(); ++i ) { 00278 const EventSelectorDataStream* s = m_streamtool->getStream(pIt->ID()); 00279 Context* it = pIt->context(); 00280 IEvtSelector* sel = s->selector(); 00281 if ( it && sel ) { // First exploit the current stream 00282 // This stream is empty: advance to the next stream 00283 sc = sel->previous(*it); // This stream is empty: advance to the next stream 00284 if ( !sc.isSuccess() ) { 00285 sc = lastOfPreviousStream(true, *pIt); 00286 } 00287 else { 00288 pIt->increaseCounters(false); 00289 pIt->set(it, 0); 00290 } 00291 printEvtInfo(pIt); 00292 if ( !sc.isSuccess() ) { 00293 return sc; 00294 } 00295 } 00296 pIt->increaseCounters(false); 00297 } 00298 return sc; 00299 } 00300 printEvtInfo(pIt); 00301 return StatusCode::FAILURE; 00302 }
| StatusCode EventSelector::rewind | ( | Context & | refCtxt | ) | const [virtual] |
Rewind the dataset.
| refCtxt | [IN/OUT] Reference to the context |
Implements IEvtSelector.
Definition at line 313 of file EventSelector.cpp.
00313 { 00314 EvtSelectorContext *ctxt = dynamic_cast<EvtSelectorContext*>(&refCtxt); 00315 if ( ctxt ) { 00316 ctxt->set(0, -1, 0, 0); 00317 firstOfNextStream(true, *ctxt); 00318 long nskip = m_firstEvent; 00319 while( --nskip > 0 ) { 00320 StatusCode sc = next(*ctxt); 00321 if ( sc.isFailure() ) { 00322 MsgStream log(msgSvc(), name()); 00323 log << MSG::ERROR << "rewind() failed to start with event number " 00324 << m_firstEvent << endmsg; 00325 return StatusCode::FAILURE; 00326 } 00327 } 00328 return StatusCode::SUCCESS; 00329 } 00330 return StatusCode::FAILURE; 00331 }
| StatusCode EventSelector::createAddress | ( | const Context & | refCtxt, | |
| IOpaqueAddress *& | refpAddr | |||
| ) | const [virtual] |
Create new Opaque address corresponding to the current record.
| refCtxt | [IN/OUT] Reference to the context | |
| refpAddr | [OUT] Reference to address pointer |
Implements IEvtSelector.
Definition at line 335 of file EventSelector.cpp.
00337 { 00338 const EvtSelectorContext *cpIt = dynamic_cast<const EvtSelectorContext*>(&refCtxt); 00339 EvtSelectorContext *pIt = const_cast<EvtSelectorContext*>(cpIt); 00340 refpAddr = 0; 00341 if ( pIt ) { 00342 const EventSelectorDataStream* s = m_streamtool->getStream(pIt->ID()); 00343 Context* it = pIt->context(); 00344 IEvtSelector* sel = s->selector(); 00345 if ( it && sel ) { 00346 IOpaqueAddress* pAddr = 0; 00347 StatusCode sc = sel->createAddress(*it, pAddr); 00348 if ( sc.isSuccess() ) { 00349 refpAddr = pAddr; 00350 } 00351 pIt->set(it, pAddr); 00352 return sc; 00353 } 00354 } 00355 return StatusCode::FAILURE; 00356 }
| StatusCode EventSelector::releaseContext | ( | Context *& | refCtxt | ) | const [virtual] |
Release existing event iteration context.
| refCtxt | [IN/OUT] Reference to the context |
Implements IEvtSelector.
Definition at line 359 of file EventSelector.cpp.
00359 { 00360 const EvtSelectorContext *cpIt = dynamic_cast<const EvtSelectorContext*>(refCtxt); 00361 EvtSelectorContext *pIt = const_cast<EvtSelectorContext*>(cpIt); 00362 if ( pIt && pIt->ID() >= 0 && pIt->ID() < (long)m_streamtool->size() ) { 00363 const EventSelectorDataStream* s = m_streamtool->getStream(pIt->ID()); 00364 Context* it = pIt->context(); 00365 IEvtSelector* sel = s->selector(); 00366 if ( it && sel ) { 00367 StatusCode sc = sel->releaseContext(it); 00368 if ( sc.isSuccess() ) { 00369 refCtxt = 0; 00370 delete pIt; 00371 return sc; 00372 } 00373 } 00374 } 00375 if ( pIt ) { 00376 delete pIt; 00377 } 00378 return StatusCode::SUCCESS; 00379 }
| StatusCode EventSelector::resetCriteria | ( | const std::string & | cr, | |
| Context & | c | |||
| ) | const [virtual] |
Will set a new criteria for the selection of the next list of events and will change the state of the context in a way to point to the new list.
| cr | The new criteria string. | |
| c | Reference pointer to the Context object. |
Implements IEvtSelector.
Definition at line 50 of file EventSelector.cpp.
00052 { 00053 return StatusCode::FAILURE; 00054 }
| StatusCode EventSelector::last | ( | Context & | c | ) | const [virtual] |
Access last item in the iteration.
| c | Reference to the Context object. |
Implements IEvtSelector.
Definition at line 305 of file EventSelector.cpp.
00305 { 00306 EvtSelectorContext *pIt = dynamic_cast<EvtSelectorContext*>(&refCtxt); 00307 if ( pIt ) { 00308 } 00309 return StatusCode::FAILURE; 00310 }
| StatusCode EventSelector::firstOfNextStream | ( | bool | shutDown, | |
| EvtSelectorContext & | it | |||
| ) | const |
Retrieve first entry of the next data stream.
Definition at line 83 of file EventSelector.cpp.
00083 { 00084 StatusCode status = StatusCode::SUCCESS; 00085 IDataStreamTool::size_type iter_id = (m_reconfigure) ? 0 : iter.ID()+1; 00086 if ( m_reconfigure ) const_cast<EventSelector*>(this)->m_reconfigure = false; 00087 if ( shutDown ) { 00088 if ( iter.ID() >= 0 && iter.ID() < (long)m_streamtool->size() ) { 00089 const EventSelectorDataStream* s = m_streamtool->getStream(iter.ID()); 00090 if ( s->isInitialized() ) { 00091 EventSelector* thisPtr = const_cast<EventSelector*>(this); 00092 if ( s->selector() && iter.context() ) { 00093 Context* ctxt = iter.context(); 00094 s->selector()->releaseContext(ctxt).ignore(); 00095 iter.set(0,0); 00096 } 00097 status = thisPtr->m_streamtool->finalizeStream(const_cast<EventSelectorDataStream*>(s)); 00098 iter.set(0,0); 00099 } 00100 } 00101 } 00102 00103 const EventSelectorDataStream* s ; 00104 status = m_streamtool->getNextStream( s , iter_id ); 00105 00106 if ( status.isSuccess() ) { 00107 00108 if ( !s->isInitialized() ) { 00109 EventSelector* thisPtr = const_cast<EventSelector*>(this); 00110 status = thisPtr->m_streamtool->initializeStream(const_cast<EventSelectorDataStream*>(s)); 00111 } 00112 00113 if ( status.isSuccess() ) { 00114 const IEvtSelector* sel = s->selector(); 00115 if ( sel ) { 00116 Context* ctxt = 0; 00117 status = sel->createContext(ctxt); 00118 if ( status.isSuccess() ) { 00119 status = sel->resetCriteria(s->criteria(), *ctxt); 00120 if ( status.isSuccess() ) { 00121 MsgStream log(msgSvc(), name()); 00122 iter.set(this, iter_id, ctxt, 0); 00123 log << MSG::INFO << *s << endmsg; 00124 m_incidentSvc->fireIncident(Incident(s->dbName(),IncidentType::BeginInputFile)); 00125 return StatusCode::SUCCESS; 00126 } 00127 } 00128 } 00129 } 00130 if(s!=NULL) { 00131 m_incidentSvc->fireIncident(Incident(s->dbName(),IncidentType::FailInputFile)); 00132 } 00133 } 00134 00135 iter.set(this, -1, 0, 0); 00136 status.setChecked(); 00137 //m_incidentSvc->fireIncident(Incident(s->dbName(),IncidentType::FailInputFile)); 00138 return StatusCode::FAILURE; 00139 }
| StatusCode EventSelector::lastOfPreviousStream | ( | bool | shutDown, | |
| EvtSelectorContext & | it | |||
| ) | const |
Retrieve last entry of the previous data stream.
Definition at line 143 of file EventSelector.cpp.
00143 { 00144 StatusCode status = StatusCode::SUCCESS; 00145 if ( shutDown ) { 00146 if ( iter.ID() >= 0 && iter.ID() < (long)m_streamtool->size() ) { 00147 const EventSelectorDataStream* s = m_streamtool->getStream(iter.ID()); 00148 if ( s->isInitialized() ) { 00149 EventSelector* thisPtr = const_cast<EventSelector*>(this); 00150 if ( s->selector() && iter.context() ) { 00151 Context* ctxt = iter.context(); 00152 s->selector()->releaseContext(ctxt); 00153 iter.set(0,0); 00154 } 00155 status = thisPtr->m_streamtool->finalizeStream(const_cast<EventSelectorDataStream*>(s)); 00156 iter.set(0,0); 00157 } 00158 } 00159 } 00160 00161 IDataStreamTool::size_type iter_id = iter.ID()-1; 00162 const EventSelectorDataStream* s ; 00163 status = m_streamtool->getPreviousStream( s , iter_id ); 00164 00165 if ( status.isSuccess() ) { 00166 00167 if ( !s->isInitialized() ) { 00168 EventSelector* thisPtr = const_cast<EventSelector*>(this); 00169 status = thisPtr->m_streamtool->initializeStream(const_cast<EventSelectorDataStream*>(s)); 00170 } 00171 if ( status.isSuccess() ) { 00172 const IEvtSelector* sel = s->selector(); 00173 if ( sel ) { 00174 Context* ctxt = 0; 00175 status = sel->createContext(ctxt); 00176 if ( status.isSuccess() ) { 00177 status = sel->resetCriteria(s->criteria(), *ctxt); 00178 if ( status.isSuccess() ) { 00179 MsgStream log(msgSvc(), name()); 00180 iter.set(this, iter_id, ctxt, 0); 00181 log << MSG::INFO << *s << endmsg; 00182 return StatusCode::SUCCESS; 00183 } 00184 } 00185 } 00186 } 00187 } 00188 00189 iter.set(this, -1, 0, 0); 00190 return StatusCode::FAILURE; 00191 }
Definition at line 59 of file EventSelector.h.
SmartIF<IIncidentSvc> EventSelector::m_incidentSvc [protected] |
SmartIF<IToolSvc> EventSelector::m_toolSvc [protected] |
Definition at line 65 of file EventSelector.h.
IDataStreamTool* EventSelector::m_streamtool [protected] |
Definition at line 67 of file EventSelector.h.
bool EventSelector::m_reconfigure [protected] |
StreamSpecs EventSelector::m_streamSpecs [protected] |
StreamSpecs EventSelector::m_streamSpecsLast [protected] |
Streams EventSelector::m_streams [protected] |
int EventSelector::m_streamCount [protected] |
int EventSelector::m_firstEvent [protected] |
int EventSelector::m_evtMax [protected] |
int EventSelector::m_evtPrintFrequency [protected] |
std::string EventSelector::m_streamManager [protected] |
Definition at line 86 of file EventSelector.h.