G4-DESCSS/include/DetectorConstruction.h

42 lines
1.3 KiB
C
Raw Normal View History

#ifndef DESCSS_DetectorConstruction_h
#define DESCSS_DetectorConstruction_h
#include "G4VUserDetectorConstruction.hh"
#include "globals.hh"
class G4VPhysicalVolume;
class G4LogicalVolume;
2022-05-17 19:36:50 +08:00
class G4HumanPhantomMaterial;
2022-05-17 21:14:44 +08:00
class G4HumanPhantomMessenger;
class DetectorConstruction : public G4VUserDetectorConstruction {
public:
DetectorConstruction();
~DetectorConstruction() override;
G4VPhysicalVolume* Construct() override;
2022-05-17 19:36:50 +08:00
2022-05-17 21:14:44 +08:00
public:
void SetBodyPartSensitivity(G4String, G4bool);
void SetPhantomSex(G4String);
void SetPhantomModel(G4String);
void ConstructSDandField();
2022-05-17 19:36:50 +08:00
private:
void ConstructSectionSphere(G4LogicalVolume* fMotherLogical, G4double zBias);
void ConstructSectionCons(G4String name, G4LogicalVolume* fMotherLogical, G4double zBias, G4double pRmax1,
G4double pRmin1, G4double pRmax2, G4double pRmin2, G4double hz);
void ConstructSectionSmall(G4LogicalVolume* fMotherLogical, G4double zBias);
void ConstructSectionBig(G4LogicalVolume* fMotherLogical, G4double zBias);
void ConstructHumanPhantom(G4VPhysicalVolume* fMotherPhysics);
private:
2022-05-17 21:14:44 +08:00
G4String sex = "Male";
G4String model = "MIRD";
2022-05-17 19:36:50 +08:00
std::map<std::string, G4bool> sensitivities;
2022-05-17 21:14:44 +08:00
G4HumanPhantomMaterial* material;
G4HumanPhantomMessenger* messenger;
};
#endif