Geant4
10.03.p03
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G3Division.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
//
27
// $Id: G3Division.hh 67982 2013-03-13 10:36:03Z gcosmo $
28
//
29
// ----------------------
30
// Class description:
31
//
32
// This class tranforms G3 divided volumes to G4 replicated volumes.
33
// UpdateVTE() method checks parameters of mother volume
34
// and in case they are complete the solid that will be replicated
35
// is created. In case of division with offset an additinal envelope
36
// VTE (G3VolTableEntry instance) is created.
37
// CreatePVReplica() methods creates the G4PVReplica instance.
38
39
// ----------------------
40
//
41
// by I.Hrivnacova, V.Berejnoi, 27 Sep 99
42
43
#ifndef G3DIVISION_HH
44
#define G3DIVISION_HH 1
45
46
#include "
globals.hh
"
47
#include "
geomdefs.hh
"
48
49
class
G3VolTableEntry
;
50
class
G4VPhysicalVolume
;
51
class
G4LogicalVolume
;
52
53
enum
G3DivType
{
kDvn
,
kDvn2
,
kDvt
,
kDvt2
};
54
55
class
G3Division
56
{
57
public
:
// with description
58
59
G3Division
(
G3DivType
type,
G3VolTableEntry
* vte,
G3VolTableEntry
* mvte,
60
G4int
nofDivision,
G4int
iaxis,
G4int
nmed,
G4double
c0,
61
G4double
step);
62
G3Division
(
G3VolTableEntry
* vte,
G3VolTableEntry
* mvte,
63
const
G3Division
& division);
64
virtual
~G3Division
();
65
66
// methods
67
void
UpdateVTE
();
68
void
CreatePVReplica
();
69
70
private
:
71
72
// methods
73
void
SetRangeAndAxis();
74
void
CreateSolid(
G4String
shape,
G4double
par[],
G4int
npar);
75
G3VolTableEntry
* CreateEnvelope(
G4String
shape,
G4double
hi,
G4double
lo,
76
G4double
par[],
G4int
npar);
77
G3VolTableEntry
* Dvn ();
78
G3VolTableEntry
* Dvn2();
79
G3VolTableEntry
* Dvt ();
80
G3VolTableEntry
* Dvt2();
81
void
Exception(
G4String
where,
G4String
what);
82
83
// data members
84
G3DivType
fType;
85
G3VolTableEntry
* fVTE;
86
G3VolTableEntry
* fMVTE;
87
G4int
fNofDivisions;
// ndiv/ndvmx
88
G4int
fIAxis;
89
G4int
fNmed;
90
G4double
fC0;
91
G4double
fStep;
92
G4double
fLowRange;
93
G4double
fHighRange;
94
G4double
fWidth;
95
G4double
fOffset;
96
EAxis
fAxis;
97
};
98
99
#endif //G3_DIVISION_H
G3Division::UpdateVTE
void UpdateVTE()
Definition:
G3Division.cc:97
kDvn2
Definition:
G3Division.hh:53
G4VPhysicalVolume
Definition:
G4VPhysicalVolume.hh:82
geomdefs.hh
G3VolTableEntry
Definition:
G3VolTableEntry.hh:80
G4int
int G4int
Definition:
G4Types.hh:78
kDvn
Definition:
G3Division.hh:53
kDvt2
Definition:
G3Division.hh:53
G3Division::G3Division
G3Division(G3DivType type, G3VolTableEntry *vte, G3VolTableEntry *mvte, G4int nofDivision, G4int iaxis, G4int nmed, G4double c0, G4double step)
Definition:
G3Division.cc:50
G4LogicalVolume
Definition:
G4LogicalVolume.hh:190
globals.hh
G3Division
Definition:
G3Division.hh:55
EAxis
EAxis
Definition:
geomdefs.hh:54
kDvt
Definition:
G3Division.hh:53
G3DivType
G3DivType
Definition:
G3Division.hh:53
G4double
double G4double
Definition:
G4Types.hh:76
G3Division::~G3Division
virtual ~G3Division()
Definition:
G3Division.cc:92
G3Division::CreatePVReplica
void CreatePVReplica()
Definition:
G3Division.cc:128
G4String
Definition:
G4String.hh:45
source
geant4.10.03.p03
source
g3tog4
include
G3Division.hh
Generated on Tue Nov 28 2017 21:43:55 for Geant4 by
1.8.5