EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EIC-IR1-XX-v01b.C
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file EIC-IR1-XX-v01b.C
1 
2 {
3  auto eic = new EicToyModel();
4 
5  // Shift IP if needed; define canvas width; request eta=0 line in the drawing; set name;
6  eic->ip(0.0 * etm::cm)->width(1200)->AddEtaLine(0.0)->SetName("EIC-IR1-XX-v01b");
7  eic->ir(1020.0 * etm::cm, 420.0*etm::cm);
8  // Define acceptance ranges and the vacuum chamber design;
9  eic->acceptance(-4.2, -1.0, 1.2, 4.2);
10  eic->SetAzimuthalSegmentation(12);
11  eic->DefineVacuumChamber(new vc2020_03_20());
12  //eic->DrawIP6boundaries();
13  eic->UseDetectorHighlighting();
14 
15  // Vertex tracker;
16  {
17  auto vtx = eic->vtx(); vtx->offset(0.0 * etm::cm);
18 
19  vtx->add("Si Tracker",20 * etm::cm);//->highlight();
20  }
21 
22  // Barrel;
23  {
24  auto mid = eic->mid(); mid->offset( 20 * etm::cm);
25 
26  mid->add("TRACKER", 75 * etm::cm);//->highlight();
27  //mid->add("Si Tracker",75 * etm::cm)->highlight(0.2);
28  //mid->add("MPGD", 75 * etm::cm)->highlight(0.2);
29  //mid->add("TPC", 75 * etm::cm)->highlight();
30  mid->add("Cherenkov", 25 * etm::cm);//->highlight();
31  mid->add("EmCal", 30 * etm::cm);//->highlight(0.2);
32  mid->add("Cryostat", 40 * etm::cm);
33  mid->add("HCal", 120 * etm::cm)->brick();//->highlight();
34  }
35 
36  // Hadron-going endcap;
37  {
38  auto fwd = eic->fwd(); fwd->offset(130 * etm::cm);
39 
40  fwd->add("TRACKER", 15 * etm::cm)->brick();
41  //fwd->add("MPGD", 15 * etm::cm)->brick();//->highlight();
42  fwd->marker();
43 
44  fwd->add("HM RICH", 150 * etm::cm)->trim(0.9, 1.0);//->highlight();
45  fwd->add("MPGD", 15 * etm::cm)->brick();//->highlight(0.2);
46  //fwd->add("sTGC", 15 * etm::cm)->brick()->highlight(0.2);
47  //for(unsigned nn=0; nn<2; nn++)
48  for(unsigned nn=0; nn<1; nn++)
49  fwd->add("TRD", 15 * etm::cm)->brick();//->highlight();
50 
51  fwd->add("Preshower", 10 * etm::cm);
52  //fwd->add("TOF", 10 * etm::cm)->highlight(0.5);
53  fwd->add("EmCal", 40 * etm::cm);//->highlight();//0.2);
54  fwd->add("HCal", 105 * etm::cm);//->highlight(0.2);
55  }
56 
57  // Electron-going endcap;
58  {
59  auto bck = eic->bck(); bck->offset(130 * etm::cm);
60 
61  //bck->add("TRACKER", 15 * etm::cm)->brick();
62  bck->add("MPGD", 15 * etm::cm)->brick();//->highlight(0.2);
63  for(unsigned nn=0; nn<3; nn++)
64  bck->add("TRD", 15 * etm::cm)->brick();//->highlight();
65  bck->marker();
66 
67  bck->add("Cherenkov", 25 * etm::cm);//->highlight(0.2);
68  bck->add("Preshower", 10 * etm::cm)->brick();
69  //bck->add("TOF", 10 * etm::cm)->brick()->highlight(0.5);
70  bck->add("TOF", 5 * etm::cm)->brick();//->highlight();
71  bck->add("EmCal", 50 * etm::cm);//->highlight();//0.2);
72  bck->add("HCal", 105 * etm::cm);//->highlight();
73  }
74 
75  // Declare eta boundary configuration;
76  {
77  eic->vtx()->get("Si Tracker")->stretch(eic->bck()->get("Cherenkov"));
78  eic->vtx()->get("Si Tracker")->stretch(eic->fwd()->get("HM RICH"));
79 
80  //eic->mid()->get("TRACKER") ->stretch(eic->bck()->get("TRACKER"));
81  eic->mid()->get("TRACKER") ->stretch(eic->fwd()->get("TRACKER"));
82  //eic->mid()->get("Si Tracker") ->stretch(eic->bck()->get("TRACKER"));
83  //eic->mid()->get("Si Tracker") ->stretch(eic->fwd()->get("TRACKER"));
84  eic->mid()->get("TRACKER") ->stretch(eic->bck()->get("MPGD"));
85  //eic->mid()->get("TRACKER") ->stretch(eic->fwd()->get("MPGD"));
86  //eic->mid()->get("MPGD") ->stretch(eic->bck()->get("TRACKER"));
87  //eic->mid()->get("MPGD") ->stretch(eic->fwd()->get("TRACKER"));
88  //eic->mid()->get("TPC") ->stretch(eic->bck()->get("TRACKER"));
89  //eic->mid()->get("TPC") ->stretch(eic->fwd()->get("TRACKER"));
90  eic->mid()->get("HCal") ->stretch(eic->bck()->get("HCal"));
91  eic->mid()->get("HCal") ->stretch(eic->fwd()->get("HCal"));
92  eic->mid()->get("Cryostat") ->stretch(eic->bck()->get("HCal"));
93  eic->mid()->get("Cherenkov") ->stretch(eic->bck()->get("Cherenkov"));
94 
95  eic->fwd()->get("HCal") ->stretch(eic->mid()->get("HCal"), 90 * etm::cm);
96 
97  eic->bck()->get("HCal") ->stretch(eic->mid()->get("HCal"), 90 * etm::cm);
98  eic->bck()->get("EmCal") ->stretch(eic->mid()->get("EmCal"));
99  }
100 
101  // Beautify picture a little bit;
102  eic->ApplyStandardTrimming();
103 
104  // Draw horizontal cross cut view; write the .root file out;
105  eic->hdraw();
106  eic->write();
107 }