|
ATLAS Offline Software
|
Go to the documentation of this file.
28 #include "EventInfo/EventInfo.h"
31 #include "GaudiKernel/ISvcLocator.h"
32 #include "GaudiKernel/GenericAddress.h"
33 #include "GaudiKernel/StatusCode.h"
34 #include "GaudiKernel/MsgStream.h"
35 #include "GaudiKernel/IIncidentSvc.h"
36 #include "GaudiKernel/Incident.h"
66 const unsigned int &initRunNo,
const uint64_t &initEventNo,
68 const unsigned int &initLBNo,
const unsigned int &evPLB,
69 const unsigned int &initTimeStamp,
70 const unsigned int &timeStampInt);
76 return (
void*)m_pSelector;
94 m_eventNo = m_initEventNo;
95 m_runNo = m_initRunNo;
97 m_timeStamp = m_initTimeStamp;
105 m_firstEvent =
false;
107 m_eventNo = m_initEventNo;
108 m_runNo = m_initRunNo;
110 m_timeStamp = m_initTimeStamp;
119 if(m_eventNo>=m_eventsP) {
126 if (++m_LBTick >= m_eventsPLB) {
130 m_timeStamp += m_timeStampInt;
136 m_timeStamp -= m_timeStampInt;
137 if (--m_LBTick <=0) {
138 m_LBTick=m_eventsPLB;
160 m_pSelector(pSelector),
163 m_eventsP(2000000000),
178 const unsigned int &initRunNo,
181 const unsigned int &initLBNo,
182 const unsigned int &evPLB,
183 const unsigned int &initTimeStamp,
184 const unsigned int &timeStampInt):
185 m_pSelector(pSelector),
186 m_initRunNo(initRunNo), m_initEventNo(initEventNo), m_eventsP(evPR),
187 m_initLBNo(initLBNo), m_eventsPLB(evPLB),
188 m_initTimeStamp(initTimeStamp), m_timeStampInt(timeStampInt),
206 if ( riid == IEvtSelector::interfaceID() ) {
207 *ppvIf = (IEvtSelector*)
this;
209 return StatusCode::SUCCESS;
210 }
else if (riid == IEvtSelectorSeek::interfaceID() ) {
213 return StatusCode::SUCCESS;
215 return AthService::queryInterface( riid, ppvIf );
264 return StatusCode::SUCCESS;
268 ATH_MSG_INFO (
" Enter McEventSelector Initialization ");
269 return StatusCode::SUCCESS;
275 const bool createIf =
true;
276 IIncidentSvc* incSvc = 0;
277 if ( !service(
"IncidentSvc", incSvc, createIf).isSuccess() || 0 == incSvc ) {
279 return StatusCode::FAILURE;
281 Incident lastInputIncident(
name(),
"LastInput");
282 incSvc->fireIncident(lastInputIncident);
284 return StatusCode::SUCCESS;
298 sc = StatusCode::SUCCESS;
311 ATH_MSG_DEBUG (
"............. Next (" << jump <<
") .............");
314 for (
int i = 0;
i < jump; ++
i ) {
316 if ( !
status.isSuccess() ) {
320 return StatusCode::SUCCESS;
322 return StatusCode::FAILURE;
337 sc = StatusCode::SUCCESS;
352 for (
int i = 0;
i < jump; ++
i ) {
354 if ( !
status.isSuccess() ) {
358 return StatusCode::SUCCESS;
360 return StatusCode::FAILURE;
365 ATH_MSG_ERROR (
"............. Last Event Not Implemented .............");
366 return StatusCode::FAILURE;
380 sc = StatusCode::SUCCESS;
393 IOpaqueAddress*& addr)
const {
406 return StatusCode::FAILURE;
409 return StatusCode::SUCCESS;
417 return StatusCode::SUCCESS;
424 ATH_MSG_ERROR (
"............. resetCriteria Not Implemented .............");
425 return StatusCode::FAILURE;
432 ATH_MSG_DEBUG (
"............. seek(" << evtNum <<
") .............");
436 for (
int i=0;
i < evtNum; ++
i) {
440 return StatusCode::SUCCESS;
Gaudi::CheckedProperty< unsigned > m_runNo
const McEventSelector * m_pSelector
virtual int curEvent(const Context &refCtxt) const override
return the current event number.
Gaudi::CheckedProperty< unsigned long long > m_eventsPerRun
Gaudi::Property< bool > m_overrideLBNumber
virtual StatusCode stop() override
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
void setEventNumber(uint64_t eventNo)
virtual StatusCode rewind(Context &refCtxt) const override
virtual StatusCode seek(Context &refCtxt, int) const override
Seek to a given event number.
void setTimeStampInterval(unsigned int intvl)
Gaudi::Property< bool > m_overrideRunNumber
Flags to indicate override of run/event/time These are always true and are here for consistency with ...
uint64_t eventNumber() const
Gaudi::Property< bool > m_overrideTimeStamp
Gaudi::Property< unsigned > m_timeStampInterval
virtual StatusCode releaseContext(Context *&refCtxt) const override
int serialEventNumber() const
Gaudi::Property< bool > m_overrideEventNumber
void setTimeStamp(unsigned int time)
static const CLID & classID()
virtual StatusCode queryInterface(const InterfaceID &riid, void **ppvInterface) override
void setRunNumber(unsigned int runNo)
virtual StatusCode next(Context &refCtxt) const override
virtual StatusCode previous(Context &refCtxt) const override
unsigned int m_timeStampInt
::StatusCode StatusCode
StatusCode definition for legacy code.
unsigned int runNumber() const
unsigned int timeStamp() const
McEventSelector(const std::string &name, ISvcLocator *svcloc)
Service Constructor.
virtual StatusCode createAddress(const Context &refCtxt, IOpaqueAddress *&) const override
virtual int size(Context &refCtxt) const override
Return the size of the collection, or -1 if we can't get the size.
Gaudi::CheckedProperty< unsigned > m_initTimeStamp
unsigned int m_initTimeStamp
Gaudi::CheckedProperty< unsigned > m_eventsPerLB
virtual StatusCode initialize() override
unsigned int lumiBlock() const
void setEventsPerRun(uint64_t eventsP)
Gaudi::CheckedProperty< unsigned long long > m_firstEventNo
virtual void * identifier() const
virtual StatusCode last(Context &refContext) const override
def time(flags, cells_name, *args, **kw)
virtual StatusCode resetCriteria(const std::string &cr, Context &c) const override
void setCriteria(const std::string &crit)
virtual StatusCode createContext(Context *&refpCtxt) const override
McContext(const McEventSelector *pSelector)
Standard constructor.
virtual ~McContext()
Standard destructor.
Abstract interface for seeking for an event selector.
Gaudi::CheckedProperty< unsigned > m_firstLBNo