Warning, file /geant4/examples/extended/hadronic/Hadr10/include/DetectorConstruction.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 #ifndef DetectorConstruction_H
0030 #define DetectorConstruction_H 1
0031
0032 #include "G4VUserDetectorConstruction.hh"
0033 #include "globals.hh"
0034
0035 class G4LogicalVolume;
0036 class G4VPhysicalVolume;
0037 class G4Material;
0038 class G4FieldManager;
0039 class G4UniformMagField;
0040 class DetectorMessenger;
0041
0042
0043
0044 class DetectorConstruction : public G4VUserDetectorConstruction
0045 {
0046 public:
0047 DetectorConstruction();
0048 ~DetectorConstruction();
0049 G4VPhysicalVolume* Construct() override;
0050
0051 void SetTargetMaterial(const G4String name);
0052 inline G4Material* GetTargetMaterial() const;
0053 inline void SetTargetInnerRadius(const G4double value);
0054 inline G4double GetTargetInnerRadius() const;
0055 inline void SetTargetOuterRadius(const G4double value);
0056 inline G4double GetTargetOuterRadius() const;
0057 void SetMagField(const G4double fieldValue);
0058 void UpdateGeometry();
0059
0060 private:
0061
0062 G4VPhysicalVolume* ConstructLayer();
0063
0064 void PrintParameters();
0065 G4Material* fTargetMaterial;
0066 G4LogicalVolume* fLogicExperimentalHall;
0067 G4VPhysicalVolume* fPhysExperimentalHall;
0068 G4LogicalVolume* fLogicTargetLayer;
0069 G4VPhysicalVolume* fPhysTargetLayer;
0070 G4FieldManager* fFieldMgr;
0071 G4UniformMagField* fUniformMagField;
0072 DetectorMessenger* fDetectorMessenger;
0073 G4double fTargetInnerRadius;
0074 G4double fTargetOuterRadius;
0075 };
0076
0077 inline G4Material* DetectorConstruction::GetTargetMaterial() const
0078 {
0079 return fTargetMaterial;
0080 }
0081
0082 inline void DetectorConstruction::SetTargetInnerRadius(const G4double value)
0083 {
0084 fTargetInnerRadius = value;
0085 }
0086
0087 inline G4double DetectorConstruction::GetTargetInnerRadius() const
0088 {
0089 return fTargetInnerRadius;
0090 }
0091
0092 inline void DetectorConstruction::SetTargetOuterRadius(const G4double value)
0093 {
0094 fTargetOuterRadius = value;
0095 }
0096
0097 inline G4double DetectorConstruction::GetTargetOuterRadius() const
0098 {
0099 return fTargetOuterRadius;
0100 }
0101
0102
0103
0104 #endif