VMC Examples
Version 6.8
Toggle main menu visibility
Loading...
Searching...
No Matches
examples
E03
E03a
include
Ex03DetectorConstruction.h
Go to the documentation of this file.
1
#ifndef EX03_DETECTOR_CONSTRUCTION_H
2
#define EX03_DETECTOR_CONSTRUCTION_H
3
4
//------------------------------------------------
5
// The Virtual Monte Carlo examples
6
// Copyright (C) 2014 - 2018 Ivana Hrivnacova
7
// All rights reserved.
8
//
9
// For the licensing terms see geant4_vmc/LICENSE.
10
// Contact: root-vmc@cern.ch
11
//-------------------------------------------------
12
13
/// \file Ex03DetectorConstruction.h
14
/// \brief Definition of the Ex03DetectorConstruction class
15
///
16
/// Geant4 ExampleN03 adapted to Virtual Monte Carlo: \n
17
/// Id: ExN03DetectorConstruction.hh,v 1.5 2002/01/09 17:24:11 ranjard Exp
18
/// GEANT4 tag $Name: $
19
///
20
/// \author I. Hrivnacova; IPN, Orsay
21
22
#include <map>
23
24
#include <Riostream.h>
25
#include <TObject.h>
26
#include <TString.h>
27
28
/// \ingroup E03
29
/// \brief The detector construction (via TGeo )
30
///
31
/// \date 06/03/2003
32
/// \author I. Hrivnacova; IPN, Orsay
33
34
class
Ex03DetectorConstruction
:
public
TObject
35
{
36
public
:
37
Ex03DetectorConstruction
();
38
virtual
~Ex03DetectorConstruction
();
39
40
public
:
41
void
ConstructMaterials
();
42
void
ConstructGeometry
();
43
void
SetCuts
();
44
void
SetControls
();
45
void
PrintCalorParameters
();
46
// void UpdateGeometry();
47
48
// set methods
49
void
SetNbOfLayers
(Int_t value);
50
void
SetDefaultMaterial
(
const
TString& materialName);
51
void
SetAbsorberMaterial
(
const
TString& materialName);
52
void
SetGapMaterial
(
const
TString& materialName);
53
void
SetCalorSizeYZ
(Double_t value);
54
void
SetAbsorberThickness
(Double_t value);
55
void
SetGapThickness
(Double_t value);
56
void
SetUseAssemblies
(Bool_t value);
57
58
//
59
// get methods
60
61
/// \return The number of calorimeter layers
62
Int_t
GetNbOfLayers
()
const
{
return
fNbOfLayers
; }
63
64
/// \return The world size x component
65
Double_t
GetWorldSizeX
()
const
{
return
fWorldSizeX
; }
66
67
/// \return The world size y,z component
68
Double_t
GetWorldSizeYZ
()
const
{
return
fWorldSizeYZ
; }
69
70
/// \return The calorimeter size y,z component
71
Double_t
GetCalorSizeYZ
()
const
{
return
fCalorSizeYZ
; }
72
73
/// \return The calorimeter thickness
74
Double_t
GetCalorThickness
()
const
{
return
fCalorThickness
; }
75
76
/// \return The absorber thickness
77
Double_t
GetAbsorberThickness
()
const
{
return
fAbsorberThickness
; }
78
79
/// \return The gap thickness
80
Double_t
GetGapThickness
()
const
{
return
fGapThickness
; }
81
82
/// \return Whether the alternative geometry with assemblies is enabled
83
Bool_t
GetUseAssemblies
()
const
{
return
fUseAssemblies
; }
84
85
private
:
86
// helper type for setting cuts
87
struct
MaterialCuts
88
{
89
MaterialCuts
(
90
TString name, Double_t p1, Double_t p2, Double_t p3, Double_t p4)
91
:
fName
(name),
fCUTGAM
(p1),
fBCUTE
(p2),
fCUTELE
(p3),
fDCUTE
(p4)
92
{}
93
TString
fName
;
94
Double_t
fCUTGAM
;
95
Double_t
fBCUTE
;
96
Double_t
fCUTELE
;
97
Double_t
fDCUTE
;
98
};
99
100
// methods
101
void
ComputeCalorParameters
();
102
103
// data members
104
Int_t
fNbOfLayers
;
///< The number of calorimeter layers
105
Double_t
fWorldSizeX
;
///< The world size x component
106
Double_t
fWorldSizeYZ
;
///< The world size y,z component
107
Double_t
fCalorSizeYZ
;
///< The calorimeter size y,z component
108
Double_t
fCalorThickness
;
///< The calorimeter thickness
109
Double_t
fLayerThickness
;
///< The calorimeter layer thickness
110
Double_t
fAbsorberThickness
;
///< The absorber thickness
111
Double_t
fGapThickness
;
///< The gap thickness
112
113
TString
fDefaultMaterial
;
///< The default material name
114
TString
fAbsorberMaterial
;
///< The absorber material name
115
TString
fGapMaterial
;
///< The gap material name
116
117
Bool_t
fUseAssemblies
;
///< Option to place the calorimeter in assemblies
118
119
ClassDef(
Ex03DetectorConstruction
, 1)
// Ex03DetectorConstruction
120
};
121
122
/// Enable or disable the alternative geometry with assemblies
123
/// \param value If true, place the calorimeter in nested assemblies
124
inline
void
Ex03DetectorConstruction::SetUseAssemblies
(Bool_t value)
125
{
126
fUseAssemblies
= value;
127
}
128
129
#endif
// EX03_DETECTOR_CONSTRUCTION_H
Ex03DetectorConstruction::~Ex03DetectorConstruction
virtual ~Ex03DetectorConstruction()
Definition
Ex03DetectorConstruction.cxx:73
Ex03DetectorConstruction::GetUseAssemblies
Bool_t GetUseAssemblies() const
Definition
Ex03DetectorConstruction.h:83
Ex03DetectorConstruction::SetUseAssemblies
void SetUseAssemblies(Bool_t value)
Definition
Ex03DetectorConstruction.h:124
Ex03DetectorConstruction::fUseAssemblies
Bool_t fUseAssemblies
Option to place the calorimeter in assemblies.
Definition
Ex03DetectorConstruction.h:117
Ex03DetectorConstruction::fWorldSizeYZ
Double_t fWorldSizeYZ
The world size y,z component.
Definition
Ex03DetectorConstruction.h:106
Ex03DetectorConstruction::fNbOfLayers
Int_t fNbOfLayers
The number of calorimeter layers.
Definition
Ex03DetectorConstruction.h:104
Ex03DetectorConstruction::Ex03DetectorConstruction
Ex03DetectorConstruction()
Definition
Ex03DetectorConstruction.cxx:46
Ex03DetectorConstruction::GetNbOfLayers
Int_t GetNbOfLayers() const
Definition
Ex03DetectorConstruction.h:62
Ex03DetectorConstruction::GetCalorSizeYZ
Double_t GetCalorSizeYZ() const
Definition
Ex03DetectorConstruction.h:71
Ex03DetectorConstruction::SetNbOfLayers
void SetNbOfLayers(Int_t value)
Definition
Ex03DetectorConstruction.cxx:471
Ex03DetectorConstruction::fGapThickness
Double_t fGapThickness
The gap thickness.
Definition
Ex03DetectorConstruction.h:111
Ex03DetectorConstruction::fDefaultMaterial
TString fDefaultMaterial
The default material name.
Definition
Ex03DetectorConstruction.h:113
Ex03DetectorConstruction::SetGapThickness
void SetGapThickness(Double_t value)
Definition
Ex03DetectorConstruction.cxx:525
Ex03DetectorConstruction::ConstructGeometry
void ConstructGeometry()
Definition
Ex03DetectorConstruction.cxx:254
Ex03DetectorConstruction::GetWorldSizeYZ
Double_t GetWorldSizeYZ() const
Definition
Ex03DetectorConstruction.h:68
Ex03DetectorConstruction::GetAbsorberThickness
Double_t GetAbsorberThickness() const
Definition
Ex03DetectorConstruction.h:77
Ex03DetectorConstruction::PrintCalorParameters
void PrintCalorParameters()
Definition
Ex03DetectorConstruction.cxx:459
Ex03DetectorConstruction::SetAbsorberThickness
void SetAbsorberThickness(Double_t value)
Definition
Ex03DetectorConstruction.cxx:516
Ex03DetectorConstruction::GetGapThickness
Double_t GetGapThickness() const
Definition
Ex03DetectorConstruction.h:80
Ex03DetectorConstruction::fAbsorberMaterial
TString fAbsorberMaterial
The absorber material name.
Definition
Ex03DetectorConstruction.h:114
Ex03DetectorConstruction::fLayerThickness
Double_t fLayerThickness
The calorimeter layer thickness.
Definition
Ex03DetectorConstruction.h:109
Ex03DetectorConstruction::fGapMaterial
TString fGapMaterial
The gap material name.
Definition
Ex03DetectorConstruction.h:115
Ex03DetectorConstruction::GetCalorThickness
Double_t GetCalorThickness() const
Definition
Ex03DetectorConstruction.h:74
Ex03DetectorConstruction::fAbsorberThickness
Double_t fAbsorberThickness
The absorber thickness.
Definition
Ex03DetectorConstruction.h:110
Ex03DetectorConstruction::SetAbsorberMaterial
void SetAbsorberMaterial(const TString &materialName)
Definition
Ex03DetectorConstruction.cxx:489
Ex03DetectorConstruction::SetDefaultMaterial
void SetDefaultMaterial(const TString &materialName)
Definition
Ex03DetectorConstruction.cxx:480
Ex03DetectorConstruction::SetControls
void SetControls()
Definition
Ex03DetectorConstruction.cxx:442
Ex03DetectorConstruction::SetCuts
void SetCuts()
Definition
Ex03DetectorConstruction.cxx:389
Ex03DetectorConstruction::fCalorThickness
Double_t fCalorThickness
The calorimeter thickness.
Definition
Ex03DetectorConstruction.h:108
Ex03DetectorConstruction::ConstructMaterials
void ConstructMaterials()
Definition
Ex03DetectorConstruction.cxx:99
Ex03DetectorConstruction::GetWorldSizeX
Double_t GetWorldSizeX() const
Definition
Ex03DetectorConstruction.h:65
Ex03DetectorConstruction::ComputeCalorParameters
void ComputeCalorParameters()
Definition
Ex03DetectorConstruction.cxx:83
Ex03DetectorConstruction::SetCalorSizeYZ
void SetCalorSizeYZ(Double_t value)
Definition
Ex03DetectorConstruction.cxx:507
Ex03DetectorConstruction::fWorldSizeX
Double_t fWorldSizeX
The world size x component.
Definition
Ex03DetectorConstruction.h:105
Ex03DetectorConstruction::SetGapMaterial
void SetGapMaterial(const TString &materialName)
Definition
Ex03DetectorConstruction.cxx:498
Ex03DetectorConstruction::fCalorSizeYZ
Double_t fCalorSizeYZ
The calorimeter size y,z component.
Definition
Ex03DetectorConstruction.h:107
TObject
Ex03DetectorConstruction::MaterialCuts::fName
TString fName
Definition
Ex03DetectorConstruction.h:93
Ex03DetectorConstruction::MaterialCuts::fCUTELE
Double_t fCUTELE
Definition
Ex03DetectorConstruction.h:96
Ex03DetectorConstruction::MaterialCuts::fDCUTE
Double_t fDCUTE
Definition
Ex03DetectorConstruction.h:97
Ex03DetectorConstruction::MaterialCuts::fCUTGAM
Double_t fCUTGAM
Definition
Ex03DetectorConstruction.h:94
Ex03DetectorConstruction::MaterialCuts::MaterialCuts
MaterialCuts(TString name, Double_t p1, Double_t p2, Double_t p3, Double_t p4)
Definition
Ex03DetectorConstruction.h:89
Ex03DetectorConstruction::MaterialCuts::fBCUTE
Double_t fBCUTE
Definition
Ex03DetectorConstruction.h:95
Generated on
for VMC Examples by
1.17.0