EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mumegas.C
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file mumegas.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 
14 {
15  // Load basic libraries;
16  gROOT->Macro("$VMCWORKDIR/gconfig/rootlogon.C");
17 
19 
20 #ifdef _TEST_VERSION_
21  mmt->SetTestGeometryFlag();
22 #endif
23 
25 
26  // FIXME: need FR4 here; 320um thick (e-mail from Maxence 2015/01/23);
27  layer->mReadoutPcbMaterial = "MuMegasG10";
28  layer->mReadoutPcbThickness = 0.320;
29 
30  // FIXME: this is effective thickness I guess?;
31  layer->mCopperStripThickness = 0.010;
32 
33  // Let's say, Ar(70)/CO2(30), see Maxence' muMegas.C; 130um amplification region;
34  layer->mGasMixture = "arco27030mmg";
35  layer->mAmplificationRegionLength = 0.130;
36 
37  // FIXME: will need 'steel' in media.geo;
38  layer->mSteelMeshThickness = 0.300 * (19./50.) * (19./50.);
39 
40  // 3mm conversion gap for now;
41  layer->mConversionRegionLength = 3.000;
42 
43  // Basically a placeholder for now; assume 25um kapton as entrance window;
44  layer->mExitWindowMaterial = "MuMegasKapton";
45  layer->mExitWindowThickness = 0.100;
46 
47  // FIXME: these parameters need to be checked and made real; the problem is
48  // that they will be sitting in the clear acceptance, so handle with care;
49  // for instance PandaRoot tracker clearly gets confused (provides a bit
50  // biased momentum estimates when these frames are thick;
51  layer->mInnerFrameWidth = 4.00;
52  layer->mInnerFrameThickness = 4.00;
53  layer->mOuterFrameWidth = 4.00;
54  layer->mOuterFrameThickness = 4.00;
55 
56  // Parameters are:
57  // - layer construction;
58  // - length;
59  // - segmentation in Z;
60  // - radius;
61  // - segmentation in phi;
62  // - Z offset from 0.0 (default);
63  // - asimuthat offset from 0.0 (default);
64  mmt->AddBarrel(layer, 2000., 2, 825., 6, 0.0, 0.0);
65  mmt->AddBarrel(layer, 2000., 2, 835., 6, 0.0, 0.0);
66 
67  mmt->AddBarrel(layer, 450., 1, 175., 3, 0.0, 0.0);
68  //-mmt->AddBarrel(layer, 450., 1, 175., 1, 0.0, 0.0);
69  mmt->AddBarrel(layer, 450., 1, 185., 3, 0.0, 0.0);
70  //-mmt->AddBarrel(layer, 450., 1, 185., 1, 0.0, 0.0);
71 
72  mmt->AttachSourceFile("./mumegas.C");
73 
74  mmt->GetColorTable()->AddPatternMatch("Frame", kGray);
75  mmt->GetColorTable()->AddPatternMatch("ReadoutPcb", kOrange+2);
76  mmt->GetColorTable()->AddPatternMatch("ExitWindow", kOrange+2);
77 
78  //
79  // Fine, at this point structure is completely defined -> code it in ROOT;
80  //
81 
82  mmt->ConstructGeometry();
83 
84  // Yes, always exit;
85  exit(0);
86 }
87