99 if (trueInfosData.empty()) {
100 trueInfosData.push_back(std::make_unique<GTrueInfoData>(*data));
103 for (
const auto& [varName, value] : data->getDoubleVariablesMap()) {
104 trueInfosData.front()->accumulateVariable(varName, value);
129 if (digitizedData.empty()) {
130 digitizedData.push_back(std::make_unique<GDigitizedData>(*data));
134 for (
const auto& [varName, value] : data->getIntObservablesMap(0)) {
135 digitizedData.front()->accumulateVariable(varName, value);
137 for (
const auto& [varName, value] : data->getDblObservablesMap(0)) {
138 digitizedData.front()->accumulateVariable(varName, value);
153 digitizedData.push_back(std::move(data));
166 trueInfosData.push_back(std::move(data));
180 return trueInfosData;
194 return digitizedData;
205 std::vector<std::unique_ptr<GTrueInfoData>> trueInfosData;
214 std::vector<std::unique_ptr<GDigitizedData>> digitizedData;
Per-sensitive-detector container that owns true and digitized hit data.
void addTrueInfoData(std::unique_ptr< GTrueInfoData > data)
Add one true-hit entry (event-level ownership transfer).
auto getDigitizedData() const -> const std::vector< std::unique_ptr< GDigitizedData > > &
Read-only access to stored digitized-hit data.
GDataCollection()=default
Constructs an empty data collection for a single sensitive detector.
~GDataCollection()=default
Destructor for GDataCollection.
void addDigitizedData(std::unique_ptr< GDigitizedData > data)
Add one digitized-hit entry (event-level ownership transfer).
void collectTrueInfosData(const std::unique_ptr< GTrueInfoData > &data)
Integrate ("collect") true-hit data into a run-level aggregate entry.
auto getTrueInfoData() const -> const std::vector< std::unique_ptr< GTrueInfoData > > &
Read-only access to stored true-hit data.
void collectDigitizedData(const std::unique_ptr< GDigitizedData > &data)
Integrate ("collect") digitized data into a run-level aggregate entry.
Container for digitized (electronics-level) observables for one hit.
Container for true (simulation-level) observables for one hit.
Container for "true" (simulation-level) observables associated with one hit.