301 TGeoVolume *top = gGeoManager->GetTopVolume();
306 TGeoMedium *rpc_al =gGeoManager->GetMedium(
"aluminium");
309 TGeoMedium *rpc_gas =gGeoManager->GetMedium(
"TimeRpc_gas");
312 TGeoMedium *rpc_air =gGeoManager->GetMedium(
"air");
315 TGeoMedium *rpc_strip =gGeoManager->GetMedium(
"copper");
318 TGeoMedium *rpc_glass =gGeoManager->GetMedium(
"TimeRpc_glass");
321 TGeoMedium *rpc_pmma =gGeoManager->GetMedium(
"TimeRpc_pmma");
324 TGeoMedium *rpc_FR4 =gGeoManager->GetMedium(
"TimeRpc_FR4");
329 vol_al1->SetLineColor(kBlue);
332 vol_al2->SetLineColor(kRed);
335 vol_al3->SetLineColor(kRed);
338 vol_strip->SetLineColor(42);
341 vol_strip->SetLineColor(42);
344 vol_pmma1->SetLineColor(kYellow);
347 vol_pmma2->SetLineColor(kYellow);
350 vol_pmma3->SetLineColor(kYellow);
353 vol_glass->SetLineColor(kBlue);
354 AddSensitiveVolume(vol_glass);
357 vol_glass_border->SetLineColor(kRed);
360 vol_glass_border1->SetLineColor(kRed);
363 vol_FR4->SetLineColor(kBlack);
366 vol_air->SetLineColor(kWhite);
369 vol_FrSF6->SetLineColor(kGreen);
372 vol_FrSF6_2->SetLineColor(kGreen);
375 vol_FrSF6_2->SetLineColor(kGreen);
381 TGeoMedium *Vacuum_box =gGeoManager->GetMedium(
"vacuum");
382 double xbox=233.4;
double ybox = 113;
double zbox = 1.3503;
385 TGeoVolume *Rpc_module_upstream = gGeoManager->MakeBox(
"UpstreamTagger",Vacuum_box, xbox/2.0, ybox/2.0, zbox/2.0);
386 Rpc_module_upstream->SetLineColor(kRed);
388 Rpc_module_upstream->AddNode(vol_al1, 145,
new TGeoTranslation(0, 0, (-(
det_zAlPos/2.0) - (
det_dzAlPos/2.0)) ));
389 Rpc_module_upstream->AddNode(vol_al2, 146,
new TGeoTranslation(0, ((-
det_yAlPos/2.0) - (
det_dyAlPos/2.0)), 0));
390 Rpc_module_upstream->AddNode(vol_al2, 147,
new TGeoTranslation(0, ((
det_yAlPos/2.0) + (
det_dyAlPos/2.0)), 0));
391 Rpc_module_upstream->AddNode(vol_al3, 148,
new TGeoTranslation(((-
det_xAlPos/2.0) - (
det_dxAlPos/2.0)), 0, 0));
392 Rpc_module_upstream->AddNode(vol_al3, 149,
new TGeoTranslation(((
det_xAlPos/2.0) + (
det_dxAlPos/2.0)), 0, 0));
393 Rpc_module_upstream->AddNode(vol_al1, 150,
new TGeoTranslation(0, 0, ((
det_zAlPos/2.0) + (
det_dzAlPos/2.0)) ));
395 Rpc_module_upstream->AddNode(vol_pmma1, 151,
new TGeoTranslation(0, 0, -((
det_zAlPos/2.0) - (
det_dzPMMAPos/2.0))));
431 Rpc_module_upstream->AddNode(vol_air, 179,
new TGeoTranslation(0, ((-
det_yAlPos/2.0) + (
det_yAirPos/2.0)), 0));
432 Rpc_module_upstream->AddNode(vol_air, 180,
new TGeoTranslation(0, ((
det_yAlPos/2.0) - (
det_yAirPos/2.0)), 0));
437 for(
int i = 181; i < 213; i++){
444 TGeoVolume *Rpc_module_upstream1 = gGeoManager->MakeBox(
"UpstreamTagger1",Vacuum_box, xbox/2.0, ybox/2.0, zbox/2.0);
445 Rpc_module_upstream1->SetLineColor(kRed);
447 Rpc_module_upstream1->AddNode(vol_al1, 214,
new TGeoTranslation(0, 0, (-(
det_zAlPos/2.0) - (
det_dzAlPos/2.0)) ));
448 Rpc_module_upstream1->AddNode(vol_al2, 215,
new TGeoTranslation(0, ((-
det_yAlPos/2.0) - (
det_dyAlPos/2.0)), 0));
449 Rpc_module_upstream1->AddNode(vol_al2, 216,
new TGeoTranslation(0, ((
det_yAlPos/2.0) + (
det_dyAlPos/2.0)), 0));
450 Rpc_module_upstream1->AddNode(vol_al3, 217,
new TGeoTranslation(((-
det_xAlPos/2.0) - (
det_dxAlPos/2.0)), 0, 0));
451 Rpc_module_upstream1->AddNode(vol_al3, 218,
new TGeoTranslation(((
det_xAlPos/2.0) + (
det_dxAlPos/2.0)), 0, 0));
452 Rpc_module_upstream1->AddNode(vol_al1, 219,
new TGeoTranslation(0, 0, ((
det_zAlPos/2.0) + (
det_dzAlPos/2.0)) ));
454 Rpc_module_upstream1->AddNode(vol_pmma1, 220,
new TGeoTranslation(0, 0, -((
det_zAlPos/2.0) - (
det_dzPMMAPos/2.0))));
490 Rpc_module_upstream1->AddNode(vol_air, 248,
new TGeoTranslation(0, ((-
det_yAlPos/2.0) + (
det_yAirPos/2.0)), 0));
491 Rpc_module_upstream1->AddNode(vol_air, 249,
new TGeoTranslation(0, ((
det_yAlPos/2.0) - (
det_yAirPos/2.0)), 0));
496 for(
int i = 250; i < 314; i++){
512 module[1][0] = 0;
module[1][1] = ((ybox_fulldet/2.0) - ((det_yGlassPos)/2.0));
module[1][2] = (-(zbox_fulldet/2.0) + (det_zAlPos/2.0) + det_dzAlPos);
513 module[2][0] = 0;
module[2][1] = 0;
module[2][2] = (-(zbox_fulldet/2.0) + (det_zAlPos/2.0) + det_dzAlPos);
514 module[3][0] = 0;
module[3][1] = -((ybox_fulldet/2.0) - ((det_yGlassPos)/2.0));
module[3][2] = (-(zbox_fulldet/2.0) + (det_zAlPos/2.0) + det_dzAlPos);
517 module[4][0] = 0;
module[4][1] = ((ybox_fulldet/2.0) - ((det_yGlassPos)) - ((det_yGlassPos)/2.0) + extra_y);
module[4][2] = (-(zbox_fulldet/2.0) + det_zAlPos + det_dzAlPos*3.0 + z_space_layers + (det_zAlPos/2.0));
518 module[5][0] = 0;
module[5][1] = -((ybox_fulldet/2.0) - ((det_yGlassPos)) - ((det_yGlassPos)/2.0) + extra_y);
module[5][2] = (-(zbox_fulldet/2.0) + det_zAlPos + det_dzAlPos*3.0 + z_space_layers + (det_zAlPos/2.0));
521 module[6][0] = 0;
module[6][1] = ((ybox_fulldet/2.0) - ((det_yGlassPos)/2.0));
module[6][2] = (-(zbox_fulldet/2.0) + (det_zAlPos*2.0) + det_dzAlPos*5.0 + (z_space_layers*2.0) + (det_zAlPos/2.0));
522 module[7][0] = 0;
module[7][1] = 0;
module[7][2] = (-(zbox_fulldet/2.0) + (det_zAlPos*2.0) + det_dzAlPos*5.0 + (z_space_layers*3.0) + (det_zAlPos/2.0));
523 module[8][0] = 0;
module[8][1] = -((ybox_fulldet/2.0) - ((det_yGlassPos)/2.0));
module[8][2] = (-(zbox_fulldet/2.0) + (det_zAlPos*2.0) + det_dzAlPos*5.0 + (z_space_layers*2.0) + (det_zAlPos/2.0));
526 module[9][0] = 0;
module[9][1] = ((ybox_fulldet/2.0) - ((det_yGlassPos)) - ((det_yGlassPos)/2.0) + extra_y);
module[9][2] = (-(zbox_fulldet/2.0) + (det_zAlPos*3.0) + det_dzAlPos*7.0 + (z_space_layers*3.0) + (det_zAlPos/2.0));
527 module[10][0] = 0;
module[10][1] = -((ybox_fulldet/2.0) - ((det_yGlassPos)) - ((det_yGlassPos)/2.0) + extra_y);
module[10][2] = (-(zbox_fulldet/2.0) + (det_zAlPos*3.0) + det_dzAlPos*7.0 + (z_space_layers*3.0) + (det_zAlPos/2.0));
562 cout <<
" Z Position (Upstream Tagger1) " <<
det_zPos << endl;