File indexing completed on 2025-02-23 09:20:10
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
0031
0032 #ifndef G4PhantomBuilder_h
0033 #define G4PhantomBuilder_h 1
0034
0035 #include "G4VPhysicalVolume.hh"
0036 #include "G4BasePhantomBuilder.hh"
0037 #include "globals.hh"
0038
0039 class G4BasePhantomBuilder;
0040 class G4VPhysicalVolume;
0041 class G4VBodyFactory;
0042 class G4PhantomBuilder: public G4BasePhantomBuilder
0043 {
0044 public:
0045 explicit G4PhantomBuilder();
0046 ~G4PhantomBuilder() override = default;
0047
0048 void BuildHead(const G4String&,G4bool,G4bool) override;
0049 void BuildTrunk(const G4String&,G4bool,G4bool) override;
0050 void BuildLeftLeg(const G4String&,G4bool,G4bool) override;
0051 void BuildRightLeg(const G4String&,G4bool,G4bool) override;
0052
0053 void BuildUpperSpine(const G4String&,G4bool,G4bool) override;
0054 void BuildMiddleLowerSpine(const G4String&,G4bool,G4bool) override;
0055 void BuildLeftLegBone(const G4String&,G4bool,G4bool) override;
0056 void BuildRightLegBone(const G4String&,G4bool,G4bool) override;
0057 void BuildLeftArmBone(const G4String&,G4bool,G4bool) override;
0058 void BuildRightArmBone(const G4String&,G4bool,G4bool) override;
0059 void BuildSkull(const G4String&,G4bool,G4bool) override;
0060 void BuildRibCage(const G4String&,G4bool,G4bool) override;
0061 void BuildPelvis(const G4String&,G4bool,G4bool) override;
0062 void BuildLeftScapula(const G4String&,G4bool,G4bool) override;
0063 void BuildRightScapula(const G4String&,G4bool,G4bool) override;
0064 void BuildLeftAdrenal(const G4String&,G4bool,G4bool) override;
0065 void BuildRightAdrenal(const G4String&,G4bool,G4bool) override;
0066 void BuildLeftClavicle(const G4String&,G4bool,G4bool) override;
0067 void BuildRightClavicle(const G4String&,G4bool,G4bool) override;
0068 void BuildBrain(const G4String&,G4bool,G4bool) override;
0069 void BuildHeart(const G4String&,G4bool,G4bool) override;
0070 void BuildLeftLung(const G4String&,G4bool,G4bool) override;
0071 void BuildRightLung(const G4String&,G4bool,G4bool) override;
0072 void BuildStomach(const G4String&,G4bool,G4bool) override;
0073 void BuildSmallIntestine(const G4String&,G4bool,G4bool) override;
0074 void BuildUpperLargeIntestine(const G4String&,G4bool,G4bool) override;
0075 void BuildLowerLargeIntestine(const G4String&,G4bool,G4bool) override;
0076 void BuildLeftKidney(const G4String&,G4bool,G4bool) override;
0077 void BuildRightKidney(const G4String&,G4bool,G4bool) override;
0078 void BuildLiver(const G4String&,G4bool,G4bool) override;
0079 void BuildPancreas(const G4String&,G4bool,G4bool) override;
0080 void BuildSpleen(const G4String&,G4bool,G4bool) override;
0081 void BuildUrinaryBladder(const G4String&,G4bool,G4bool) override;
0082 void BuildThyroid(const G4String&,G4bool,G4bool) override;
0083 void BuildThymus(const G4String&,G4bool,G4bool) override;
0084 void SetModel(G4String) override;
0085 void SetMotherVolume(G4VPhysicalVolume*) override;
0086
0087 G4VPhysicalVolume* GetPhantom() override;
0088
0089 protected:
0090 G4VBodyFactory* fBody;
0091 G4String fModel;
0092 G4VPhysicalVolume* fMotherVolume;
0093 G4VPhysicalVolume* fHeadVolume;
0094 G4VPhysicalVolume* fTrunkVolume;
0095 G4VPhysicalVolume* fLeftLegVolume;
0096 G4VPhysicalVolume* fRightLegVolume;
0097 G4VPhysicalVolume* fMaleGenitaliaVolume;
0098 };
0099 #endif