sipm-characterisation 0.1.0
SiPM characterisation for ePIC — IV/DCR/gain, laser, readout, irradiation
Loading...
Searching...
No Matches
DetectorConstruction.hh
Go to the documentation of this file.
1#ifndef _DetectorConstruction_h_
2#define _DetectorConstruction_h_
3
4#include "G4VUserDetectorConstruction.hh"
5#include "G4UImessenger.hh"
6
7class G4String;
8class G4Material;
9class G4OpticalSurface;
10class G4VPhysicalVolume;
11
12class G4UIdirectory;
13class G4UIcmdWithAString;
14class G4UIcmdWithADoubleAndUnit;
15class G4UIcmdWith3Vector;
16class G4UIcmdWith3VectorAndUnit;
17
18class DetectorConstruction : public G4VUserDetectorConstruction,
19 public G4UImessenger
20{
21
22public:
23
25 ~DetectorConstruction() override;
26
27 G4VPhysicalVolume *Construct() override;
28 void ConstructSDandField() override;
29
30protected:
31
32 void SetNewValue(G4UIcommand *command, G4String value);
33
34 static const int nAbsorbers = 100;
35 G4UIdirectory *mAbsorberDir[nAbsorbers];
37 G4ThreeVector mAbsorberPos[nAbsorbers];
38 G4ThreeVector mAbsorberSize[nAbsorbers];
40 G4UIcmdWithAString *mAbsorberMaterialCmd[nAbsorbers];
41 G4UIcmdWith3VectorAndUnit *mAbsorberPosCmd[nAbsorbers];
42 G4UIcmdWith3VectorAndUnit *mAbsorberSizeCmd[nAbsorbers];
43 G4UIcmdWithADoubleAndUnit *mCollimatorSizeCmd[nAbsorbers];
44
45 G4UIdirectory *mSensorDir = nullptr;
46 G4ThreeVector mSensorPos;
47 G4ThreeVector mSensorSize;
48 G4VPhysicalVolume *mSensorPV = nullptr;
49 G4UIcmdWith3VectorAndUnit *mSensorPosCmd = nullptr;
50 G4UIcmdWith3VectorAndUnit *mSensorSizeCmd = nullptr;
51 G4UIcmdWith3VectorAndUnit *mSensorMoveCmd = nullptr;
52
53 G4UIdirectory *mSystemDir = nullptr;
54 G4ThreeVector mSystemPos;
55 G4ThreeVector mSystemRot;
56 G4double mSystemAngle;
57 G4UIcmdWith3VectorAndUnit *mSystemPosCmd = nullptr;
58 G4UIcmdWith3Vector *mSystemRotCmd = nullptr;
59 G4UIcmdWithADoubleAndUnit *mSystemAngleCmd = nullptr;
60
61};
62
63#endif
Definition DetectorConstruction.hh:20
G4UIcmdWith3VectorAndUnit * mSensorPosCmd
Definition DetectorConstruction.hh:49
G4UIcmdWith3VectorAndUnit * mAbsorberSizeCmd[nAbsorbers]
Definition DetectorConstruction.hh:42
G4UIcmdWith3VectorAndUnit * mSensorSizeCmd
Definition DetectorConstruction.hh:50
~DetectorConstruction() override
Definition DetectorConstruction.cc:101
DetectorConstruction()
Definition DetectorConstruction.cc:25
G4UIcmdWithAString * mAbsorberMaterialCmd[nAbsorbers]
Definition DetectorConstruction.hh:40
G4double mSystemAngle
Definition DetectorConstruction.hh:56
G4ThreeVector mAbsorberSize[nAbsorbers]
Definition DetectorConstruction.hh:38
G4ThreeVector mSensorPos
Definition DetectorConstruction.hh:46
G4ThreeVector mSensorSize
Definition DetectorConstruction.hh:47
void SetNewValue(G4UIcommand *command, G4String value)
Definition DetectorConstruction.cc:108
G4UIcmdWith3VectorAndUnit * mSensorMoveCmd
Definition DetectorConstruction.hh:51
G4UIcmdWith3VectorAndUnit * mAbsorberPosCmd[nAbsorbers]
Definition DetectorConstruction.hh:41
G4UIdirectory * mAbsorberDir[nAbsorbers]
Definition DetectorConstruction.hh:35
G4UIcmdWith3VectorAndUnit * mSystemPosCmd
Definition DetectorConstruction.hh:57
G4ThreeVector mAbsorberPos[nAbsorbers]
Definition DetectorConstruction.hh:37
G4VPhysicalVolume * Construct() override
Definition DetectorConstruction.cc:157
G4String mAbsorberMaterial[nAbsorbers]
Definition DetectorConstruction.hh:36
G4ThreeVector mSystemRot
Definition DetectorConstruction.hh:55
G4VPhysicalVolume * mSensorPV
Definition DetectorConstruction.hh:48
G4UIdirectory * mSensorDir
Definition DetectorConstruction.hh:45
G4ThreeVector mSystemPos
Definition DetectorConstruction.hh:54
static const int nAbsorbers
Definition DetectorConstruction.hh:34
G4UIdirectory * mSystemDir
Definition DetectorConstruction.hh:53
G4UIcmdWithADoubleAndUnit * mCollimatorSizeCmd[nAbsorbers]
Definition DetectorConstruction.hh:43
void ConstructSDandField() override
Definition DetectorConstruction.cc:334
G4double mCollimatorSize[nAbsorbers]
Definition DetectorConstruction.hh:39
G4UIcmdWithADoubleAndUnit * mSystemAngleCmd
Definition DetectorConstruction.hh:59
G4UIcmdWith3Vector * mSystemRotCmd
Definition DetectorConstruction.hh:58