source: trunk/examples/novice/gemc/src/MDetectorConstruction.h @ 1279

Last change on this file since 1279 was 807, checked in by garnier, 16 years ago

update

File size: 1.2 KB
Line 
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef MDetectorConstruction_h
14#define MDetectorConstruction_h 1
15
16// %%%%%%%%%%
17// G4 headers
18// %%%%%%%%%%
19#include "G4VUserDetectorConstruction.hh"
20#include "globals.hh"
21#include "G4Material.hh"
22#include "G4Region.hh"
23
24// %%%%%%%%%%%%%
25// gemc headers
26// %%%%%%%%%%%%%
27#include "usage.h"
28#include "detector.h"
29#include "MagneticField.h"
30#include "MPHBaseClass.h"
31#include "MSensitiveDetector.h"
32class MDetectorMessenger;
33
34// %%%%%%%%%%%%%%%%
35// Class definition
36// %%%%%%%%%%%%%%%%
37class MDetectorConstruction : public G4VUserDetectorConstruction
38{
39 public:
40   MDetectorConstruction(gemc_opts Opts);
41  ~MDetectorConstruction();
42
43 public:
44   gemc_opts gemcOpt;
45   map<string, G4Material*>        *MMats;
46   map<string, MSensitiveDetector*> SeDe_Map;
47   map<string, detector>           *Hall_Map;
48   map<string, MagneticField>      *FieldMap;
49   map<string, G4Region*>           SeRe_Map;
50   map<string, G4ProductionCuts*>   SePC_Map;
51
52 private:
53//   MDetectorMessenger *mdetectorMessenger;      ///< pointer to the Messenger
54
55 public:
56   void IsSensitive(detector, gemc_opts);
57   void HasMagfield(detector, gemc_opts);
58   G4VPhysicalVolume* Construct();
59   void UpdateGeometry();
60
61 private:
62   void DefineMaterials();
63
64};
65
66#endif
Note: See TracBrowser for help on using the repository browser.