BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
BDSTrajectoriesToStore.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 BDSTRAJECTORIESTOSTORE_H
19#define BDSTRAJECTORIESTOSTORE_H
20
21#include "BDSTrajectoryFilter.hh"
22
23#include <bitset>
24#include <map>
25#include <utility>
26
27class BDSTrajectory;
28
36{
37public:
38 BDSTrajectoriesToStore() = delete;
39 BDSTrajectoriesToStore(std::map<BDSTrajectory*, bool> trajectoriesIn,
40 std::map<BDSTrajectory*, std::bitset<BDS::NTrajectoryFilters> > filtersMatchedIn):
41 trajectories(std::move(trajectoriesIn)),
42 filtersMatched(std::move(filtersMatchedIn))
43 {;}
45
46 std::map<BDSTrajectory*, bool> trajectories;
47 std::map<BDSTrajectory*, std::bitset<BDS::NTrajectoryFilters> > filtersMatched;
48};
49
50#endif
Double map of trajectories to bitset of which filters matched whether to store them.
Trajectory information from track including last scatter etc.