EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
EIC Software
Deprecated List
Modules
Namespaces
Classes
Files
File List
acts
BeastMagneticField
delphes_EIC
Doxygen_Assist
east
eic-smear
EicRoot
blob
master
base
cbmbase
cbmdata
dbase
eic
eventdisplay
examples
fairtools
field
gconfig
geane
genfit
GenfitTools
geobase
geometry
BEAMPIPE
ECAL
GEM
HCAL
LQST
MAPS
sandbox
fbst.C
maps-lib.C
vst.C
VstRadLength.C
MUMEGAS
RICH
ROMANPOT
STAR.FWD
TPC
rad_length.C
input
littrack
parbase
passive
pCDR-2018
pid
pnddata
PndTools
rich
trackbase
eicsmear-jetexample
eicsmeardetectors
EicToyModel
estarlight
Fun4All-lmon
fun4all_coresoftware
fun4all_eic_qa
fun4all_eic_tutorials
fun4all_eicdetectors
fun4all_eicmacros
fun4all_g4jleic
fun4all_GenFit
fun4all_macros
fun4all_tutorials
g4exampledetector
g4lblvtx
online_distribution
PEPSI
doxygen_mainpage.h
File Members
External Links
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
vst.C
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file vst.C
1
2
// Meaningless number for now; fine;
3
#define _VERSION_ 1
4
#define _SUBVERSION_ 0
5
6
// Do not want to always overwrite "official" files; place "test" tag into the file name;
7
//#define _TEST_VERSION_
8
9
// All construction elements are smeared (so chip assembly is uniform in both
10
// beam line and asimuthal direction);
11
//#define _NO_STRUCTURE_GEOMETRY_
12
// No tricky elements like inclined roof beams; still water pipes, etc are
13
// created (so chip assembly is uniform in beam line direction only);
14
//#define _BEAM_LINE_UNIFORM_GEOMETRY_
15
16
// In case of VST no need to fall back to tricky TGeoCompositeShape cell assemblies;
17
#define _USE_TRIANGULAR_ASSEMBLIES_
18
19
// Comment out if no mounting rings wanted;
20
//#define _WITH_MOUNTING_RINGS_
21
// Comment out if no stave enforcement brackets wanted;
22
//#define _WITH_ENFORCEMENT_BRACKETS_
23
// Comment out if no external water pipe pieces wanted;
24
//#define _WITH_EXTERNAL_PIPES_
25
26
#include <
./maps-lib.C
>
27
28
vst
()
29
{
30
// Load basic libraries;
31
gROOT->Macro(
"$VMCWORKDIR/gconfig/rootlogon.C"
);
32
33
//
34
// Prefer to think in [mm] and convert to [cm] when calling ROOT shape
35
// definition routines only;
36
//
37
38
VstGeoParData
*
vst
=
new
VstGeoParData
(
_VERSION_
,
_SUBVERSION_
);
39
40
// Parse #define statements and make certain configuration calls accordingly;
41
// NB: cast to the base MAPS geo class since void* interface used; FIXME!;
42
DefinitionParser
((
MapsGeoParData
*)vst);
43
44
//
45
// For now assume ALICE Inner Barrel design only (but with more than 9 chips);
46
// no problem to introduce similar design with a bit different parameter set later;
47
// construction a-la ALICE Outer Barrel looks like an overkill to the moment;
48
//
49
50
// No offset per default;
51
//vst->SetTopVolumeTransformation(new TGeoTranslation(0.0, 0.0, 0.0));
52
53
//
54
// NB: all these numbers are sort of arbitrary; allow to get better visual
55
// representation, but do not reflect any reality of the final design;
56
//
57
58
// Mounting ring construction; arbitrary numbers, same for all layers;
59
if
(vst->
WithMountingRings
()) {
60
vst->
mMountingRingBeamLineThickness
= 5.00;
61
vst->
mMountingRingRadialThickness
= 5.00;
62
vst->
mMountingRingRadialOffset
= 3.00;
63
}
//if
64
// Simplify the design -> just a triangular piece with a reasonable volume;
65
if
(vst->
WithEnforcementBrackets
())
66
vst->
mEnforcementBracketThickness
= 1.00;
67
// This is something for display purposes mostly;
68
if (vst->
WithExternalPipes
())
69
vst->
mWaterPipeExtensionLength
= 4.00;
70
71
MapsMimosaAssembly
*
ibcell
= (
MapsMimosaAssembly
*)
ConfigureAliceCell
();
72
73
// If (much) longer staves needed, create an enforced configuration;
74
//MapsMimosaAssembly *obcell = new MapsMimosaAssembly(ibcell);
75
//obcell->mEnforcementBeamDiameter = 1.00; ... and so on ...
76
77
//
78
// Now when basic building blocks are created, compose barrel layers;
79
//
80
// a dirty part, but perhaps the easiest (and most readable) to do; parameters are:
81
// - cell assembly type;
82
// - number of staves in this layer;
83
// - number of chips in a stave;
84
// - chip center installation radius;
85
// - additional stave slope around beam line direction; [degree];
86
// - layer rotation around beam axis "as a whole"; [degree];
87
//
88
vst->
AddBarrelLayer
(
ibcell
, 12, 9, 23.4, 12.0, 0.0);
89
vst->
AddBarrelLayer
(
ibcell
, 2*12, 9, 2*23.4, 12.0, 0.0);
90
91
vst->
AddBarrelLayer
(
ibcell
, 6*12, 14, 6*23.4, 14.0, 0.0);
92
vst->
AddBarrelLayer
(
ibcell
, 4*20, 14, 4*39.3, 14.0, 0.0);
93
94
vst->
AttachSourceFile
(
"vst.C"
);
95
vst->
AttachSourceFile
(
"maps-lib.C"
);
96
vst->
AttachSourceFile
(
"../../eic/detectors/maps/VstGeoParData.cxx"
);
97
98
// Specify color preferences; NB: void* interface, sorry;
99
SetMapsColors
((
EicGeoParData
*)vst);
100
101
//
102
// Fine, at this point structure is completely defined -> code it in ROOT;
103
//
104
105
vst->
ConstructGeometry
();
106
107
// Yes, always exit;
108
exit
(0);
109
}
110
EicRoot
blob
master
geometry
MAPS
vst.C
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:36
using
1.8.2 with
EIC GitHub integration