G4-DESCSS/include/DetectorConstruction.h

42 lines
1.3 KiB
C++

#ifndef DESCSS_DetectorConstruction_h
#define DESCSS_DetectorConstruction_h
#include "G4VUserDetectorConstruction.hh"
#include "globals.hh"
class G4VPhysicalVolume;
class G4LogicalVolume;
class G4HumanPhantomMaterial;
class G4HumanPhantomMessenger;
class DetectorConstruction : public G4VUserDetectorConstruction {
public:
DetectorConstruction();
~DetectorConstruction() override;
G4VPhysicalVolume* Construct() override;
public:
void SetBodyPartSensitivity(G4String, G4bool);
void SetPhantomSex(G4String);
void SetPhantomModel(G4String);
void ConstructSDandField();
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:
G4String sex = "Male";
G4String model = "MIRD";
std::map<std::string, G4bool> sensitivities;
G4HumanPhantomMaterial* material;
G4HumanPhantomMessenger* messenger;
};
#endif