GEMC  1.8
Geant4 Monte-Carlo Framework
HitProcess_MapRegister.cc
Go to the documentation of this file.
1 // %%%%%%%%%%%%
2 // gemc headers
3 // %%%%%%%%%%%%
4 #include "MPHBaseClass.h"
6 
7 // CLAS12
8 #include "BST_hitprocess.h"
9 #include "FST_hitprocess.h"
10 #include "FMT_hitprocess.h"
11 #include "FTM_hitprocess.h"
12 #include "BMT_hitprocess.h"
13 #include "CTOF_hitprocess.h"
14 #include "CND_hitprocess.h"
15 #include "DC_hitprocess.h"
16 #include "IC_hitprocess.h"
17 #include "FT_hitprocess.h"
18 #include "FTH_hitprocess.h"
19 #include "OTOF_hitprocess.h"
20 #include "EC_hitprocess.h"
22 #include "PCAL_hitprocess.h"
23 #include "raw_hitprocess.h"
24 #include "flux_hitprocess.h"
25 #include "RICH_hitprocess.h"
26 #include "LTCC_hitprocess.h"
27 #include "HTCC_hitprocess.h"
28 
29 // APrime
30 #include "HS_hitprocess.h"
31 #include "STR_hitprocess.h"
32 
33 // GlueX
34 #include "CVRT_hitprocess.h"
35 
36 
37 map<string, MPHB_Factory> HitProcess_Map(string experiments)
38 {
39 
40  map<string, MPHB_Factory> hitMap;
41 
42  stringstream exps(experiments);
43  string EXP;
44 
45  cout << endl;
46  while(!exps.eof())
47  {
48  exps >> EXP;
49  cout << " >> Registering experiment \"" << EXP << "\" hit processes " << endl;
50 
51  // CLAS12
52  if(EXP == "clas12")
53  {
54  hitMap["BST"] = &BST_HitProcess::createHitClass;
55  hitMap["FST"] = &FST_HitProcess::createHitClass;
56  hitMap["FMT"] = &FMT_HitProcess::createHitClass;
57  hitMap["FTM"] = &FTM_HitProcess::createHitClass;
58  hitMap["BMT"] = &BMT_HitProcess::createHitClass;
59  hitMap["CTOF"] = &CTOF_HitProcess::createHitClass;
60  hitMap["CND"] = &CND_HitProcess::createHitClass;
61  hitMap["DC"] = &DC_HitProcess::createHitClass;
62  hitMap["FTOF_1a"] = &OTOF_HitProcess::createHitClass;
63  hitMap["FTOF_1b"] = &OTOF_HitProcess::createHitClass;
64  hitMap["FTOF_2b"] = &OTOF_HitProcess::createHitClass;
65  hitMap["IC"] = &IC_HitProcess::createHitClass;
66  hitMap["FT"] = &FT_HitProcess::createHitClass;
67  hitMap["FTH"] = &FTH_HitProcess::createHitClass;
68  hitMap["Bonus"] = &raw_HitProcess::createHitClass;
69  hitMap["raw"] = &raw_HitProcess::createHitClass;
70  hitMap["EC"] = &EC_HitProcess::createHitClass;
71  hitMap["ECwithG4strips"] = &ECwithG4strips_HitProcess::createHitClass;
72  hitMap["PCAL"] = &PCAL_HitProcess::createHitClass;
73  hitMap["FLUX"] = &flux_HitProcess::createHitClass;
74  hitMap["Mirrors"] = &flux_HitProcess::createHitClass; // mirrors will call FLUX
75  hitMap["RICH"] = &RICH_HitProcess::createHitClass;
76  hitMap["LTCC"] = &LTCC_HitProcess::createHitClass;
77  hitMap["HTCC"] = &HTCC_HitProcess::createHitClass;
78  }
79  // Aprime
80  else if(EXP == "aprime")
81  {
82  hitMap["HS"] = &HS_HitProcess::createHitClass;
83  hitMap["STR"] = &STR_HitProcess::createHitClass;
84  hitMap["FLUX"] = &flux_HitProcess::createHitClass;
85  hitMap["raw"] = &raw_HitProcess::createHitClass;
86  hitMap["IC"] = &IC_HitProcess::createHitClass;
87  }
88  // GlueX
89  else if( EXP == "gluex" ) {
90  hitMap["raw"] = &raw_HitProcess::createHitClass;
91  hitMap["IC"] = &IC_HitProcess::createHitClass;
92  hitMap["FLUX"] = &flux_HitProcess::createHitClass;
93  hitMap["CVRT"] = &CVRT_HitProcess::createHitClass;
94  }
95  // SoLID
96  else if( EXP == "solid" ) {
97  hitMap["raw"] = &raw_HitProcess::createHitClass;
98  hitMap["FLUX"] = &flux_HitProcess::createHitClass;
99  }
100  }
101  cout << endl;
102  return hitMap;
103 
104 }
static MPHBaseClass * createHitClass()
static MPHBaseClass * createHitClass()
Definition: DC_hitprocess.h:19
static MPHBaseClass * createHitClass()
static MPHBaseClass * createHitClass()
static MPHBaseClass * createHitClass()
static MPHBaseClass * createHitClass()
static MPHBaseClass * createHitClass()
Definition: IC_hitprocess.h:18
static MPHBaseClass * createHitClass()
static MPHBaseClass * createHitClass()
static MPHBaseClass * createHitClass()
static MPHBaseClass * createHitClass()
static MPHBaseClass * createHitClass()
static MPHBaseClass * createHitClass()
static MPHBaseClass * createHitClass()
Definition: HS_hitprocess.h:18
static MPHBaseClass * createHitClass()
static MPHBaseClass * createHitClass()
static MPHBaseClass * createHitClass()
Definition: EC_hitprocess.h:18
static MPHBaseClass * createHitClass()
static MPHBaseClass * createHitClass()
static MPHBaseClass * createHitClass()
static MPHBaseClass * createHitClass()
Definition: FT_hitprocess.h:18
static MPHBaseClass * createHitClass()
map< string, MPHB_Factory > HitProcess_Map(string experiments)
< Hit in Converter
static MPHBaseClass * createHitClass()