ATLAS Offline Software
Loading...
Searching...
No Matches
McEventSelector.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5//====================================================================
6// McEventSelector.h
7//--------------------------------------------------------------------
8//
9// Package : McEventSelector
10//
11// Description: The McEventSelector component is able
12// to produce a list of event references given a set of "selection
13// criteria".
14//
15// Author : P. Calafiura
16// Created : 2/28/00
17// Changes :
18//
19//
20//====================================================================
21
22#ifndef MCEVENTSELECTOR_MCEVENTSELECTOR_H
23#define MCEVENTSELECTOR_MCEVENTSELECTOR_H 1
24
25// Include files
26#include "GaudiKernel/IEvtSelector.h"
28#include "Gaudi/Property.h" /*no forward decl: typedef*/
29
32
33#include <cstdint>
34
35// Forward declarations
36class EventSource;
37class ISvcLocator;
38class McContext;
39
40//--------------------------------------------------------------------
41// Event Selector (for single-threaded/serial athena)
42//--------------------------------------------------------------------
43
44class ATLAS_NOT_THREAD_SAFE McEventSelector : public extends<AthService,
45 IEvtSelector,
46 IEvtSelectorSeek> {
47public:
48
49 virtual StatusCode initialize() override;
50 virtual StatusCode stop() override;
51 virtual StatusCode createContext(Context*& refpCtxt) const override;
52
53 virtual StatusCode last(Context& refContext) const override;
54 virtual StatusCode next(Context& refCtxt) const override;
55 virtual StatusCode next(Context& refCtxt,int jump) const override;
56 virtual StatusCode previous(Context& refCtxt) const override;
57 virtual StatusCode previous(Context& refCtxt,int jump) const override;
58 virtual StatusCode rewind(Context& refCtxt) const override;
59
60 virtual StatusCode createAddress(const Context& refCtxt,
61 IOpaqueAddress*&) const override;
62 virtual StatusCode releaseContext(Context*& refCtxt) const override;
63 virtual StatusCode resetCriteria(const std::string& cr,Context& c)const override;
64
65 virtual StatusCode seek(Context& refCtxt, int) const override;
66 virtual int curEvent (const Context& refCtxt) const override;
67 virtual int size (Context& refCtxt) const override;
68
70 McEventSelector( const std::string& name, ISvcLocator* svcloc );
71
73
74private:
75 // EventSource* p_eventSource;
76 Gaudi::CheckedProperty<uint32_t> m_runNo;
77 Gaudi::CheckedProperty<uint64_t> m_firstEventNo;
78 Gaudi::CheckedProperty<uint64_t> m_eventsPerRun;
79 Gaudi::CheckedProperty<uint32_t> m_firstLBNo;
80 Gaudi::CheckedProperty<uint32_t> m_eventsPerLB;
81 Gaudi::CheckedProperty<uint32_t> m_initTimeStamp;
82 Gaudi::Property<uint32_t> m_timeStampInterval;
83
88 Gaudi::Property<bool> m_overrideRunNumber;
89 Gaudi::Property<bool> m_overrideEventNumber;
90 Gaudi::Property<bool> m_overrideLBNumber;
91 Gaudi::Property<bool> m_overrideTimeStamp;
92
93 mutable McContext *m_ctx;
94
95};
96
97#endif // MCEVENTCNV_MCEVENTSELECTOR_H
98
99
100
101
Extension to IEvtSelector to allow for seeking.
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Gaudi::CheckedProperty< uint32_t > m_runNo
McContext * m_ctx
virtual StatusCode next(Context &refCtxt) const override
Gaudi::CheckedProperty< uint64_t > m_eventsPerRun
virtual StatusCode rewind(Context &refCtxt) const override
virtual StatusCode last(Context &refContext) const override
virtual StatusCode resetCriteria(const std::string &cr, Context &c) const override
virtual StatusCode seek(Context &refCtxt, int) const override
Gaudi::Property< bool > m_overrideEventNumber
virtual int size(Context &refCtxt) const override
Gaudi::Property< uint32_t > m_timeStampInterval
Gaudi::CheckedProperty< uint32_t > m_initTimeStamp
Gaudi::CheckedProperty< uint32_t > m_firstLBNo
Gaudi::Property< bool > m_overrideTimeStamp
McEventSelector(const std::string &name, ISvcLocator *svcloc)
Service Constructor.
virtual StatusCode stop() override
Gaudi::Property< bool > m_overrideRunNumber
Flags to indicate override of run/event/time These are always true and are here for consistency with ...
virtual StatusCode createAddress(const Context &refCtxt, IOpaqueAddress *&) const override
virtual StatusCode createContext(Context *&refpCtxt) const override
Gaudi::CheckedProperty< uint32_t > m_eventsPerLB
virtual int curEvent(const Context &refCtxt) const override
Gaudi::Property< bool > m_overrideLBNumber
Gaudi::CheckedProperty< uint64_t > m_firstEventNo
virtual StatusCode releaseContext(Context *&refCtxt) const override
virtual StatusCode previous(Context &refCtxt) const override
void initialize()