BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
BDSRegion.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 BDSREGION_H
19#define BDSREGION_H
20
21#include "globals.hh"
22
23#include <ostream>
24
25class G4ProductionCuts;
26class G4Region;
27
28namespace GMAD
29{
30 class Region;
31}
32
40{
41public:
42 explicit BDSRegion(G4String nameIn);
43 BDSRegion(G4String nameIn,
44 const BDSRegion* defaultValue,
45 G4double defaultRangeCutIn,
46 G4double rangeCutElectronsIn,
47 G4double rangeCutPositronsIn,
48 G4double rangeCutProtonsIn,
49 G4double rangeCutPhotonsIn);
50 BDSRegion(const GMAD::Region& parserRegion,
51 const BDSRegion* defaultRegion);
52
53 ~BDSRegion();
54
56 G4String name;
62 G4ProductionCuts* g4cuts;
63 G4Region* g4region;
65
67 friend std::ostream& operator<< (std::ostream &out, BDSRegion const &r);
68
69private:
71 void ProduceG4Region();
72};
73
74#endif
Range cuts for a region. Help with defaults.
Definition BDSRegion.hh:40
friend std::ostream & operator<<(std::ostream &out, BDSRegion const &r)
output stream
Definition BDSRegion.cc:96
G4Region * g4region
Public members for simplicity.
Definition BDSRegion.hh:63
G4double rangeCutElectrons
Public members for simplicity.
Definition BDSRegion.hh:58
G4double defaultRangeCut
Public members for simplicity.
Definition BDSRegion.hh:57
G4ProductionCuts * g4cuts
Public members for simplicity.
Definition BDSRegion.hh:62
G4String name
Public members for simplicity.
Definition BDSRegion.hh:56
G4double rangeCutPhotons
Public members for simplicity.
Definition BDSRegion.hh:61
G4double rangeCutProtons
Public members for simplicity.
Definition BDSRegion.hh:60
G4double rangeCutPositrons
Public members for simplicity.
Definition BDSRegion.hh:59
void ProduceG4Region()
Function to create cuts and region.
Definition BDSRegion.cc:107
Region class for parser.
Definition region.h:35
Parser namespace for GMAD language. Combination of Geant4 and MAD.