VMC Examples
Version 6.8
Toggle main menu visibility
Loading...
Searching...
No Matches
examples
E03
E03a
geant4
include
B4DetectorConstruction.hh
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
// $Id: B4DetectorConstruction.hh 75215 2013-10-29 16:07:06Z gcosmo $
27
//
28
/// \file B4DetectorConstruction.hh
29
/// \brief Definition of the B4DetectorConstruction class
30
31
#ifndef B4DetectorConstruction_h
32
#define B4DetectorConstruction_h 1
33
34
#include "G4VUserDetectorConstruction.hh"
35
#include "globals.hh"
36
37
class
G4VPhysicalVolume;
38
class
G4GlobalMagFieldMessenger;
39
40
/// Detector construction class to define materials and geometry.
41
/// The calorimeter is a box made of a given number of layers. A layer consists
42
/// of an absorber plate and of a detection gap. The layer is replicated.
43
///
44
/// Four parameters define the geometry of the calorimeter :
45
///
46
/// - the thickness of an absorber plate,
47
/// - the thickness of a gap,
48
/// - the number of layers,
49
/// - the transverse size of the calorimeter (the input face is a square).
50
///
51
/// In addition a transverse uniform magnetic field is defined
52
/// via G4GlobalMagFieldMessenger class.
53
54
class
B4DetectorConstruction
:
public
G4VUserDetectorConstruction
55
{
56
public
:
57
B4DetectorConstruction
();
58
virtual
~B4DetectorConstruction
();
59
60
public
:
61
virtual
G4VPhysicalVolume*
Construct
();
62
virtual
void
ConstructSDandField
();
63
64
// get methods
65
//
66
const
G4VPhysicalVolume*
GetAbsorberPV
()
const
;
67
const
G4VPhysicalVolume*
GetGapPV
()
const
;
68
69
private
:
70
// methods
71
//
72
void
DefineMaterials
();
73
G4VPhysicalVolume*
DefineVolumes
();
74
75
// data members
76
//
77
static
G4ThreadLocal G4GlobalMagFieldMessenger*
fMagFieldMessenger
;
78
// magnetic field messenger
79
80
G4VPhysicalVolume*
fAbsorberPV
;
// the absorber physical volume
81
G4VPhysicalVolume*
fGapPV
;
// the gap physical volume
82
83
G4bool
fCheckOverlaps
;
// option to activate checking of volumes overlaps
84
};
85
86
// inline functions
87
88
inline
const
G4VPhysicalVolume*
B4DetectorConstruction::GetAbsorberPV
()
const
{
89
return
fAbsorberPV
;
90
}
91
92
inline
const
G4VPhysicalVolume*
B4DetectorConstruction::GetGapPV
()
const
{
93
return
fGapPV
;
94
}
95
96
97
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
98
99
#endif
100
B4DetectorConstruction::fGapPV
G4VPhysicalVolume * fGapPV
Definition
B4DetectorConstruction.hh:81
B4DetectorConstruction::GetGapPV
const G4VPhysicalVolume * GetGapPV() const
Definition
B4DetectorConstruction.hh:92
B4DetectorConstruction::fAbsorberPV
G4VPhysicalVolume * fAbsorberPV
Definition
B4DetectorConstruction.hh:80
B4DetectorConstruction::~B4DetectorConstruction
virtual ~B4DetectorConstruction()
Definition
B4DetectorConstruction.cxx:73
B4DetectorConstruction::fCheckOverlaps
G4bool fCheckOverlaps
Definition
B4DetectorConstruction.hh:83
B4DetectorConstruction::B4DetectorConstruction
B4DetectorConstruction()
Definition
B4DetectorConstruction.cxx:64
B4DetectorConstruction::GetAbsorberPV
const G4VPhysicalVolume * GetAbsorberPV() const
Definition
B4DetectorConstruction.hh:88
B4DetectorConstruction::fMagFieldMessenger
static G4ThreadLocal G4GlobalMagFieldMessenger * fMagFieldMessenger
Definition
B4DetectorConstruction.hh:77
B4DetectorConstruction::ConstructSDandField
virtual void ConstructSDandField()
Definition
B4DetectorConstruction.cxx:258
B4DetectorConstruction::DefineVolumes
G4VPhysicalVolume * DefineVolumes()
Definition
B4DetectorConstruction.cxx:112
B4DetectorConstruction::DefineMaterials
void DefineMaterials()
Definition
B4DetectorConstruction.cxx:88
B4DetectorConstruction::Construct
virtual G4VPhysicalVolume * Construct()
Definition
B4DetectorConstruction.cxx:77
G4VUserDetectorConstruction
Generated on
for VMC Examples by
1.17.0