Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4VoxelLeftBreast Class Reference

#include <G4VoxelLeftBreast.hh>

Inheritance diagram for G4VoxelLeftBreast:
Collaboration diagram for G4VoxelLeftBreast:

Public Member Functions

 G4VoxelLeftBreast ()
 
 ~G4VoxelLeftBreast ()
 
G4VPhysicalVolumeConstruct (const G4String &, G4VPhysicalVolume *, const G4String &, G4bool, G4bool)
 
- Public Member Functions inherited from G4VOrgan
 G4VOrgan ()
 
virtual ~G4VOrgan ()
 

Detailed Description

Definition at line 42 of file G4VoxelLeftBreast.hh.

Constructor & Destructor Documentation

G4VoxelLeftBreast::G4VoxelLeftBreast ( )

Definition at line 52 of file G4VoxelLeftBreast.cc.

53 {
54 }
G4VoxelLeftBreast::~G4VoxelLeftBreast ( )

Definition at line 56 of file G4VoxelLeftBreast.cc.

57 {
58 }

Member Function Documentation

G4VPhysicalVolume * G4VoxelLeftBreast::Construct ( const G4String volumeName,
G4VPhysicalVolume mother,
const G4String colourName,
G4bool  wireFrame,
G4bool   
)
virtual

Implements G4VOrgan.

Definition at line 60 of file G4VoxelLeftBreast.cc.

65 {
67  G4Material* adipose = material -> GetMaterial("adipose");
68  G4Material* adipose_glandular = material -> GetMaterial("adipose_glandular");
69  delete material;
70 
71  G4double rmin = 0.* cm;
72  G4double rmax = 6. * cm;
73  G4double zz = 6. * cm;
74  G4double startPhi = 0.* degree;
75  G4double spanningPhi = 180. * degree;
76 
77  G4Tubs* breast = new G4Tubs("out_breast", rmin, rmax,
78  zz/2., startPhi, spanningPhi);
79 
80  G4LogicalVolume* breast_log = new G4LogicalVolume(breast,
81  adipose,
82  "logicalOut"+ volumeName,
83  0, 0, 0);
84  rmax = 5.5 *cm;
85  zz = 5. *cm;
86  G4Tubs* innerBreast = new G4Tubs("inner_breast",
87  rmin, rmax,
88  zz/2., startPhi, spanningPhi);
89 
90  G4LogicalVolume* innerBreast_log = new G4LogicalVolume(innerBreast,
91  adipose_glandular,
92  "logical"+ volumeName,
93  0, 0, 0);
94 
95  G4RotationMatrix* matrix = new G4RotationMatrix();
96  // matrix -> rotateX(-90.* degree);
97  // matrix -> rotateY(180.* degree);
98  matrix -> rotateZ(18. * degree);
99 
100 
101  G4VPhysicalVolume* physBreast = new G4PVPlacement(matrix,G4ThreeVector(10.*cm, 8.7* cm, 52. *cm),
102  "physicalVoxelLeftBreast",
103  breast_log,
104  mother,
105  false,
106  0, true);
107 
108  G4VPhysicalVolume* physInnerBreast = new G4PVPlacement(0,G4ThreeVector(),
109  "LeftBreast",
110  innerBreast_log,
111  physBreast,
112  false,
113  0, true);
114 
115 
116 
117  G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour();
118  G4Colour colour = colourPointer -> GetColour(colourName);
119  delete colourPointer;
120 
121  G4VisAttributes* BreastVisAtt = new G4VisAttributes(colour);
122  BreastVisAtt -> SetForceSolid(wireFrame);
123  breast_log -> SetVisAttributes(BreastVisAtt);
124 
125  G4VisAttributes* innerBreastVisAtt = new G4VisAttributes(colour);
126  innerBreastVisAtt -> SetForceSolid(false);
127  innerBreast_log -> SetVisAttributes(innerBreastVisAtt);
128 
129 
130  G4cout << "Voxel Left Breast created !!!!!! This model has to be refined" << G4endl;
131  return physInnerBreast;
132 }
CLHEP::Hep3Vector G4ThreeVector
CLHEP::HepRotation G4RotationMatrix
Definition: G4Tubs.hh:85
string material
Definition: eplot.py:19
G4GLOB_DLL std::ostream G4cout
static constexpr double degree
Definition: G4SIunits.hh:144
static constexpr double cm
Definition: G4SIunits.hh:119
#define G4endl
Definition: G4ios.hh:61
double G4double
Definition: G4Types.hh:76

The documentation for this class was generated from the following files: