Fork me on GitHub

source: git/external/HepMC3/Data/GenEventData.h@ 06630ef

Last change on this file since 06630ef was 95a917c, checked in by Pavel Demin <pavel.demin@…>, 3 years ago

add HepMC3 library

  • Property mode set to 100644
File size: 1.9 KB
RevLine 
[95a917c]1// -*- C++ -*-
2//
3// This file is part of HepMC
4// Copyright (C) 2014-2019 The HepMC collaboration (see AUTHORS for details)
5//
6#ifndef HEPMC3_DATA_GENEVENTDATA_H
7#define HEPMC3_DATA_GENEVENTDATA_H
8/**
9 * @file GenEventData.h
10 * @brief Definition of \b struct GenEventData
11 *
12 * @struct HepMC3::GenEventData
13 * @brief Stores serializable event information
14 *
15 * @ingroup data
16 *
17 */
18#include <vector>
19#include <string>
20#include "HepMC3/Data/GenParticleData.h"
21#include "HepMC3/Data/GenVertexData.h"
22#include "HepMC3/Units.h"
23
24namespace HepMC3 {
25
26struct GenEventData {
27 int event_number; ///< Event number
28 Units::MomentumUnit momentum_unit; ///< Momentum unit
29 Units::LengthUnit length_unit; ///< Length unit
30
31 std::vector<GenParticleData> particles; ///< Particles
32 std::vector<GenVertexData> vertices; ///< Vertices
33 std::vector<double> weights; ///< Weights
34
35 FourVector event_pos; ///< Event position
36
37 /** @brief First id of the vertex links
38 *
39 * If this id is positive - it is the incoming particle id
40 * of a vertex which id is written in GenEventData::links2
41 *
42 * If this id is negative - it's the id of a vertex which
43 * outgoing particle id is written in GenEventData::links2
44 *
45 * The links1[i] points to links2[i].
46 * In case links1[i] is particle, links2[i] is end vertex.
47 * In case links2[i] is vertex, links2[i] is outgoing particle.
48 * An example of usage is given in documentation.
49 *
50 */
51 std::vector<int> links1;
52 std::vector<int> links2; ///< Second id of the vertex links
53
54 std::vector<int> attribute_id; ///< Attribute owner id
55 std::vector<std::string> attribute_name; ///< Attribute name
56 std::vector<std::string> attribute_string; ///< Attribute serialized as string
57};
58
59} // namespace HepMC
60
61#endif
Note: See TracBrowser for help on using the repository browser.