Project
Loading...
Searching...
No Matches
G4Params.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
12#ifndef O2_SIMCONFIG_G4PARAM_H_
13#define O2_SIMCONFIG_G4PARAM_H_
14
17
18namespace o2
19{
20namespace conf
21{
22
23// enumerating the possible G4 physics settings
24enum class EG4Physics {
25 kFTFP_BERT_optical = 0, /* just ordinary */
26 kFTFP_BERT_optical_biasing = 1, /* with biasing enabled */
27 kFTFP_INCLXX_optical = 2, /* special INCL++ version */
28 kFTFP_BERT_HP_optical = 3, /* enable low energy neutron transport */
29 kFTFP_BERT_EMV_optical = 4, /* just ordinary with faster electromagnetic physics */
30 kFTFP_BERT_EMV_optical_biasing = 5, /* with biasing enabled with faster electromagnetic physics */
31 kFTFP_INCLXX_EMV_optical = 6, /* special INCL++ version */
32 kFTFP_BERT_EMV_HP_optical = 7, /* enable low energy neutron transport */
33 kUSER = 8 /* allows to give own string combination */
34};
35
36// enumerating possible geometry navigation modes
37// (understanding that geometry description is always done with TGeo)
38enum class EG4Nav {
39 kTGeo = 0, /* navigate with TGeo */
40 kG4 = 1 /* navigate with G4 native geometry */
41};
42
43// parameters to influence the G4 engine
45 EG4Physics physicsmode = EG4Physics::kFTFP_BERT_EMV_optical; // default physics mode with which to configure G4
46
47 std::string configMacroFile = ""; // a user provided g4Config.in file (otherwise standard one fill be taken)
48 std::string userPhysicsList = ""; // possibility to directly give physics list as string
49
50 EG4Nav navmode = EG4Nav::kTGeo; // geometry navigation mode (default TGeo)
51
52 std::string const& getPhysicsConfigString() const;
53
55};
56
57} // namespace conf
58} // namespace o2
59
60#endif /* O2_SIMCONFIG_G4PARAM_H_ */
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
EG4Physics physicsmode
Definition G4Params.h:45
O2ParamDef(G4Params, "G4")
std::string userPhysicsList
Definition G4Params.h:48
std::string const & getPhysicsConfigString() const
Definition G4Params.cxx:32
std::string configMacroFile
Definition G4Params.h:47