FairRoot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FairYamlVMCConfig.h
Go to the documentation of this file.
1 /********************************************************************************
2  * Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
3  * *
4  * This software is distributed under the terms of the *
5  * GNU Lesser General Public Licence (LGPL) version 3, *
6  * copied verbatim in the file "LICENSE" *
7  ********************************************************************************/
8 // -------------------------------------------------------------------------
9 // ----- FairYamlVMCConfig header file -----
10 // ----- Created 2019.02.19 by R. Karabowicz -----
11 // -------------------------------------------------------------------------
12 
13 #ifndef FAIR_YAML_VMC_CONFIG_H
14 #define FAIR_YAML_VMC_CONFIG_H
15 
16 #include "FairGenericVMCConfig.h"
17 
18 #include <string>
19 #include <yaml-cpp/yaml.h>
20 
21 using namespace std;
22 
24 {
25  public:
27  virtual ~FairYamlVMCConfig() {}
28 
29  virtual void Setup(const char* mcEngine);
30  virtual void SetupPostInit(const char* mcEngine);
31 
32  virtual void UsePostInitConfig(bool useC = true, const char* stringC = "g4ConfigPostInit.yaml") {
33  fPostInitFlag = useC;
34  fPostInitName = stringC;
35  }
36 
37 
38  private:
39  string ObtainYamlFileName(const char* mcEngine);
40  void StoreYamlInfo();
41 
42  string fMCEngine;
43 
44  protected:
45  void SetupGeant3();
46  void SetupGeant4();
47  virtual void SetupStack() = 0;
48  void SetCuts();
49 
50  YAML::Node fYamlConfig;
51  YAML::Node fYamlConfigPostInit;
52 };
53 
54 #endif
YAML::Node fYamlConfigPostInit
virtual void UsePostInitConfig(bool useC=true, const char *stringC="g4ConfigPostInit.yaml")
virtual ~FairYamlVMCConfig()
void SetCuts()
Definition: SetCuts.C:14