43
44 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
45 from AthenaConfiguration.ComponentFactory import CompFactory
46
47 result = ComponentAccumulator()
48
49 actionAcc = ComponentAccumulator()
50 actions = []
51 actions += [actionAcc.popToolsAndMerge(MaterialStepRecorderCfg(configFlags,**kwargs))]
52 actionAcc.setPrivateTools(actions)
53 MaterialStepRecorderAction = result.popToolsAndMerge(actionAcc)
54
55 actionList = MaterialStepRecorderAction
56
57
58 kwargs_UATools = {}
59 kwargs_UATools.setdefault("UserActionTools",actionList)
60 result.addService(CompFactory.G4UA.UserActionSvc(name,**kwargs_UATools))
61
62 AthenaOutputStream=CompFactory.AthenaOutputStream
63 AthenaOutputStreamTool=CompFactory.AthenaOutputStreamTool
65
67 WritingTool = writingTool,
68 ItemList=['EventInfo#*', 'Trk::MaterialStepCollection#*'],
69 MetadataItemList = [ "EventStreamInfo#MaterialStepCollectionStream", "IOVMetaDataContainer#*" ],
70 OutputFile = "MaterialStepCollection.root")
71
72 StoreGateSvc=CompFactory.StoreGateSvc
74 outputStream.MetadataStore = result.getService("MetaDataStore")
75
76 MakeEventStreamInfo=CompFactory.MakeEventStreamInfo
78 streamInfoTool.Key = "MaterialStepCollectionStream"
79 streamInfoTool.EventInfoKey = "EventInfo"
80 outputStream.HelperTools.append(streamInfoTool)
81
82 result.addEventAlgo(outputStream)
83
84 return result
85
algorithm that marks for write data objects in SG
This class provides an algorithm to make the EventStreamInfo object and update it.
The Athena Transient Store API.