BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
__w
bdsim
bdsim
src
BDSOutputFactory.cc
1
/*
2
Beam Delivery Simulation (BDSIM) Copyright (C) Royal Holloway,
3
University of London 2001 - 2024.
4
5
This file is part of BDSIM.
6
7
BDSIM is free software: you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published
9
by the Free Software Foundation version 3 of the License.
10
11
BDSIM is distributed in the hope that it will be useful, but
12
WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with BDSIM. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
#include "BDSOutputFactory.hh"
20
#include "BDSOutputType.hh"
21
#include "BDSOutput.hh"
22
#include "BDSOutputNone.hh"
23
#include "BDSOutputROOT.hh"
24
25
BDSOutput
*
BDSOutputFactory::CreateOutput
(
BDSOutputType
format,
26
const
G4String& fileName,
27
G4int fileNumberOffset,
28
G4int compressionLevel)
29
{
30
BDSOutput
* result =
nullptr
;
31
switch
(format.
underlying
())
32
{
33
case
BDSOutputType::none:
34
{result =
new
BDSOutputNone
();
break
;}
35
case
BDSOutputType::rootevent:
36
{result =
new
BDSOutputROOT
(fileName, fileNumberOffset, compressionLevel);
break
;}
37
default
:
38
{result =
new
BDSOutputNone
();
break
;}
39
}
40
return
result;
41
}
BDSOutputFactory::CreateOutput
static BDSOutput * CreateOutput(BDSOutputType format, const G4String &fileName, G4int fileNumberOffset=-1, G4int compressionLevel=-1)
factory method
Definition
BDSOutputFactory.cc:25
BDSOutputNone
No output class.
Definition
BDSOutputNone.hh:33
BDSOutputROOT
ROOT Event output class.
Definition
BDSOutputROOT.hh:38
BDSOutput
Output base class that defines interface for all output types.
Definition
BDSOutput.hh:73
BDSTypeSafeEnum< outputformats_def, int >
BDSTypeSafeEnum::underlying
type underlying() const
return underlying value (can be used in switch statement)
Definition
BDSTypeSafeEnum.hh:62
Generated on Sat Oct 18 2025 18:31:05 for BDSIM by
1.9.8