Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
g4lbne
src
LBNEStandardPerson.cc
Go to the documentation of this file.
1
//---------------------------------------------------------------------------//
2
// $Id: LBNEStandardPerson.cc,v 1.1.2.4 2013/09/05 12:32:50 lebrun Exp $
3
//---------------------------------------------------------------------------//
4
5
#include <stdio.h>
6
#include <math.h>
7
8
//Local and Geant4
9
//#include "LBNEDetectorConstruction.hh"
10
11
#include "G4Material.hh"
12
#include "G4Box.hh"
13
#include "G4Tubs.hh"
14
#include "G4Sphere.hh"
15
#include "G4Trap.hh"
16
#include "G4Cons.hh"
17
#include "G4Torus.hh"
18
#include "G4LogicalVolume.hh"
19
#include "G4ThreeVector.hh"
20
#include "G4PVPlacement.hh"
21
#include "G4SubtractionSolid.hh"
22
#include "G4UnionSolid.hh"
23
#include "G4VisAttributes.hh"
24
#include "globals.hh"
25
#include "G4Transform3D.hh"
26
#include "G4RotationMatrix.hh"
27
#include "G4AssemblyVolume.hh"
28
#include "
LBNEStandardPerson.hh
"
29
30
LBNEStandardPerson::LBNEStandardPerson
(G4String detName)
31
{
32
std::cout <<
" LBNEStandardPerson called...with detName "
<< detName <<
std::endl
;
33
// fMessenger = new LBNEStandardPersonMessenger(this);
34
}
35
36
LBNEStandardPerson::~LBNEStandardPerson
()
37
{
38
// delete fMessenger;
39
}
40
41
42
void
LBNEStandardPerson::ConstructSubvolume
()
43
{
44
// Hadron Absorber
45
46
G4cout <<
"Constructing the Hadron Absorber"
<< G4endl;
47
G4ThreeVector absorberPosition = G4ThreeVector(0,0,0);
48
49
50
//---------------------------------------------------------------------------//
51
/*
52
So the absorber is a block. The outer block is concrete, the mid block is
53
steel, and there's aluminum and i guess air in there somewhere as well. For
54
construction, the outer volume will be air, and then nested shells for the
55
concrete, steel, and aluminum.
56
57
*/
58
//---------------------------------------------------------------------------//
59
//---------------------------------------------------------------------------//
60
// Dimensions
61
//---------------------------------------------------------------------------//
62
63
//---------------------------------------------------------------------------//
64
// G4double eps = 1.0e-6*CLHEP::cm;
65
66
fHeadRadius
= 10*CLHEP::cm;
67
fHeight
= 170*CLHEP::cm;
68
fLegLength
= 80*CLHEP::cm;
69
fLegRadius
= 15*CLHEP::cm;
70
fTorsoLength
=
fHeight
-
fLegLength
;
71
fTorsoRadius
= 18*CLHEP::cm;
72
73
// Base Solids
74
G4Sphere* headSolid =
new
G4Sphere(
"headSolid"
, 0,
fHeadRadius
,
75
0, 360*CLHEP::deg,
76
0, 180*CLHEP::deg);
77
78
G4Tubs* torsoSolid =
new
G4Tubs(
"torsoSolid"
, 0,
fTorsoRadius
,
79
fTorsoLength
/2, 0, 360*CLHEP::deg);
80
81
G4Tubs* legSolid =
new
G4Tubs(
"legSolid"
, 0,
fLegRadius
,
82
fLegLength/2, 0, 360*CLHEP::deg);
83
84
G4UnionSolid *humanSolid =
new
G4UnionSolid(
"humanSolid"
, legSolid,
85
torsoSolid, 0,
86
G4ThreeVector(0,0,fLegLength));
87
humanSolid =
new
G4UnionSolid(
"humanSolid"
, humanSolid,
88
headSolid, 0,
89
G4ThreeVector(0,0,
fHeadRadius
+
90
0.5*
fTorsoLength
+fLegLength));
91
92
G4LogicalVolume *humanLogical =
93
new
G4LogicalVolume(humanSolid, G4Material::GetMaterial(
"Air"
),
94
"HumanLogical"
, 0,0,0);
95
96
97
G4VisAttributes *Vis =
new
G4VisAttributes(G4Colour(0,0.3,0.3));
98
humanLogical->SetVisAttributes(Vis);
99
// fSubVolumeLogical = humanLogical;
100
}
101
/*
102
LBNEStandardPersonMessenger::LBNEStandardPersonMessenger(LBNESubVolume *subVolume)
103
:LBNESubVolumeMessenger(subVolume)
104
{
105
fStandardPerson = (LBNEStandardPerson*)subVolume;
106
}
107
108
LBNEStandardPersonMessenger::~LBNEStandardPersonMessenger()
109
{
110
}
111
112
void LBNEStandardPersonMessenger::SetNewValue(G4UIcommand* command, G4String val)
113
{
114
}
115
*/
LBNEStandardPerson::~LBNEStandardPerson
~LBNEStandardPerson()
Definition:
LBNEStandardPerson.cc:36
LBNEStandardPerson::fLegLength
G4double fLegLength
Definition:
LBNEStandardPerson.hh:17
LBNEStandardPerson::fTorsoLength
G4double fTorsoLength
Definition:
LBNEStandardPerson.hh:19
LBNEStandardPerson::fLegRadius
G4double fLegRadius
Definition:
LBNEStandardPerson.hh:16
LBNEStandardPerson::ConstructSubvolume
void ConstructSubvolume()
Definition:
LBNEStandardPerson.cc:42
LBNEStandardPerson::fTorsoRadius
G4double fTorsoRadius
Definition:
LBNEStandardPerson.hh:18
LBNEStandardPerson::fHeadRadius
G4double fHeadRadius
Definition:
LBNEStandardPerson.hh:14
LBNEStandardPerson::LBNEStandardPerson
LBNEStandardPerson(G4String detName)
Definition:
LBNEStandardPerson.cc:30
LBNEStandardPerson::fHeight
G4double fHeight
Definition:
LBNEStandardPerson.hh:15
LBNEStandardPerson.hh
endl
QTextStream & endl(QTextStream &s)
Definition:
qtextstream.cpp:2030
Generated by
1.8.11