BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
BDSOutputROOTEventLossWorld.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 BDSOUTPUTROOTEVENTLOSSWORLD_H
19#define BDSOUTPUTROOTEVENTLOSSWORLD_H
20
21#ifndef __ROOTBUILD__
23#endif
24
25#include "TObject.h"
26
27#include <vector>
28
38class BDSOutputROOTEventLossWorld: public TObject
39{
40public:
41 int n = 0;
42 std::vector<float> totalEnergy;
43 std::vector<float> preStepKineticEnergy;
44 std::vector<float> postStepKineticEnergy;
45 std::vector<float> stepLength;
46
48 std::vector<float> X;
49 std::vector<float> Y;
50 std::vector<float> Z;
52
53 std::vector<float> T;
54 std::vector<int> partID;
55 std::vector<int> trackID;
56 std::vector<int> parentID;
57 std::vector<float> weight;
58 std::vector<int> turn;
59
62#ifndef __ROOTBUILD__
63 void Fill(const BDSHitEnergyDepositionGlobal* hit);
64#endif
66 void Fill(const BDSOutputROOTEventLossWorld* other);
67 virtual void Flush();
68
70};
71
72
73#endif
Information recorded for a step leaving a volume.
Data stored for world hits per event.
std::vector< float > T
Global time (time since beginning of event).
std::vector< int > trackID
TrackID that created the deposit.
std::vector< float > totalEnergy
Energy deposited in step.
std::vector< int > parentID
ParentID that created the deposit.
std::vector< int > partID
ParticleID that create the deposit.
std::vector< int > turn
Turn number.
std::vector< float > preStepKineticEnergy
Kinetic energy in GeV at pre step point.
std::vector< float > stepLength
Step length.
std::vector< float > postStepKineticEnergy
Kinetic energy in GeV at post step point.