39
40 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
41 from AthenaConfiguration.ComponentFactory import CompFactory
42
43 result = ComponentAccumulator()
44
45 actionAcc = ComponentAccumulator()
46 actions = []
47 actions += [actionAcc.popToolsAndMerge(MaterialStepRecorderCfg(configFlags,**kwargs))]
48 actionAcc.setPrivateTools(actions)
49 MaterialStepRecorderAction = result.popToolsAndMerge(actionAcc)
50
51 actionList = MaterialStepRecorderAction
52
53
54 kwargs_UATools = {}
55 kwargs_UATools.setdefault("UserActionTools",actionList)
56 result.addService(CompFactory.G4UA.UserActionSvc(name,**kwargs_UATools))
57
58 AthenaOutputStream=CompFactory.AthenaOutputStream
59 AthenaOutputStreamTool=CompFactory.AthenaOutputStreamTool
61
63 WritingTool = writingTool,
64 ItemList=['EventInfo#*', 'Trk::MaterialStepCollection#*'],
65 MetadataItemList = [ "EventStreamInfo#MaterialStepCollectionStream", "IOVMetaDataContainer#*" ],
66 OutputFile = "MaterialStepCollection.root")
67
68 StoreGateSvc=CompFactory.StoreGateSvc
70 outputStream.MetadataStore = result.getService("MetaDataStore")
71
72 MakeEventStreamInfo=CompFactory.MakeEventStreamInfo
74 streamInfoTool.Key = "MaterialStepCollectionStream"
75 streamInfoTool.EventInfoKey = "EventInfo"
76 outputStream.HelperTools.append(streamInfoTool)
77
78 result.addEventAlgo(outputStream)
79
80 return result
81
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.