ATLAS Offline Software
IParticleWriterConfig.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef IPARTICLE_WRITER_CONFIG_H
5 #define IPARTICLE_WRITER_CONFIG_H
6 
7 #include "Primitive.h"
8 
9 #include <string>
10 #include <vector>
11 
13 {
14  // name of ElementLink to primative, empty means the primative is on
15  // our IParticle
16  std::string link_name;
18 };
19 
21 {
22  // name of the dataset to write
23  std::string name;
24 
25  // array format: store awkward arrays, zero padded 2d arrays, or
26  // just a flat array of particles.
27  enum class ArrayFormat {AWKWARD, FLAT, PADDED};
29 
30  // maximum size of 2d array to write, in other words the maximum
31  // particles per event
32  //
33  // NOTE: a special value of zero saves an awkward array
34  // representation (one dataset of raw jets, another specifying the
35  // offsets)
36  unsigned long long maximum_size = 0;
37 
38  std::vector<AssociatedPrimitive> inputs;
39 };
40 
41 #endif
IParticleWriterConfig::ArrayFormat::PADDED
@ PADDED
IParticleWriterConfig::ArrayFormat::FLAT
@ FLAT
IParticleWriterConfig::ArrayFormat
ArrayFormat
Definition: IParticleWriterConfig.h:27
IParticleWriterConfig::ArrayFormat::AWKWARD
@ AWKWARD
IParticleWriterConfig::inputs
std::vector< AssociatedPrimitive > inputs
Definition: IParticleWriterConfig.h:38
Primitive
Definition: Primitive.h:10
AssociatedPrimitive::input
Primitive input
Definition: IParticleWriterConfig.h:17
AssociatedPrimitive::link_name
std::string link_name
Definition: IParticleWriterConfig.h:16
Primitive.h
IParticleWriterConfig
Definition: IParticleWriterConfig.h:21
IParticleWriterConfig::maximum_size
unsigned long long maximum_size
Definition: IParticleWriterConfig.h:36
IParticleWriterConfig::format
ArrayFormat format
Definition: IParticleWriterConfig.h:28
IParticleWriterConfig::name
std::string name
Definition: IParticleWriterConfig.h:23
AssociatedPrimitive
Definition: IParticleWriterConfig.h:13