|
group_particles
|
Templates to construct types that tell the code which data fields are to to be read from the group and particle files. More...
Go to the source code of this file.
Classes | |
| class | FieldCollection< field_type_, Fields > |
| Template to define a "bundle" of fields. More... | |
| struct | AllFields< GroupFields_, ParticleFields_ > |
| Convenience type that bundles the group and particle fields. More... | |
Macros | |
| #define | FIELD(name_, dim_, value_type_, type_, coord_) |
| Macro to define a new field type. | |
Typedefs | |
| using | coord_t = float |
| Internal coordinate type. | |
| template<typename... Fields> | |
| using | GrpFields = FieldCollection< FieldTypes::GrpFld, Fields... > |
| Specialization of the FieldCollection to group fields. | |
| template<typename... Fields> | |
| using | PrtFields = FieldCollection< FieldTypes::PrtFld, Fields... > |
| Specialization of the FieldCollection to particle fields. | |
Enumerations | |
| enum class | FieldTypes { GrpFld , PrtFld } |
| Fields fall into two categories, group and particle fields. More... | |
Templates to construct types that tell the code which data fields are to to be read from the group and particle files.
| #define FIELD | ( | name_, | |
| dim_, | |||
| value_type_, | |||
| type_, | |||
| coord_ | |||
| ) |
Macro to define a new field type.
| name | the field's name (e.g. Coordinates, GroupMass, ...). This macro will create a class with this name. |
| dim | the field's dimensionality. |
| value_type | the field's type in the data file (usually float). |
| type | one of the FieldTypes. |
| coord | a boolean describing whether the field is suitable to describe positions. |
See common_fields.hpp for some examples.
| using coord_t = float |
Internal coordinate type.
Internally, the code converts all coordinates to a common type for efficiency. The user will not need to consider this, apart from the return type of the Callback::grp_radius method and the fact that the Callback::BaseProperties::get method will return a coord_t-pointer if a coordinate field is requested.
| using GrpFields = FieldCollection<FieldTypes::GrpFld, Fields...> |
Specialization of the FieldCollection to group fields.
| Fields | the fields to be read from the group catalog. |
| using PrtFields = FieldCollection<FieldTypes::PrtFld, Fields...> |
Specialization of the FieldCollection to particle fields.
| Fields | the fields to be read from the particle catalog. |
|
strong |