Download
|
User Forum
|
Contact Us
|
Bug Reports
Home
>
Examples
Loading...
Searching...
No Matches
extended
biasing
GB04
src
GB04DetectorConstruction.cc
Go to the documentation of this file.
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
26
//
27
/// \file GB04DetectorConstruction.cc
28
/// \brief Implementation of the GB04DetectorConstruction class
29
30
#include "
GB04DetectorConstruction.hh
"
31
#include "G4SystemOfUnits.hh"
32
33
#include "G4Material.hh"
34
#include "G4NistManager.hh"
35
36
#include "G4Box.hh"
37
#include "G4LogicalVolume.hh"
38
#include "G4LogicalVolumeStore.hh"
39
#include "G4PVPlacement.hh"
40
#include "G4UniformMagField.hh"
41
42
#include "G4VisAttributes.hh"
43
#include "G4Colour.hh"
44
45
#include "G4NistManager.hh"
46
47
#include "
GB04BOptrBremSplitting.hh
"
48
49
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
50
51
GB04DetectorConstruction::GB04DetectorConstruction
()
52
{}
53
54
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
55
56
GB04DetectorConstruction::~GB04DetectorConstruction
()
57
{}
58
59
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
60
61
G4VPhysicalVolume
*
GB04DetectorConstruction::Construct
()
62
{
63
G4Material
* worldMaterial = G4NistManager::Instance()->FindOrBuildMaterial(
"G4_Galactic"
);
64
G4Material
* defaultMaterial = G4NistManager::Instance()->FindOrBuildMaterial(
"G4_Al"
);
65
66
G4VSolid
* solidWorld =
new
G4Box
(
"World"
, 10*m, 10*m, 10*m );
67
68
G4LogicalVolume
* logicWorld =
new
G4LogicalVolume
(solidWorld,
//its solid
69
worldMaterial,
//its material
70
"World"
);
//its name
71
72
G4PVPlacement
* physiWorld =
new
G4PVPlacement
(0,
//no rotation
73
G4ThreeVector(),
//at (0,0,0)
74
logicWorld,
//its logical volume
75
"World"
,
//its name
76
0,
//its mother volume
77
false
,
//no boolean operation
78
0);
//copy number
79
80
// -----------------------------------
81
// -- volume where biasing is applied:
82
// -----------------------------------
83
G4double halfZ = 5*mm;
84
G4VSolid
* solidTest =
new
G4Box
(
"test.solid"
, 1*m, 1*m, halfZ );
85
86
G4LogicalVolume
* logicTest =
new
G4LogicalVolume
(solidTest,
//its solid
87
defaultMaterial,
//its material
88
"test.logical"
);
//its name
89
90
new
G4PVPlacement
(0,
// no rotation
91
G4ThreeVector(0,0, halfZ),
// volume entrance at (0,0,0)
92
logicTest,
// its logical volume
93
"test.phys"
,
// its name
94
logicWorld,
// its mother volume
95
false
,
// no boolean operation
96
0);
// copy number
97
98
99
return
physiWorld;
100
}
101
102
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
103
104
void
GB04DetectorConstruction::ConstructSDandField
()
105
{
106
// -- Fetch volume for biasing:
107
G4LogicalVolume
* logicTest =
108
G4LogicalVolumeStore::GetInstance()->GetVolume(
"test.logical"
);
109
110
// ----------------------------------------------
111
// -- operator creation and attachment to volume:
112
// ----------------------------------------------
113
GB04BOptrBremSplitting
* bremSplittingOperator =
new
GB04BOptrBremSplitting
();
114
bremSplittingOperator->AttachTo(logicTest);
115
G4cout <<
" Attaching biasing operator "
<< bremSplittingOperator->GetName()
116
<<
" to logical volume "
<< logicTest->GetName()
117
<< G4endl;
118
}
119
120
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
GB04BOptrBremSplitting.hh
Definition of the GB04BOptrBremSplitting class.
GB04DetectorConstruction.hh
Definition of the GB04DetectorConstruction class.
G4Box
G4LogicalVolume
G4Material
G4PVPlacement
G4VPhysicalVolume
G4VSolid
GB04BOptrBremSplitting
Definition
Doxymodules_biasing.h:110
GB04DetectorConstruction::GB04DetectorConstruction
GB04DetectorConstruction()
Definition
GB04DetectorConstruction.cc:51
GB04DetectorConstruction::~GB04DetectorConstruction
~GB04DetectorConstruction()
Definition
GB04DetectorConstruction.cc:56
GB04DetectorConstruction::ConstructSDandField
virtual void ConstructSDandField()
Definition
GB04DetectorConstruction.cc:104
GB04DetectorConstruction::Construct
virtual G4VPhysicalVolume * Construct()
Definition
GB04DetectorConstruction.cc:61
Generated on Tue Jan 30 2024 12:18:45 for Geant4 examples by
1.9.8
Applications
|
User Support
|
Publications
|
Collaboration