BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
BDSOutputROOTEventCoords.hh
1/*
2Beam Delivery Simulation (BDSIM) Copyright (C) BDSIM Collaboration, 2001 - 2026.
3
4This file is part of BDSIM.
5
6BDSIM is free software: you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published
8by the Free Software Foundation version 3 of the License.
9
10BDSIM is distributed in the hope that it will be useful, but
11WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with BDSIM. If not, see <http://www.gnu.org/licenses/>.
17*/
18#ifndef BDSOUTPUTROOTEVENTCOORDS_H
19#define BDSOUTPUTROOTEVENTCOORDS_H
20
21#include "Rtypes.h"
22#include "TObject.h"
23
24#include <vector>
25
26#ifndef __ROOTBUILD__
27#include "BDSParticleCoords.hh"
29#endif
30
37class BDSOutputROOTEventCoords: public TObject
38{
39public:
41
43 virtual void Flush();
44
45 void FlushLocal();
46
48 void Fill(const BDSOutputROOTEventCoords* other);
49
50 int n;
51 std::vector<double> X;
52 std::vector<double> Y;
53 std::vector<double> Z;
54 std::vector<double> Xp;
55 std::vector<double> Yp;
56 std::vector<double> Zp;
57 std::vector<double> T;
58
59#ifndef __ROOTBUILD__
60 void Fill(const BDSParticleCoords& coords);
61 void Fill(const BDSPrimaryVertexInformationV* vertexInfos);
62#endif
63
64 ClassDef(BDSOutputROOTEventCoords,3);
65};
66
67#endif
void Fill(const BDSOutputROOTEventCoords *other)
Fill from another instance.
A set of particle coordinates.
Full set of coordinates for association with primary vertex. Vector version.