Warning, file /geant4/examples/advanced/eRosita/application/include/eRositaDetectorConstruction.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 #ifndef eRositaDetectorConstruction_h
0028 #define eRositaDetectorConstruction_h 1
0029
0030 #include "globals.hh"
0031 #include "G4VUserDetectorConstruction.hh"
0032 #include "G4SystemOfUnits.hh"
0033 #include "G4VisAttributes.hh"
0034
0035 class G4Box;
0036 class G4LogicalVolume;
0037 class G4Material;
0038 class G4VPhysicalVolume;
0039
0040 class eRositaDetectorConstruction : public G4VUserDetectorConstruction {
0041 public:
0042 explicit eRositaDetectorConstruction();
0043
0044 ~eRositaDetectorConstruction() override;
0045
0046 auto Construct() -> G4VPhysicalVolume* override;
0047
0048 auto GetTracker() -> const G4VPhysicalVolume* {
0049 return trackerPhysicalVolume;
0050 };
0051
0052
0053
0054
0055
0056
0057
0058 void ConstructSDandField() override;
0059
0060 void SetTargetMaterial(G4String materialName);
0061
0062 void SetTrackerMaterial(G4String materialName);
0063
0064 void SetWorldMaterial(G4String materialName);
0065
0066 private:
0067
0068 G4Box* worldSolid;
0069 G4LogicalVolume* worldLogicalVolume;
0070 G4VPhysicalVolume* worldPhysicalVolume;
0071 G4VisAttributes* worldVisualizationStyle;
0072
0073
0074 G4Box* targetSolid;
0075 G4LogicalVolume* targetLogicalVolume;
0076 G4VPhysicalVolume* targetPhysicalVolume;
0077 G4VisAttributes* targetVisualizationStyle;
0078
0079
0080 G4Box* trackerSolid;
0081 G4LogicalVolume* trackerLogicalVolume;
0082 G4VPhysicalVolume* trackerPhysicalVolume;
0083 G4VisAttributes* trackerVisualizationStyle;
0084
0085
0086 G4Material* vacuum;
0087 G4Material* targetMaterial;
0088 G4Material* trackerMaterial;
0089 G4Material* worldMaterial;
0090
0091
0092 G4double worldHalfLength;
0093 G4double targetHalfLength;
0094 G4double targetHalfDepth;
0095 G4double trackerHalfLength;
0096 G4double trackerHalfDepth;
0097
0098
0099 G4double targetPositionX;
0100 G4double targetPositionY;
0101 G4double targetPositionZ;
0102
0103
0104 G4double trackerPositionX;
0105 G4double trackerPositionY;
0106 G4double trackerPositionZ;
0107 };
0108 #endif