ATLAS Offline Software
Loading...
Searching...
No Matches
EmonByteStreamConfig.py
Go to the documentation of this file.
2# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3#
4
5# NB: This file is similar and has a corresponding role to ByteStreamCnvSvc.ByteStreamConfig
6# and TrigByteStreamCnvSvc.TrigByteStreamConfig
7
8from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
9from AthenaConfiguration.ComponentFactory import CompFactory
10from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
11
12def EmonByteStreamCfg(flags, type_names=[]):
13 acc = ComponentAccumulator()
14
15 bytestream_conversion = CompFactory.ByteStreamCnvSvc()
16 acc.addService(bytestream_conversion, primary=True)
17
18 bytestream_input = CompFactory.ByteStreamEmonInputSvc("ByteStreamInputSvc")
19 acc.addService(bytestream_input)
20
21 event_selector = CompFactory.EventSelectorByteStream(
22 name='EventSelector',
23 ByteStreamInputSvc=bytestream_input.name,
24 FileBased=False)
25 acc.addService(event_selector)
26 acc.setAppProperty("EvtSel", event_selector.name)
27
28 event_persistency = CompFactory.EvtPersistencySvc(
29 name="EventPersistencySvc",
30 CnvServices=[bytestream_conversion.name])
31 acc.addService(event_persistency)
32
33 address_provider = CompFactory.ByteStreamAddressProviderSvc(
34 TypeNames=type_names)
35 acc.addService(address_provider)
36
37 proxy = CompFactory.ProxyProviderSvc()
38 proxy.ProviderNames += [address_provider.name]
39 acc.addService(proxy)
40
41 acc.merge(SGInputLoaderCfg(flags, address_provider.TypeNames))
42
43 return acc
EmonByteStreamCfg(flags, type_names=[])