202 return gdataCollectionMap;
214 generated_particles = std::move(particles);
226 generated_tracked_particles = std::move(particles);
242 return generated_tracked_particles;
269 static auto create(
const std::shared_ptr<GOptions>& gopts) -> std::shared_ptr<GEventDataCollection> {
271 auto edc = std::make_shared<GEventDataCollection>(gopts, std::move(header));
276 edc->addDetectorDigitizedData(
"ctof", std::move(digi_data));
277 edc->addDetectorTrueInfoData(
"ctof", std::move(true_data));
284 std::unique_ptr<GEventHeader> gevent_header;
287 std::map<std::string, std::unique_ptr<GDataCollection>> gdataCollectionMap;
296 static std::atomic<int> globalEventDataCollectionCounter;
Per-sensitive-detector container that owns truth and digitized data objects.
static std::unique_ptr< GDigitizedData > create(const std::shared_ptr< GOptions > &gopts)
Creates deterministic example data for tests and examples.
Owns all detector-local data for one event.
auto getEventNumber() const -> int
Returns the event number stored in the owned header.
const GGeneratedParticleBank & getGeneratedParticles() const
Returns the full generated-particle bank.
void setGeneratedTrackedParticles(GGeneratedParticleBank particles)
Stores the Geant4-tracked generated-particle bank for this event.
static auto create(const std::shared_ptr< GOptions > &gopts) -> std::shared_ptr< GEventDataCollection >
Creates a minimal example event containing one detector entry and one hit pair.
GEventDataCollection(const std::shared_ptr< GOptions > &gopts, std::unique_ptr< GEventHeader > header)
Constructs an event data collection with an owned header.
void addDetectorTrueInfoData(const std::string &sdName, std::unique_ptr< GTrueInfoData > data)
Appends one truth object to the specified detector entry.
const GGeneratedParticleBank & getGeneratedTrackedParticles() const
Returns the Geant4-tracked generated-particle bank.
void addDetectorDigitizedData(const std::string &sdName, std::unique_ptr< GDigitizedData > data)
Appends one digitized object to the specified detector entry.
auto getDataCollectionMap() const -> const std::map< std::string, std::unique_ptr< GDataCollection > > &
Returns read-only access to the detector map for this event.
void setGeneratedParticles(GGeneratedParticleBank particles)
Stores the full generated-particle bank for this event.
auto getHeader() const -> const std::unique_ptr< GEventHeader > &
Returns read-only access to the owned event header.
static std::unique_ptr< GTrueInfoData > create(const std::shared_ptr< GOptions > &gopts)
Creates deterministic example data for tests and examples.
Defines the GDataCollection class, the per-detector container of truth and digitized hit data.
constexpr const char * GEVENTDATA_LOGGER
std::vector< GGeneratedParticleData > GGeneratedParticleBank
Event-local generated-particle bank.
GOptions defineOptions()
Defines the options subtree used by the digitized-data logger domain.
auto defineOptions() -> GOptions
Aggregates the option groups needed by event-level data containers.
GOptions defineOptions()
Defines the options subtree used by the true-data logger domain.
Serialization record for one generated particle in event output.
std::string name
Particle name when known, otherwise a source-format identifier.
double theta
Polar angle in GEMC internal angular units.
double vy
Vertex y coordinate in GEMC internal length units.
double p
Momentum magnitude in GEMC internal units.
double phi
Azimuthal angle in GEMC internal angular units.
double vx
Vertex x coordinate in GEMC internal length units.
int type
Generator source type. For Lund input, type == 1 means Geant4-propagated.
int multiplicity
Number of copies represented by this row.
double vz
Vertex z coordinate in GEMC internal length units.
int pid
PDG id or source particle id.