50 bool openConnection()
override;
57 bool closeConnectionImpl()
override;
65 bool startEventImpl([[maybe_unused]]
const std::shared_ptr<GEventDataCollection>& event_data)
override;
73 bool endEventImpl([[maybe_unused]]
const std::shared_ptr<GEventDataCollection>& event_data)
override;
81 bool publishEventHeaderImpl([[maybe_unused]]
const std::unique_ptr<GEventHeader>& gevent_header)
override;
90 bool publishEventTrueInfoDataImpl(
const std::string& detectorName,
91 const std::vector<const GTrueInfoData*>& trueInfoData)
override;
100 bool publishEventDigitizedDataImpl(
const std::string& detectorName,
101 const std::vector<const GDigitizedData*>& digitizedData)
override;
113 bool publishEventGeneratedParticlesImpl(
const std::string& bankName,
117 bool publishEventAncestorsImpl(
const GAncestorBank& ancestors)
override;
125 bool startRunImpl([[maybe_unused]]
const std::shared_ptr<GRunDataCollection>& run_data)
override;
133 bool endRunImpl([[maybe_unused]]
const std::shared_ptr<GRunDataCollection>& run_data)
override;
141 bool publishRunHeaderImpl([[maybe_unused]]
const std::unique_ptr<GRunHeader>& run_header)
override;
150 bool publishRunDigitizedDataImpl(
const std::string& detectorName,
151 const std::vector<const GDigitizedData*>& digitizedData)
override;
175 bool publishFrameHeaderImpl(
const GFrameHeader* gframeHeader)
override;
183 bool publishPayloadImpl(
const std::vector<GIntegralPayload*>* payload)
override;
186 const std::unique_ptr<GRootTree>& getOrInstantiateHeaderTree(
187 [[maybe_unused]]
const std::unique_ptr<GEventHeader>& event_header);
188 const std::unique_ptr<GRootTree>& getOrInstantiateHeaderTree(
189 [[maybe_unused]]
const std::unique_ptr<GRunHeader>& run_header);
190 const std::unique_ptr<GRootTree>& getOrInstantiateTrueInfoDataTree(
const std::string& treeName,
192 const std::unique_ptr<GRootTree>& getOrInstantiateDigitizedDataTree(
const std::string& treeName,
201 const std::unique_ptr<GRootTree>& getOrInstantiateGeneratedParticleTree(
const std::string& treeName,
203 const std::unique_ptr<GRootTree>& getOrInstantiateAncestorTree(
const GAncestorBank& ancestors);
206 std::unordered_map<std::string, std::unique_ptr<GRootTree>> gRootTrees;
209 std::unique_ptr<TFile> rootfile;