EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
fbgt.C
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file fbgt.C
1 
2 // Units are [mm]; will be rescaled to [cm] internally by fbgt->AddWheel()
3 // when calling respective ROOT primitive creation routines;
4 
5 // Meaningless numbers for now; fine;
6 #define _VERSION_ 1
7 #define _SUBVERSION_ 0
8 
9 fbgt()
10 {
11  // Load basic libraries;
12  gROOT->Macro("$VMCWORKDIR/gconfig/rootlogon.C");
13 
14  double centerChamDist[2] = { 420.0, 840.0};
15  double distFirstWheel[2] = {1030.0, 2300.0};
16  double distSecWheel [2] = {1100.0, 2370.0};
17  double distThiWheel [2] = {1170.0, 2440.0};
18 
19  for(unsigned fb=0; fb<2; fb++) {
20  GemGeoParData *fbgt = new GemGeoParData(fb ? "FFG" : "FGT", _VERSION_, _SUBVERSION_);
21 
22  // A single module; different for front and rear models; basically the rear sectors
23  // (behind the RICH volume) are twice as large;
24  GemModule *fit = new GemModule();
25 
26  fit->mActiveWindowBottomWidth = fb ? 60.0 : 30.0;
27  fit->mActiveWindowTopWidth = fb ? 860.0 : 430.0;
28  fit->mActiveWindowHeight = fb ? 1400.0 : 700.0;
29 
30  //Frame parameters; thickness of 16.0 mm frame to frame with 2.0 mm thickness total of both frames,
31  //width of 8.0 mm on side, width of 30.0 mm top and bottom;
32  fit->mFrameThickness = 18.0;
33  fit->mFrameBottomEdgeWidth = 30.0;
34  fit->mFrameTopEdgeWidth = 30.0;
35  fit->mFrameSideEdgeWidth = 8.0;
36 
37  //Entrance window; FIXME: need Al layer;
38  fit->mEntranceWindowMaterial = "GemKapton";
39  fit->mEntranceWindowThickness = 0.025;
40 
41  //Foil parameters; Per FIT configuration, 5 um of Cu and 50 um of Kapton;
42  fit->mDriftFoilKaptonThickness = 0.050;
43  fit->mDriftFoilCopperThickness = 0.005;
44 
45  fit->mGemFoilAreaFraction = 0.80;
46  fit->mGemFoilKaptonThickness = 0.050;
47  //fit->mGemFoilCopperThickness = 0.005;
48  fit->mGemFoilCopperThickness = 0.00176; //2 Cr-GEM, 1 Std GEM
49 
50  fit->mReadoutG10Thickness = 0.0;
51  fit->mReadoutKaptonThickness = 0.050;
52  fit->mReadoutCopperThickness = 0.005;
53 
54  //Emulation of exit window; FIXME: need Al layer;
55  fit->mReadoutSupportMaterial = "GemKapton";
56  fit->mReadoutSupportThickness = 0.025;
57 
58  // FIXME: check on that!;
59  fit->mGasMixture = "arco27030";
60 
61  fit->mEntranceRegionLength = 3.000;
62  fit->mDriftRegionLength = 3.000;
63  // Assume triple GEM layout;
64  fit->mFirstTransferRegionLength = 2.000;
65  fit->mSecondTransferRegionLength = 2.000;
66  fit->mInductionRegionLength = 2.000;
67 
68  // Fine, at this point structure is completely defined -> code it in ROOT;
69  fbgt->AddWheel(fit, 12, centerChamDist[fb], distFirstWheel[fb]);
70  fbgt->AddWheel(fit, 12, centerChamDist[fb], distSecWheel [fb]);
71  fbgt->AddWheel(fit, 12, centerChamDist[fb], distThiWheel [fb]);
72 
73  fbgt->AttachSourceFile("./fbgt.C");
74 
75  // Some colorification, please;
76  fbgt->GetColorTable()->AddPatternMatch("FrameEdge", kGray);
77  fbgt->GetColorTable()->AddPatternMatch("EntranceWindow", kOrange);
78  fbgt->GetColorTable()->AddPatternMatch("ReadoutSupport", kOrange);
79 
80  fbgt->ConstructGeometry();
81  } //for fb
82 
83  // Yes, always exit;
84  exit(0);
85 }
86