Warning, file /geant4/examples/extended/biasing/GB03/include/GB03DetectorConstruction.hh was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030 #ifndef GB03DetectorConstruction_h
0031 #define GB03DetectorConstruction_h 1
0032
0033 #include "G4VUserDetectorConstruction.hh"
0034 #include "globals.hh"
0035
0036 class G4LogicalVolume;
0037 class G4VPhysicalVolume;
0038 class G4PVReplica;
0039 class G4Material;
0040 class G4Box;
0041 class GB03DetectorMessenger;
0042
0043 class GB03DetectorConstruction : public G4VUserDetectorConstruction
0044 {
0045 public:
0046 GB03DetectorConstruction(G4bool bf);
0047 ~GB03DetectorConstruction() override;
0048
0049 G4VPhysicalVolume* Construct() override;
0050 void ConstructSDandField() override;
0051
0052 void PrintCalorParameters() const;
0053 void SetAbsorberMaterial(G4String materialChoice);
0054 G4String GetAbsorberMaterial() const;
0055 void SetGapMaterial(G4String materialChoice);
0056 G4String GetGapMaterial() const;
0057 void SetNumberOfLayers(G4int nl);
0058 static G4int GetNumberOfLayers() { return fNumberOfLayers; }
0059
0060 G4int GetVerboseLevel() const { return fVerboseLevel; }
0061 void SetVerboseLevel(G4int val) { fVerboseLevel = val; }
0062
0063 private:
0064 void DefineMaterials();
0065 void SetupGeometry();
0066 void SetupDetectors();
0067 void SetupBiasing();
0068
0069
0070 static G4int fNumberOfLayers;
0071
0072 G4double fTotalThickness;
0073 G4double fLayerThickness;
0074
0075 G4bool fConstructed;
0076 static G4ThreadLocal G4bool fConstructedSDandField;
0077
0078 G4String fCalName;
0079
0080 G4Material* fWorldMaterial;
0081 G4Material* fAbsorberMaterial;
0082 G4Material* fGapMaterial;
0083
0084 G4Box* fLayerSolid;
0085 G4Box* fGapSolid;
0086
0087 G4LogicalVolume* fWorldLogical;
0088 G4LogicalVolume* fCalorLogical;
0089 G4LogicalVolume* fLayerLogical;
0090 G4LogicalVolume* fGapLogical;
0091
0092 G4VPhysicalVolume* fWorldPhysical;
0093 G4VPhysicalVolume* fCalorPhysical;
0094 G4PVReplica* fLayerPhysical;
0095 G4VPhysicalVolume* fGapPhysical;
0096
0097 GB03DetectorMessenger* fDetectorMessenger;
0098
0099 G4int fVerboseLevel;
0100 G4bool fBiasingFlag;
0101 };
0102
0103 #endif