diff --git a/macro/passive/fair/create_bpipe_geometry_v21e.C b/macro/passive/fair/create_bpipe_geometry_v21e.C
deleted file mode 100644
index 722e557643721681509e01c868bc30170f8f30bd..0000000000000000000000000000000000000000
--- a/macro/passive/fair/create_bpipe_geometry_v21e.C
+++ /dev/null
@@ -1,747 +0,0 @@
-/* Copyright (C) 2021 Nuclear Physics Institute of the CAS, Rez
-   SPDX-License-Identifier: GPL-3.0-only
-   Authors: Petr Chudoba  [committer] */
-
-#include "TGeoArb8.h"
-#include "TGeoCompositeShape.h"
-#include "TGeoCone.h"
-#include "TGeoManager.h"
-#include "TGeoMatrix.h"
-#include "TGeoSystemOfUnits.h"
-#include "TGeoTube.h"
-#include "TPad.h"
-#include "TROOT.h"
-#include "TSystem.h"
-
-#include "iostream"
-#include "stdio.h"
-using namespace std;
-using namespace TGeoUnit;
-
-void create_bpipe_geometry_v21e(const char* geoTag = "v21e")
-{
-  //--- Definition of a simple geometry
-  gSystem->Load("libGeom");
-  TGeoManager* geom = new TGeoManager("beampipe_v21e", "Beampipe for maximum deflection");
-
-  //--- define some materials
-  TGeoMixture* matCarbonFiber = new TGeoMixture("BP_carbonfiber", 4, 1.5);
-  matCarbonFiber->AddElement(12.001, 6.0, 0.8926);
-  matCarbonFiber->AddElement(1.0079, 1.0, 0.0192);
-  matCarbonFiber->AddElement(35.453, 17.0, 0.0271);
-  matCarbonFiber->AddElement(15.999, 8.0, 0.0611);
-
-  TGeoMixture* matStainless = new TGeoMixture("BP_stainless", 10, 8.0);
-  matStainless->AddElement(12.0, 6.0, 0.00035);
-  matStainless->AddElement(51.94, 24.0, 0.175);
-  matStainless->AddElement(54.94, 25.0, 0.01);
-  matStainless->AddElement(95.94, 42.0, 0.025);
-  matStainless->AddElement(14.0, 7.0, 0.0005);
-  matStainless->AddElement(58.6934, 28.0, 0.115);
-  matStainless->AddElement(30.97, 15.0, 0.000225);
-  matStainless->AddElement(31.97, 16.0, 0.000075);
-  matStainless->AddElement(27.98, 14.0, 0.005);
-  matStainless->AddElement(55.93, 26.0, 0.67135);
-
-  TGeoMaterial* matVacuum = new TGeoMaterial("BP_vacuum", 1.e-16, 1.e-16, 1.e-16);
-  TGeoMaterial* matAl     = new TGeoMaterial("BP_aluminium", 26.9815386, 13, 2.7, 24.01);
-
-  //   //--- define some media
-  TGeoMedium* Vacuum    = new TGeoMedium("BP_vacuum", 1, matVacuum);
-  TGeoMedium* Al        = new TGeoMedium("BP_aluminium", 2, matAl);
-  TGeoMedium* CF        = new TGeoMedium("BP_carbonfiber", 3, matCarbonFiber);
-  TGeoMedium* Stainless = new TGeoMedium("BP_stainless", 4, matStainless);
-
-  Double_t conus_lenght = 1585 * mm;
-  Double_t rmin1        = 55 * mm;
-  Double_t rmax1        = 56 * mm;
-  Double_t rmin2        = 125 * mm;
-  Double_t rmax2        = 126 * mm;
-
-  Double_t rail_cord[]       = {23.0, 0, 4.5, 21.4, 2.8, 4.5};
-  Double_t top_plate_cord[]  = {10,   0,    2.1,  10.15, 0,     4.05, 11.75, 2.15, 4.0,  15.3, 4.28,
-                               2.85, 18.1, 5.27, 2.85,  19.75, 5.65, 5.0,   21.1, 5.65, 0};
-  Double_t side_plate_cord[] = {11.3, 0,   2,    11.3, 0,   7.55, 16,   6.8, 4.6, 8.7,  6.8, 4.6,
-                                19.8, 8.3, 2.35, 13.6, 8.3, 2.35, 20.8, 7.9, 3.0, 14.8, 7.9, 3.0,
-                                21.3, 6.8, 1.5,  16.3, 6.8, 1.5,  21.3, 6.3, 0,   17.4, 6.3, 0};
-
-  //-----------------------DEFINITION OF TRANSFORMATIONS--------------------------------------------------------------------------------------
-
-  TGeoRotation* rot_top = new TGeoRotation("rot_top");
-  rot_top->SetAngles(0, 0, 0);
-  TGeoCombiTrans* combi_top = new TGeoCombiTrans(0, 15.2, 0, rot_top);
-
-  TGeoRotation* rot_bott = new TGeoRotation("rot_bott");
-  rot_bott->SetAngles(180, 0, 0);
-  TGeoCombiTrans* combi_bott = new TGeoCombiTrans(0, -15.2, 0, rot_bott);
-
-  TGeoRotation* rot_rail_top = new TGeoRotation("rot_rail_top");
-  rot_rail_top->SetAngles(0, 0, 0);
-  TGeoCombiTrans* combi_rail_top = new TGeoCombiTrans(0, 20.15 - rail_cord[4], rail_cord[2] + 33, rot_rail_top);
-
-  TGeoRotation* rot_rail = new TGeoRotation("rot_rail_bott");
-  rot_rail->SetAngles(0, 0, 0);
-  TGeoCombiTrans* combi_rail_bott = new TGeoCombiTrans(0, -20.15, rail_cord[2] + 33, rot_rail);
-
-
-  TGeoTranslation* ident_translation = new TGeoTranslation("ident_translation", 0, 0, 0);
-  ident_translation->RegisterYourself();
-
-  TGeoRotation* ident_rotation = new TGeoRotation("ident_rotation");
-  ident_rotation->RotateY(0);
-  ident_rotation->RegisterYourself();
-
-  TGeoRotation* rot_left = new TGeoRotation("rot_left");
-  rot_left->SetAngles(90, 0, 0);
-  TGeoCombiTrans* combi_left = new TGeoCombiTrans(-15.2, 0, 0, rot_left);
-
-  TGeoRotation* rot_right = new TGeoRotation("rot_right");
-  rot_right->SetAngles(270, 0, 0);
-  TGeoCombiTrans* combi_right = new TGeoCombiTrans(15.2, 0, 0, rot_right);
-
-  TGeoCombiTrans* tr_top_0a = new TGeoCombiTrans(0, 15.2, top_plate_cord[2], rot_top);
-  TGeoCombiTrans* tr_top_1a = new TGeoCombiTrans(0, 15.2, 2 * top_plate_cord[2] + top_plate_cord[5], rot_top);
-  TGeoCombiTrans* tr_top_2a = new TGeoCombiTrans(
-    0, 15.2, 2 * top_plate_cord[2] + top_plate_cord[5] + top_plate_cord[5] + top_plate_cord[8], rot_top);
-  TGeoCombiTrans* tr_top_3a = new TGeoCombiTrans(0, 15.2,
-                                                 2 * top_plate_cord[2] + top_plate_cord[5] + top_plate_cord[5]
-                                                   + top_plate_cord[8] + top_plate_cord[8] + top_plate_cord[11],
-                                                 rot_top);
-  TGeoCombiTrans* tr_top_4a =
-    new TGeoCombiTrans(0, 15.2,
-                       2 * top_plate_cord[2] + top_plate_cord[5] + top_plate_cord[5] + top_plate_cord[8]
-                         + top_plate_cord[8] + top_plate_cord[11] + top_plate_cord[11] + top_plate_cord[14],
-                       rot_top);
-  TGeoCombiTrans* tr_top_5a = new TGeoCombiTrans(
-    0, 15.2,
-    2 * top_plate_cord[2] + top_plate_cord[5] + top_plate_cord[5] + top_plate_cord[8] + top_plate_cord[8]
-      + top_plate_cord[11] + top_plate_cord[11] + top_plate_cord[14] + top_plate_cord[14] + top_plate_cord[17],
-    rot_top);
-
-  TGeoCombiTrans* tr_bott_0a = new TGeoCombiTrans(0, -15.2, top_plate_cord[2], rot_bott);
-  TGeoCombiTrans* tr_bott_1a = new TGeoCombiTrans(0, -15.2, 2 * top_plate_cord[2] + top_plate_cord[5], rot_bott);
-  TGeoCombiTrans* tr_bott_2a = new TGeoCombiTrans(
-    0, -15.2, 2 * top_plate_cord[2] + top_plate_cord[5] + top_plate_cord[5] + top_plate_cord[8], rot_bott);
-  TGeoCombiTrans* tr_bott_3a = new TGeoCombiTrans(0, -15.2,
-                                                  2 * top_plate_cord[2] + top_plate_cord[5] + top_plate_cord[5]
-                                                    + top_plate_cord[8] + top_plate_cord[8] + top_plate_cord[11],
-                                                  rot_bott);
-  TGeoCombiTrans* tr_bott_4a =
-    new TGeoCombiTrans(0, -15.2,
-                       2 * top_plate_cord[2] + top_plate_cord[5] + top_plate_cord[5] + top_plate_cord[8]
-                         + top_plate_cord[8] + top_plate_cord[11] + top_plate_cord[11] + top_plate_cord[14],
-                       rot_bott);
-  TGeoCombiTrans* tr_bott_5a = new TGeoCombiTrans(
-    0, -15.2,
-    2 * top_plate_cord[2] + top_plate_cord[5] + top_plate_cord[5] + top_plate_cord[8] + top_plate_cord[8]
-      + top_plate_cord[11] + top_plate_cord[11] + top_plate_cord[14] + top_plate_cord[14] + top_plate_cord[17],
-    rot_bott);
-
-  TGeoCombiTrans* tr_side_left_0a = new TGeoCombiTrans(-15.2, 0, side_plate_cord[2], rot_left);
-  TGeoCombiTrans* tr_side_left_1a = new TGeoCombiTrans(-15.2, 0, 2 * side_plate_cord[2] + side_plate_cord[5], rot_left);
-  TGeoCombiTrans* tr_side_left_2a = new TGeoCombiTrans(
-    -15.2, 0, 2 * side_plate_cord[2] + side_plate_cord[5] + side_plate_cord[5] + side_plate_cord[8], rot_left);
-  TGeoCombiTrans* tr_side_left_3a =
-    new TGeoCombiTrans(-15.2, 0,
-                       2 * side_plate_cord[2] + side_plate_cord[5] + side_plate_cord[5] + side_plate_cord[8]
-                         + side_plate_cord[8] + side_plate_cord[14],
-                       rot_left);
-  TGeoCombiTrans* tr_side_left_4a =
-    new TGeoCombiTrans(-15.2, 0,
-                       2 * side_plate_cord[2] + side_plate_cord[5] + side_plate_cord[5] + side_plate_cord[8]
-                         + side_plate_cord[8] + side_plate_cord[14] + side_plate_cord[14] + side_plate_cord[20],
-                       rot_left);
-  TGeoCombiTrans* tr_side_left_5a = new TGeoCombiTrans(
-    -15.2, 0,
-    2 * side_plate_cord[2] + side_plate_cord[5] + side_plate_cord[5] + side_plate_cord[8] + side_plate_cord[8]
-      + side_plate_cord[14] + side_plate_cord[14] + side_plate_cord[20] + side_plate_cord[20] + side_plate_cord[26],
-    rot_left);
-
-  TGeoCombiTrans* tr_side_right_0a = new TGeoCombiTrans(15.2, 0, side_plate_cord[2], rot_right);
-  TGeoCombiTrans* tr_side_right_1a =
-    new TGeoCombiTrans(15.2, 0, 2 * side_plate_cord[2] + side_plate_cord[5], rot_right);
-  TGeoCombiTrans* tr_side_right_2a = new TGeoCombiTrans(
-    15.2, 0, 2 * side_plate_cord[2] + side_plate_cord[5] + side_plate_cord[5] + side_plate_cord[8], rot_right);
-  TGeoCombiTrans* tr_side_right_3a =
-    new TGeoCombiTrans(15.2, 0,
-                       2 * side_plate_cord[2] + side_plate_cord[5] + side_plate_cord[5] + side_plate_cord[8]
-                         + side_plate_cord[8] + side_plate_cord[14],
-                       rot_right);
-  TGeoCombiTrans* tr_side_right_4a =
-    new TGeoCombiTrans(15.2, 0,
-                       2 * side_plate_cord[2] + side_plate_cord[5] + side_plate_cord[5] + side_plate_cord[8]
-                         + side_plate_cord[8] + side_plate_cord[14] + side_plate_cord[14] + side_plate_cord[20],
-                       rot_right);
-  TGeoCombiTrans* tr_side_right_5a = new TGeoCombiTrans(
-    15.2, 0,
-    2 * side_plate_cord[2] + side_plate_cord[5] + side_plate_cord[5] + side_plate_cord[8] + side_plate_cord[8]
-      + side_plate_cord[14] + side_plate_cord[14] + side_plate_cord[20] + side_plate_cord[20] + side_plate_cord[26],
-    rot_right);
-
-  TGeoRotation* rot_sts_conus_connection = new TGeoRotation("rot_sts_conus_connection");
-  //rot_sts_conus_connection->RotateZ(180);
-  TGeoCombiTrans* ctr_sts_conus_connection = new TGeoCombiTrans(0, 0, -1600.00 * mm, rot_sts_conus_connection);
-
-  TGeoRotation* rotation_of_sts_tube = new TGeoRotation("rotation_of_sts_tube");
-  //rotation_of_sts_tube->RotateZ(180);
-  rotation_of_sts_tube->RotateY(-1.2);
-  TGeoCombiTrans* ctr_sts_tube = new TGeoCombiTrans(0.15707676 * mm, 0, -1630.50 * mm, rotation_of_sts_tube);
-
-  TGeoRotation* rot_global = new TGeoRotation("rot_global");
-  rot_global->RotateY(1.2);
-  TGeoCombiTrans* ctr_global = new TGeoCombiTrans(0, 0, 3214.99917754 * mm, rot_global);
-
-  TGeoRotation* rot_s1 = new TGeoRotation("rot_s1");
-  rot_s1->RotateZ(180.);
-  rot_s1->RotateY(4.80111677);
-  TGeoCombiTrans* ctr_s1 = new TGeoCombiTrans("ctr_s1", 2.50041582 * mm, 0, 59.76969908 * mm, rot_s1);
-
-  TGeoRotation* rot_s2 = new TGeoRotation("rot_s2");
-  rot_s2->RotateZ(180.);
-  rot_s2->RotateY(18.84127012);
-  TGeoCombiTrans* ctr_s2 = new TGeoCombiTrans("ctr_s2", (36.22434468) * mm, 0, (181.04176807) * mm, rot_s2);
-
-  TGeoRotation* rot_s3 = new TGeoRotation("rot_s3");
-  //rot_s3->RotateZ(180.);
-  rot_s3->RotateY(8.5257557);
-
-  TGeoCombiTrans* ctr_s3 = new TGeoCombiTrans("ctr_s3", (70.72502201) * mm, 0, (294.40492979) * mm, rot_s3);
-
-  TGeoRotation* rot_s4 = new TGeoRotation("rot_s4");
-  //rot_s4->RotateZ(180.);
-  rot_s4->RotateY(5.7511677);
-
-  TGeoCombiTrans* ctr_s4 = new TGeoCombiTrans("ctr_s4", (76.53811002) * mm, 0, 341.44507901 * mm, rot_s4);
-
-
-  TGeoRotation* rot_plate = new TGeoRotation("rot_plate");
-  rot_plate->RotateY(-0.95);
-  TGeoCombiTrans* ctr_plate_up =
-    new TGeoCombiTrans("ctr_plate_up", 80. * mm, (147 + 12.5) * mm, (292.8 + 90) * mm, rot_plate);
-  TGeoCombiTrans* ctr_plate_down =
-    new TGeoCombiTrans("ctr_plate_down", 80. * mm, -(147 + 12.5) * mm, (292.8 + 90) * mm, rot_plate);
-  TGeoTranslation* tr_plate_up = new TGeoTranslation("tr_plate_up", 0. * mm, (147 + 12.5) * mm, 0. * mm);
-  tr_plate_up->RegisterYourself();
-  TGeoTranslation* tr_plate_down = new TGeoTranslation("tr_plate_down", 0. * mm, -(147 + 12.5) * mm, 0. * mm);
-  tr_plate_down->RegisterYourself();
-
-  TGeoRotation* rot_lsn = new TGeoRotation("rot_lsn");
-  //rot_s5->RotateZ(180.);
-  rot_lsn->RotateY(-90);
-  TGeoCombiTrans* ctr_lsn = new TGeoCombiTrans("ctr_s5", -22.5 * mm, -159.5 * mm, 534. * mm, rot_lsn);
-
-  TGeoTranslation* mot_transl = new TGeoTranslation("mot_transl", -286.5 * mm, -159.5 * mm, 534. * mm);
-
-  TGeoTranslation orig_translation("orig_translation", -0.15707676 * mm, 0, 3230 * mm);
-
-  TGeoTranslation orig_translation_cone("orig_translation_cone", -0.15707676 * mm, 0, 1645 * mm);
-  //TGeoCombiTrans *origin_translation = new TGeoCombiTrans(orig_translation,ident);
-
-
-  TGeoRotation orig_rotation("orig_rotation");
-  orig_rotation.RotateY(1.2);
-  //TGeoCombiTrans *origin_rotation = new TGeoCombiTrans(0,orig_rotation);
-  //orig_rotation->RegisterYourself();
-
-
-  //TGeoHMatrix orig_combi = orig_translation * orig_rotation;
-  TGeoHMatrix orig_combi = orig_rotation * orig_translation;
-
-  TGeoHMatrix orig_combi_cone = orig_rotation * orig_translation_cone;
-
-  TGeoHMatrix* origin_combi = new TGeoHMatrix(orig_combi);
-
-  TGeoHMatrix* origin_combi_cone = new TGeoHMatrix(orig_combi_cone);
-
-
-  //TGeoTranslation* cone_transl = new TGeoTranslation("cone_transl", -286.5 * mm, -159.5 * mm, 534. * mm);
-
-  TGeoRotation* rot_psd_tube = new TGeoRotation("rot_psd_tube");
-  rot_psd_tube->RotateY(2.15);
-  TGeoCombiTrans* ctr_psd_tube =
-    new TGeoCombiTrans("ctr_psd_tube", 426.44387679 * mm, 0. * mm, 10849.15 * mm, rot_psd_tube);
-
-  TGeoRotation* rot_s5 = new TGeoRotation("rot_s5");
-  //rot_s5->RotateZ(180.);
-  rot_s5->RotateY(0.95);
-  TGeoCombiTrans* ctr_s5 = new TGeoCombiTrans("ctr_s5", (79.32273177) * mm, 0, 381.62237458 * mm, rot_s5);
-
-  TGeoTranslation* nut_transl = new TGeoTranslation("nut_transl", 0. * mm, 0. * mm, -100. * mm);
-  nut_transl->RegisterYourself();
-
-  //------------------------------------DEFINITIONS OF VOLUMES----------------------------------------
-  //--- make the top container volume
-  Double_t worldx           = 800 * mm;
-  Double_t worldy           = 220 * mm;
-  Double_t worldz           = 18200 * mm;
-  //TGeoVolume* full_assembly = geom->MakeBox("pipe_v21e", Vacuum, worldx, worldy, worldz);
-  TGeoVolumeAssembly* full_assembly = new TGeoVolumeAssembly("pipe_v21e");
-  geom->SetTopVolume(full_assembly);
-  full_assembly->SetVisibility(kTRUE);
-  //TGeoVolume* conical_beam_pipe = geom->MakeBox("conical_beam_pipe", Vacuum, 220 * mm, 220 * mm, 1825 * mm);
-  TGeoVolume* conical_beam_pipe = new TGeoVolumeAssembly("conical_beam_pipe");
-  conical_beam_pipe->SetVisibility(kFALSE);
-
-  TGeoVolume* vacuum_conical_beam_pipe = new TGeoVolumeAssembly("vacuum_conical_beam_pipe");
-  vacuum_conical_beam_pipe->SetVisibility(kFALSE);
- 
-  //TGeoVolume* bellow_ass = geom->MakeBox("Bellow assembly", Vacuum, 350 * mm, 220 * mm, 600 * mm);
-  TGeoVolume* bellow_ass = new TGeoVolumeAssembly("Bellow assembly");
-  bellow_ass->SetVisibility(kFALSE);
-
-  TGeoVolume* vacuum_bellow_ass = new TGeoVolumeAssembly("Vacuum_bellow assembly");
-  vacuum_bellow_ass->SetVisibility(kFALSE);
-
-  // TOP PLATE--------------------------------------------------------------------------------------
-  TGeoVolume* sub_t_plate1 = geom->MakeArb8("sub_t_plate1", CF, top_plate_cord[2]);
-  sub_t_plate1->SetLineColor(kGray);
-  TGeoArb8* t_arb1 = (TGeoArb8*) sub_t_plate1->GetShape();
-  t_arb1->SetVertex(0, top_plate_cord[0], top_plate_cord[1]);
-  t_arb1->SetVertex(1, -top_plate_cord[0], top_plate_cord[1]);
-  t_arb1->SetVertex(2, -top_plate_cord[0], top_plate_cord[1] + 1.0);
-  t_arb1->SetVertex(3, top_plate_cord[0], top_plate_cord[1] + 1.0);
-  t_arb1->SetVertex(4, top_plate_cord[3], top_plate_cord[4]);
-  t_arb1->SetVertex(5, -top_plate_cord[3], top_plate_cord[4]);
-  t_arb1->SetVertex(6, -top_plate_cord[3], top_plate_cord[4] + 1.0);
-  t_arb1->SetVertex(7, top_plate_cord[3], top_plate_cord[4] + 1.0);
-
-  TGeoVolume* sub_t_plate2 = geom->MakeArb8("sub_t_plate2", CF, top_plate_cord[5]);
-  sub_t_plate2->SetLineColor(kGray);
-  TGeoArb8* t_arb2 = (TGeoArb8*) sub_t_plate2->GetShape();
-  t_arb2->SetVertex(0, top_plate_cord[3], top_plate_cord[4]);
-  t_arb2->SetVertex(1, -top_plate_cord[3], top_plate_cord[4]);
-  t_arb2->SetVertex(2, -top_plate_cord[3], top_plate_cord[4] + 1.0);
-  t_arb2->SetVertex(3, top_plate_cord[3], top_plate_cord[4] + 1.0);
-  t_arb2->SetVertex(4, top_plate_cord[6], top_plate_cord[7]);
-  t_arb2->SetVertex(5, -top_plate_cord[6], top_plate_cord[7]);
-  t_arb2->SetVertex(6, -top_plate_cord[6], top_plate_cord[7] + 1.0);
-  t_arb2->SetVertex(7, top_plate_cord[6], top_plate_cord[7] + 1.0);
-
-  TGeoVolume* sub_t_plate3 = geom->MakeArb8("sub_t_plate3", CF, top_plate_cord[8]);
-  sub_t_plate3->SetLineColor(kGray);
-  TGeoArb8* t_arb3 = (TGeoArb8*) sub_t_plate3->GetShape();
-  t_arb3->SetVertex(0, top_plate_cord[6], top_plate_cord[7]);
-  t_arb3->SetVertex(1, -top_plate_cord[6], top_plate_cord[7]);
-  t_arb3->SetVertex(2, -top_plate_cord[6], top_plate_cord[7] + 1.0);
-  t_arb3->SetVertex(3, top_plate_cord[6], top_plate_cord[7] + 1.0);
-  t_arb3->SetVertex(4, top_plate_cord[9], top_plate_cord[10]);
-  t_arb3->SetVertex(5, -top_plate_cord[9], top_plate_cord[10]);
-  t_arb3->SetVertex(6, -top_plate_cord[9], top_plate_cord[10] + 1.0);
-  t_arb3->SetVertex(7, top_plate_cord[9], top_plate_cord[10] + 1.0);
-
-  TGeoVolume* sub_t_plate4 = geom->MakeArb8("sub_t_plate4", CF, top_plate_cord[11]);
-  sub_t_plate4->SetLineColor(kGray);
-  TGeoArb8* t_arb4 = (TGeoArb8*) sub_t_plate4->GetShape();
-  t_arb4->SetVertex(0, top_plate_cord[9], top_plate_cord[10]);
-  t_arb4->SetVertex(1, -top_plate_cord[9], top_plate_cord[10]);
-  t_arb4->SetVertex(2, -top_plate_cord[9], top_plate_cord[10] + 1.0);
-  t_arb4->SetVertex(3, top_plate_cord[9], top_plate_cord[10] + 1.0);
-  t_arb4->SetVertex(4, top_plate_cord[12], top_plate_cord[13]);
-  t_arb4->SetVertex(5, -top_plate_cord[12], top_plate_cord[13]);
-  t_arb4->SetVertex(6, -top_plate_cord[12], top_plate_cord[13] + 1.0);
-  t_arb4->SetVertex(7, top_plate_cord[12], top_plate_cord[13] + 1.0);
-
-  TGeoVolume* sub_t_plate5 = geom->MakeArb8("sub_t_plate5", CF, top_plate_cord[14]);
-  sub_t_plate5->SetLineColor(kGray);
-  TGeoArb8* t_arb5 = (TGeoArb8*) sub_t_plate5->GetShape();
-  t_arb5->SetVertex(0, top_plate_cord[12], top_plate_cord[13]);
-  t_arb5->SetVertex(1, -top_plate_cord[12], top_plate_cord[13]);
-  t_arb5->SetVertex(2, -top_plate_cord[12], top_plate_cord[13] + 1.0);
-  t_arb5->SetVertex(3, top_plate_cord[12], top_plate_cord[13] + 1.0);
-  t_arb5->SetVertex(4, top_plate_cord[15], top_plate_cord[17]);
-  t_arb5->SetVertex(5, -top_plate_cord[15], top_plate_cord[17]);
-  t_arb5->SetVertex(6, -top_plate_cord[15], top_plate_cord[17] + 1.0);
-  t_arb5->SetVertex(7, top_plate_cord[15], top_plate_cord[17] + 1.0);
-
-  TGeoVolume* sub_t_plate6 = geom->MakeArb8("sub_t_plate6", CF, top_plate_cord[17]);
-  sub_t_plate6->SetLineColor(kGray);
-  TGeoArb8* t_arb6 = (TGeoArb8*) sub_t_plate6->GetShape();
-  t_arb6->SetVertex(0, top_plate_cord[15], top_plate_cord[17]);
-  t_arb6->SetVertex(1, -top_plate_cord[15], top_plate_cord[17]);
-  t_arb6->SetVertex(2, -top_plate_cord[15], top_plate_cord[17] + 1.0);
-  t_arb6->SetVertex(3, top_plate_cord[15], top_plate_cord[17] + 1.0);
-  t_arb6->SetVertex(4, top_plate_cord[18], top_plate_cord[17]);
-  t_arb6->SetVertex(5, -top_plate_cord[18], top_plate_cord[17]);
-  t_arb6->SetVertex(6, -top_plate_cord[18], top_plate_cord[17] + 1.0);
-  t_arb6->SetVertex(7, top_plate_cord[18], top_plate_cord[17] + 1.0);
-
-  // SIDE PLATE--------------------------------------------------------------------------------------
-
-  TGeoVolume* sub_s_plate1 = geom->MakeArb8("sub_s_plate1", CF, side_plate_cord[2]);
-  sub_s_plate1->SetLineColor(kGray);
-  TGeoArb8* s_arb1 = (TGeoArb8*) sub_s_plate1->GetShape();
-  s_arb1->SetVertex(0, side_plate_cord[0], side_plate_cord[1]);
-  s_arb1->SetVertex(1, -side_plate_cord[0], side_plate_cord[1]);
-  s_arb1->SetVertex(2, -side_plate_cord[0], side_plate_cord[1] + 1.0);
-  s_arb1->SetVertex(3, side_plate_cord[0], side_plate_cord[1] + 1.0);
-  s_arb1->SetVertex(4, side_plate_cord[3], side_plate_cord[4]);
-  s_arb1->SetVertex(5, -side_plate_cord[3], side_plate_cord[4]);
-  s_arb1->SetVertex(6, -side_plate_cord[3], side_plate_cord[4] + 1.0);
-  s_arb1->SetVertex(7, side_plate_cord[3], side_plate_cord[4] + 1.0);
-
-  TGeoVolume* sub_s_plate2 = geom->MakeArb8("sub_s_plate2", CF, side_plate_cord[5]);
-  sub_s_plate2->SetLineColor(kGray);
-  TGeoArb8* s_arb2 = (TGeoArb8*) sub_s_plate2->GetShape();
-  s_arb2->SetVertex(0, side_plate_cord[3], side_plate_cord[4]);
-  s_arb2->SetVertex(1, -side_plate_cord[3], side_plate_cord[4]);
-  s_arb2->SetVertex(2, -side_plate_cord[3], side_plate_cord[4] + 1.0);
-  s_arb2->SetVertex(3, side_plate_cord[3], side_plate_cord[4] + 1.0);
-  s_arb2->SetVertex(4, side_plate_cord[6], side_plate_cord[7]);
-  s_arb2->SetVertex(5, -side_plate_cord[6], side_plate_cord[7]);
-  s_arb2->SetVertex(6, -side_plate_cord[6], side_plate_cord[7] + 1.0);
-  s_arb2->SetVertex(7, side_plate_cord[6], side_plate_cord[7] + 1.0);
-
-  TGeoVolume* sub_s_plate3 = geom->MakeArb8("sub_s_plate3", CF, side_plate_cord[8]);
-  sub_s_plate3->SetLineColor(kGray);
-  TGeoArb8* s_arb3 = (TGeoArb8*) sub_s_plate3->GetShape();
-  s_arb3->SetVertex(0, side_plate_cord[6], side_plate_cord[7]);
-  s_arb3->SetVertex(1, side_plate_cord[9], side_plate_cord[10]);
-  s_arb3->SetVertex(2, side_plate_cord[9], side_plate_cord[10] + 1.0);
-  s_arb3->SetVertex(3, side_plate_cord[6], side_plate_cord[7] + 1.0);
-  s_arb3->SetVertex(4, side_plate_cord[12], side_plate_cord[13]);
-  s_arb3->SetVertex(5, side_plate_cord[15], side_plate_cord[16]);
-  s_arb3->SetVertex(6, side_plate_cord[15], side_plate_cord[16] + 1.0);
-  s_arb3->SetVertex(7, side_plate_cord[12], side_plate_cord[13] + 1.0);
-
-  TGeoVolume* sub_s_plate4 = geom->MakeArb8("sub_s_plate4", CF, side_plate_cord[8]);
-  sub_s_plate4->SetLineColor(kGray);
-  TGeoArb8* s_arb4 = (TGeoArb8*) sub_s_plate4->GetShape();
-  s_arb4->SetVertex(0, -side_plate_cord[6], side_plate_cord[7]);
-  s_arb4->SetVertex(1, -side_plate_cord[9], side_plate_cord[10]);
-  s_arb4->SetVertex(2, -side_plate_cord[9], side_plate_cord[10] + 1.0);
-  s_arb4->SetVertex(3, -side_plate_cord[6], side_plate_cord[7] + 1.0);
-  s_arb4->SetVertex(4, -side_plate_cord[12], side_plate_cord[13]);
-  s_arb4->SetVertex(5, -side_plate_cord[15], side_plate_cord[16]);
-  s_arb4->SetVertex(6, -side_plate_cord[15], side_plate_cord[16] + 1.0);
-  s_arb4->SetVertex(7, -side_plate_cord[12], side_plate_cord[13] + 1.0);
-
-  TGeoVolume* sub_s_plate5 = geom->MakeArb8("sub_s_plate5", CF, side_plate_cord[14]);
-  sub_s_plate5->SetLineColor(kGray);
-  TGeoArb8* s_arb5 = (TGeoArb8*) sub_s_plate5->GetShape();
-  s_arb5->SetVertex(0, side_plate_cord[12], side_plate_cord[13]);
-  s_arb5->SetVertex(1, side_plate_cord[15], side_plate_cord[16]);
-  s_arb5->SetVertex(2, side_plate_cord[15], side_plate_cord[16] + 1.0);
-  s_arb5->SetVertex(3, side_plate_cord[12], side_plate_cord[13] + 1.0);
-  s_arb5->SetVertex(4, side_plate_cord[18], side_plate_cord[19]);
-  s_arb5->SetVertex(5, side_plate_cord[21], side_plate_cord[22]);
-  s_arb5->SetVertex(6, side_plate_cord[21], side_plate_cord[22] + 1.0);
-  s_arb5->SetVertex(7, side_plate_cord[18], side_plate_cord[19] + 1.0);
-
-  TGeoVolume* sub_s_plate6 = geom->MakeArb8("sub_s_plate6", CF, side_plate_cord[14]);
-  sub_s_plate6->SetLineColor(kGray);
-  TGeoArb8* s_arb6 = (TGeoArb8*) sub_s_plate6->GetShape();
-  s_arb6->SetVertex(0, -side_plate_cord[12], side_plate_cord[13]);
-  s_arb6->SetVertex(1, -side_plate_cord[15], side_plate_cord[16]);
-  s_arb6->SetVertex(2, -side_plate_cord[15], side_plate_cord[16] + 1.0);
-  s_arb6->SetVertex(3, -side_plate_cord[12], side_plate_cord[13] + 1.0);
-  s_arb6->SetVertex(4, -side_plate_cord[18], side_plate_cord[19]);
-  s_arb6->SetVertex(5, -side_plate_cord[21], side_plate_cord[22]);
-  s_arb6->SetVertex(6, -side_plate_cord[21], side_plate_cord[22] + 1.0);
-  s_arb6->SetVertex(7, -side_plate_cord[18], side_plate_cord[19] + 1.0);
-
-  TGeoVolume* sub_s_plate7 = geom->MakeArb8("sub_s_plate7", CF, side_plate_cord[20]);
-  sub_s_plate7->SetLineColor(kGray);
-  TGeoArb8* s_arb7 = (TGeoArb8*) sub_s_plate7->GetShape();
-  s_arb7->SetVertex(0, side_plate_cord[18], side_plate_cord[19]);
-  s_arb7->SetVertex(1, side_plate_cord[21], side_plate_cord[22]);
-  s_arb7->SetVertex(2, side_plate_cord[21], side_plate_cord[22] + 1.0);
-  s_arb7->SetVertex(3, side_plate_cord[18], side_plate_cord[19] + 1.0);
-  s_arb7->SetVertex(4, side_plate_cord[24], side_plate_cord[25]);
-  s_arb7->SetVertex(5, side_plate_cord[27], side_plate_cord[28]);
-  s_arb7->SetVertex(6, side_plate_cord[27], side_plate_cord[28] + 1.0);
-  s_arb7->SetVertex(7, side_plate_cord[24], side_plate_cord[25] + 1.0);
-
-  TGeoVolume* sub_s_plate8 = geom->MakeArb8("sub_s_plate8", CF, side_plate_cord[20]);
-  sub_s_plate8->SetLineColor(kGray);
-  TGeoArb8* s_arb8 = (TGeoArb8*) sub_s_plate8->GetShape();
-  s_arb8->SetVertex(0, -side_plate_cord[18], side_plate_cord[19]);
-  s_arb8->SetVertex(1, -side_plate_cord[21], side_plate_cord[22]);
-  s_arb8->SetVertex(2, -side_plate_cord[21], side_plate_cord[22] + 1.0);
-  s_arb8->SetVertex(3, -side_plate_cord[18], side_plate_cord[19] + 1.0);
-  s_arb8->SetVertex(4, -side_plate_cord[24], side_plate_cord[25]);
-  s_arb8->SetVertex(5, -side_plate_cord[27], side_plate_cord[28]);
-  s_arb8->SetVertex(6, -side_plate_cord[27], side_plate_cord[28] + 1.0);
-  s_arb8->SetVertex(7, -side_plate_cord[24], side_plate_cord[25] + 1.0);
-
-  TGeoVolume* sub_s_plate9 = geom->MakeArb8("sub_s_plate9", CF, side_plate_cord[26]);
-  sub_s_plate9->SetLineColor(kGray);
-  TGeoArb8* s_arb9 = (TGeoArb8*) sub_s_plate9->GetShape();
-  s_arb9->SetVertex(0, side_plate_cord[24], side_plate_cord[25]);
-  s_arb9->SetVertex(1, side_plate_cord[27], side_plate_cord[28]);
-  s_arb9->SetVertex(2, side_plate_cord[27], side_plate_cord[28] + 1.0);
-  s_arb9->SetVertex(3, side_plate_cord[24], side_plate_cord[25] + 1.0);
-  s_arb9->SetVertex(4, side_plate_cord[30], side_plate_cord[31]);
-  s_arb9->SetVertex(5, side_plate_cord[33], side_plate_cord[34]);
-  s_arb9->SetVertex(6, side_plate_cord[33], side_plate_cord[34] + 1.0);
-  s_arb9->SetVertex(7, side_plate_cord[30], side_plate_cord[31] + 1.0);
-
-  TGeoVolume* sub_s_plate10 = geom->MakeArb8("sub_s_plate10", CF, side_plate_cord[26]);
-  sub_s_plate10->SetLineColor(kGray);
-  TGeoArb8* s_arb10 = (TGeoArb8*) sub_s_plate10->GetShape();
-  s_arb10->SetVertex(0, -side_plate_cord[24], side_plate_cord[25]);
-  s_arb10->SetVertex(1, -side_plate_cord[27], side_plate_cord[28]);
-  s_arb10->SetVertex(2, -side_plate_cord[27], side_plate_cord[28] + 1.0);
-  s_arb10->SetVertex(3, -side_plate_cord[24], side_plate_cord[25] + 1.0);
-  s_arb10->SetVertex(4, -side_plate_cord[30], side_plate_cord[31]);
-  s_arb10->SetVertex(5, -side_plate_cord[33], side_plate_cord[34]);
-  s_arb10->SetVertex(6, -side_plate_cord[33], side_plate_cord[34] + 1.0);
-  s_arb10->SetVertex(7, -side_plate_cord[30], side_plate_cord[31] + 1.0);
-
-  // RAIL------------------------------------------------------------------------------------
-  TGeoVolume* sub_rail = geom->MakeArb8("sub_rail", Al, rail_cord[2]);
-  sub_rail->SetLineColor(kBlue);
-  TGeoArb8* r_arb1 = (TGeoArb8*) sub_rail->GetShape();
-  r_arb1->SetVertex(0, rail_cord[0], rail_cord[1]);
-  r_arb1->SetVertex(1, -rail_cord[0], rail_cord[1]);
-  r_arb1->SetVertex(2, -rail_cord[0], rail_cord[1] + rail_cord[4]);
-  r_arb1->SetVertex(3, rail_cord[0], rail_cord[1] + rail_cord[4]);
-  r_arb1->SetVertex(4, rail_cord[3], rail_cord[1]);
-  r_arb1->SetVertex(5, -rail_cord[3], rail_cord[1]);
-  r_arb1->SetVertex(6, -rail_cord[3], rail_cord[1] + rail_cord[4]);
-  r_arb1->SetVertex(7, rail_cord[3], rail_cord[1] + rail_cord[4]);
-
-  TGeoBBox* flange_box  = new TGeoBBox("flange_box", 15.2, 15.2, 1.5);
-  TGeoTube* flange_hole = new TGeoTube("flange_hole", 0., 12.5, 1.6);
-
-  // DOWNSTREAM_CARBON-FIBRE_RICH_MUCH_FLANGE_TO_BELLOW_ASS------------------------------------------------------------------------------------
-  TGeoBBox* rich_much_flange_box  = new TGeoBBox("rich_much_flange_box", 15.2, 15.2, 1.5);
-  TGeoTube* rich_much_flange_hole = new TGeoTube("rich_much_flange_hole", 0., 12.55, 1.6);
-  TGeoCompositeShape* rich_much_flange_composite =
-    new TGeoCompositeShape("flange_composite_rich", "rich_much_flange_box-rich_much_flange_hole");
-  TGeoVolume* rich_much_downstream_flange =
-    new TGeoVolume("rich_much_downstream_flange", rich_much_flange_composite, CF);
-  rich_much_downstream_flange->SetLineColor(kGray);
-
-  // VACUUM IN THE FLANGE----------------------------------------------------------------------------------------------
-  TGeoTube* vacuum_flange_hole = new TGeoTube("vacuum_flange_hole", 0., 12.5, 1.5);
-  TGeoVolume* vacuum_downstream_flange =
-    new TGeoVolume("vacuum_downstream_flange", vacuum_flange_hole, Vacuum);
-  vacuum_downstream_flange->SetLineColor(kRed);
-
-  // CONICAL_BEAM_PIPE----------------------------------------------------------------------------------------------------------
-  TGeoCone* conus                      = new TGeoCone("conus", conus_lenght, rmin1, rmax1, rmin2, rmax2);
-  TGeoVolume* conus_volume = new TGeoVolume("conus_volume", conus, CF);
-  conus_volume->SetLineColor(kGray);
-
-  //-------------------------------VACUUM IN CONE-------------------------------------------------------------------
-  TGeoCone* vacuum_conus = new TGeoCone("vacuum_conus", conus_lenght, 0, rmin1, 0, rmin2);
-  TGeoVolume* vacuum_conus_volume = new TGeoVolume("vacuum_conus_volume", vacuum_conus, Vacuum);
-  vacuum_conus_volume->SetLineColor(kGreen);
-
-  // CONNECTING TUBE--------------------------------------------------------------------------------------------------------------------------------------------------------
-  TGeoCtub* tube_connection = new TGeoCtub("tube_connection", 55. * mm, 56. * mm, 15. * mm, 0., 360., -0.05235892, 0., 4.99972585, 0., 0., 1.);
-  TGeoVolume* tube_connection_volume = new TGeoVolume("tube_connection_volume", tube_connection, CF);
-  tube_connection_volume->SetLineColor(kGray);
-
-  //------------------------VACUUM IN THE CONNECTING TUBE--------------------------------------------------------------
-  TGeoCtub* vacuum_tube_connection = new TGeoCtub("vacuum_tube_connection", 0. * mm, 55. * mm, 15. * mm, 0., 360., -0.05235892, 0., 4.99972585, 0., 0., 1.);
-  TGeoVolume* vacuum_tube_connection_volume = new TGeoVolume("vacuum_tube_connection_volume", vacuum_tube_connection, Vacuum);
-  vacuum_tube_connection_volume->SetLineColor(kGreen);
-
-  // STS tube-----------------------------------------------------------------------------------------------------
-  TGeoCtub* tube_connection_sts = new TGeoCtub("tube_connection_sts", 55. * mm, 56. * mm, 15. * mm, 0., 360., 0., 0., 1., 0.05235892, 0., 4.99972585);
-  TGeoVolume* tube_connection_sts_volume = new TGeoVolume("tube_connection_sts_volume", tube_connection_sts, CF);
-  tube_connection_sts_volume->SetLineColor(kGray);
-
-  //-------------------------------BELLOW DEFINITION----------------------------------------------------------------
-  TGeoCompositeShape* flange_composite = new TGeoCompositeShape("flange_composite", "flange_box-flange_hole");
-  TGeoVolume* bellow_flange_0          = new TGeoVolume("bellow_flange_0", flange_composite, Stainless);
-  bellow_flange_0->SetLineColor(kRed);
-
-  TGeoCtub* bellow_s1  = new TGeoCtub("bellow_s1", 124. * mm, 142. * mm, 29.87452196 * mm, 0., 360., -0.083697266, 0.,
-                                     -0.996491228, -0.122217128, 0., 0.992503387);
-  TGeoVolume* bellow_1 = new TGeoVolume("bellow_s1", bellow_s1, Stainless);
-  bellow_1->SetLineColor(kRed);
-
-  TGeoCtub* bellow_s2  = new TGeoCtub("bellow_s1", 124. * mm, 142. * mm, 96.682942995 * mm, 0., 360., -0.122217128, 0.,
-                                     -0.992503387, 0.089898314, 0, 0.995950949);
-  TGeoVolume* bellow_2 = new TGeoVolume("bellow_s2", bellow_s2, Stainless);
-  bellow_2->SetLineColor(kRed);
-
-  TGeoCtub* bellow_s3  = new TGeoCtub("bellow_s3", 124. * mm, 142. * mm, 22.10506784 * mm, 0., 360., -0.089898314, 0.,
-                                     -0.995950949, -0.024210927, 0., 0.999706873);
-  TGeoVolume* bellow_3 = new TGeoVolume("bellow_s3", bellow_s3, Stainless);
-  bellow_3->SetLineColor(kRed);
-
-  TGeoCtub* bellow_s4  = new TGeoCtub("bellow_s4", 124. * mm, 142. * mm, 25.306 * mm, 0., 360., -0.024210927, 0.,
-                                     -0.999706873, -0.083697266, 0., 0.996491228);
-  TGeoVolume* bellow_4 = new TGeoVolume("bellow_s3", bellow_s4, Stainless);
-  bellow_4->SetLineColor(kRed);
-
-  //-------------------------------VACUUM BELLOW DEFINITION----------------------------------------------------------------
-  TGeoVolume* vacuum_bellow_flange_0          = new TGeoVolume("vacuum_bellow_flange_0", vacuum_flange_hole, Vacuum);
-  vacuum_bellow_flange_0->SetLineColor(kGreen);
-
-  TGeoCtub* vacuum_bellow_s1  = new TGeoCtub("vacuum_bellow_s1", 0. * mm, 123.8 * mm, 29.87452196 * mm, 0., 360., -0.083697266, 0.,
-                                     -0.996491228, -0.122217128, 0., 0.992503387);
-  TGeoVolume* vacuum_bellow_1 = new TGeoVolume("vacuum_bellow_s1", vacuum_bellow_s1, Vacuum);
-  vacuum_bellow_1->SetLineColor(kGreen);
-
-  TGeoCtub* vacuum_bellow_s2  = new TGeoCtub("vacuum_bellow_s1", 0. * mm, 123.8 * mm, 96.682942995 * mm, 0., 360., -0.122217128, 0.,
-                                     -0.992503387, 0.089898314, 0, 0.995950949);
-  TGeoVolume* vacuum_bellow_2 = new TGeoVolume("vacuum_bellow_s2", vacuum_bellow_s2, Vacuum);
-  vacuum_bellow_2->SetLineColor(kGreen);
-
-  TGeoCtub* vacuum_bellow_s3  = new TGeoCtub("vacuum_bellow_s3", 0. * mm, 123.8 * mm, 22.10506784 * mm, 0., 360., -0.089898314, 0.,
-                                     -0.995950949, -0.024210927, 0., 0.999706873);
-  TGeoVolume* vacuum_bellow_3 = new TGeoVolume("vacuum_bellow_s3", vacuum_bellow_s3, Vacuum);
-  vacuum_bellow_3->SetLineColor(kGreen);
-
-  TGeoCtub* vacuum_bellow_s4  = new TGeoCtub("vacuum_bellow_s4", 0. * mm, 123.8 * mm, 25.306 * mm, 0., 360., -0.024210927, 0.,
-                                     -0.999706873, -0.083697266, 0., 0.996491228);
-  TGeoVolume* vacuum_bellow_4 = new TGeoVolume("vacuum_bellow_s4", vacuum_bellow_s4, Vacuum);
-  vacuum_bellow_4->SetLineColor(kGreen);
-
-  TGeoBBox* roll_plate_s = new TGeoBBox("roll_plate_s", 75. * mm, 12.5 * mm, 90. * mm);
-  TGeoVolume* roll_plate = new TGeoVolume("roll_plate", roll_plate_s, Al);
-  roll_plate->SetLineColor(kBlue);
-
-  TGeoTube* flange_cyl                     = new TGeoTube("flange_cyl", 0., 15., 1.5);
-  TGeoTube* flange_cyl_hole                = new TGeoTube("flange_cyl_hole", 0., 8.9, 1.6);
-  TGeoCompositeShape* flange_cyl_composite = new TGeoCompositeShape(
-    "flange_cyl_composite", "((flange_cyl-flange_cyl_hole)-roll_plate_s:tr_plate_up)-roll_plate_s:tr_plate_down");
-  TGeoVolume* bellow_flange_1 = new TGeoVolume("bellow_flange_1", flange_cyl_composite, Stainless);
-  bellow_flange_1->SetLineColor(kRed);
-
-  //-------------------------------VACUUM FLANGE BELLOW------------------------------------------------------------------
-  TGeoTube* vacuum_flange_cyl_hole                = new TGeoTube("vacuum_flange_cyl_hole", 0., 8.9, 1.5);
-  TGeoVolume* vacuum_bellow_flange_1 = new TGeoVolume("vacuum_bellow_flange_1", vacuum_flange_cyl_hole, Vacuum);
-  vacuum_bellow_flange_1->SetLineColor(kGreen);
-
-  TGeoTube* lead_screw_s = new TGeoTube("lead_screw_s", 0. * mm, 6. * mm, 205. * mm);
-  TGeoTube* nut_small_s  = new TGeoTube("nut_small_s", 6. * mm, 14. * mm, 50. * mm);
-  TGeoTube* nut_big_s    = new TGeoTube("nut_big_s", 14. * mm, 24. * mm, 27. * mm);
-
-  TGeoCompositeShape* lead_screw_nut_s =
-    new TGeoCompositeShape("lead_screw_nut_s", "lead_screw_s+nut_small_s:nut_transl+nut_big_s:nut_transl");
-  TGeoVolume* lead_screw_nut = new TGeoVolume("lead_screw_nut", lead_screw_nut_s, Stainless);
-  lead_screw_nut->SetLineColor(kRed);
-
-
-  TGeoBBox* motor_s = new TGeoBBox("motor_s", 57.5 * mm, 30. * mm, 30. * mm);
-  TGeoVolume* motor = new TGeoVolume("motor", motor_s, Stainless);
-  motor->SetLineColor(kRed);
-
-
-  TGeoTube* psd_tube_s = new TGeoTube("psd_tube_s", 90. * mm, 92. * mm, 7230. * mm);
-  TGeoVolume* psd_tube = new TGeoVolume("psd_tube", psd_tube_s, CF);
-  psd_tube->SetLineColor(kGray);
-
-  //------------------------------VACUUM PSD TUBE-------------------------------------------------------------------------
-  TGeoTube* vacuum_psd_tube_s = new TGeoTube("vacuum_psd_tube_s", 0. * mm, 90. * mm, 7230. * mm);
-  TGeoVolume* vacuum_psd_tube = new TGeoVolume("vacuum_psd_tube", vacuum_psd_tube_s, Vacuum);
-  vacuum_psd_tube->SetLineColor(kGreen);
-
-  //------------------TOP plate------------------------------
-  bellow_ass->AddNode(sub_t_plate1, 1, tr_top_0a);
-  bellow_ass->AddNode(sub_t_plate2, 1, tr_top_1a);
-  bellow_ass->AddNode(sub_t_plate3, 1, tr_top_2a);
-  bellow_ass->AddNode(sub_t_plate4, 1, tr_top_3a);
-  bellow_ass->AddNode(sub_t_plate5, 1, tr_top_4a);
-  bellow_ass->AddNode(sub_t_plate6, 1, tr_top_5a);
-
-  //-----------------BOTTOM plate----------------------------
-  bellow_ass->AddNode(sub_t_plate1, 2, tr_bott_0a);
-  bellow_ass->AddNode(sub_t_plate2, 2, tr_bott_1a);
-  bellow_ass->AddNode(sub_t_plate3, 2, tr_bott_2a);
-  bellow_ass->AddNode(sub_t_plate4, 2, tr_bott_3a);
-  bellow_ass->AddNode(sub_t_plate5, 2, tr_bott_4a);
-  bellow_ass->AddNode(sub_t_plate6, 2, tr_bott_5a);
-
-  //-----------------LEFT plate------------------------------
-  bellow_ass->AddNode(sub_s_plate1, 1, tr_side_left_0a);
-  bellow_ass->AddNode(sub_s_plate2, 1, tr_side_left_1a);
-  bellow_ass->AddNode(sub_s_plate3, 1, tr_side_left_2a);
-  bellow_ass->AddNode(sub_s_plate4, 1, tr_side_left_2a);
-  bellow_ass->AddNode(sub_s_plate5, 1, tr_side_left_3a);
-  bellow_ass->AddNode(sub_s_plate6, 1, tr_side_left_3a);
-  bellow_ass->AddNode(sub_s_plate7, 1, tr_side_left_4a);
-  bellow_ass->AddNode(sub_s_plate8, 1, tr_side_left_4a);
-  bellow_ass->AddNode(sub_s_plate9, 1, tr_side_left_5a);
-  bellow_ass->AddNode(sub_s_plate10, 1, tr_side_left_5a);
-
-  //---------------RIGHT plate--------------------------------
-  bellow_ass->AddNode(sub_s_plate1, 2, tr_side_right_0a);
-  bellow_ass->AddNode(sub_s_plate2, 2, tr_side_right_1a);
-  bellow_ass->AddNode(sub_s_plate3, 2, tr_side_right_2a);
-  bellow_ass->AddNode(sub_s_plate4, 2, tr_side_right_2a);
-  bellow_ass->AddNode(sub_s_plate5, 2, tr_side_right_3a);
-  bellow_ass->AddNode(sub_s_plate6, 2, tr_side_right_3a);
-  bellow_ass->AddNode(sub_s_plate7, 2, tr_side_right_4a);
-  bellow_ass->AddNode(sub_s_plate8, 2, tr_side_right_4a);
-  bellow_ass->AddNode(sub_s_plate9, 2, tr_side_right_5a);
-  bellow_ass->AddNode(sub_s_plate10, 2, tr_side_right_5a);
-
-  //------------------RAIL-------------------------------------
-  bellow_ass->AddNode(sub_rail, 1, combi_rail_top);
-  bellow_ass->AddNode(sub_rail, 2, combi_rail_bott);
-
-  //----------------Bellow with flanges-----------------------------
-  bellow_ass->AddNode(bellow_flange_0, 1, new TGeoTranslation(0, 0, 1.5));
-  bellow_ass->AddNode(bellow_1, 1, ctr_s1);
-  bellow_ass->AddNode(bellow_2, 1, ctr_s2);
-  bellow_ass->AddNode(bellow_3, 1, ctr_s3);
-  bellow_ass->AddNode(bellow_4, 1, ctr_s4);
-  bellow_ass->AddNode(bellow_flange_1, 1, ctr_s5);
-
-  //-----------------Vacuum in bellow and flanges
-  vacuum_bellow_ass->AddNode(vacuum_bellow_flange_0, 1, new TGeoTranslation(0, 0, 1.5));
-  vacuum_bellow_ass->AddNode(vacuum_bellow_1, 1, ctr_s1);
-  vacuum_bellow_ass->AddNode(vacuum_bellow_2, 1, ctr_s2);
-  vacuum_bellow_ass->AddNode(vacuum_bellow_3, 1, ctr_s3);
-  vacuum_bellow_ass->AddNode(vacuum_bellow_4, 1, ctr_s4);
-  vacuum_bellow_ass->AddNode(vacuum_bellow_flange_1, 1, ctr_s5);
-
-
-  //------------------DRIVE assembly--------------------------------------
-  bellow_ass->AddNode(roll_plate, 1, ctr_plate_up);
-  bellow_ass->AddNode(roll_plate, 2, ctr_plate_down);
-  bellow_ass->AddNode(lead_screw_nut, 1, ctr_lsn);
-  bellow_ass->AddNode(motor, 1, mot_transl);
-
-  //-------------------CONICAL section--------------------------------------------------
-  conical_beam_pipe->AddNode(rich_much_downstream_flange, 1, new TGeoTranslation(0, 0, 1570 * mm));
-  conical_beam_pipe->AddNode(conus_volume, 1, new TGeoTranslation(0, 0, 0));
-  conical_beam_pipe->AddNode(tube_connection_volume, 1, ctr_sts_conus_connection);
-  //conical_beam_pipe->AddNode(tube_connection_sts_volume, 1, ctr_sts_tube);  //unexplained "nonexisting" overlap
-  //conical_beam_pipe->AddNode(rich_much_upstream_tube_connection_volume, 1, ctr_sts_tube);
-
- //-------------------VACUUM in CONICAL section--------------------------------------------------
-  //vacuum_conical_beam_pipe->AddNode(vacuum_downstream_flange, 1, new TGeoTranslation(0, 0, 1570 * mm)); // not needed
-  vacuum_conical_beam_pipe->AddNode(vacuum_conus_volume, 1, new TGeoTranslation(0, 0, 0));
-  vacuum_conical_beam_pipe->AddNode(vacuum_tube_connection_volume, 1, ctr_sts_conus_connection);
- 
-  //------------------INSERT into top volume
-  full_assembly->AddNode(conical_beam_pipe, 1, origin_combi_cone);
-  full_assembly->AddNode(bellow_ass, 1, origin_combi);
-  full_assembly->AddNode(psd_tube, 1, ctr_psd_tube);
-  full_assembly->AddNode(vacuum_conical_beam_pipe, 1, origin_combi_cone);
-  full_assembly->AddNode(vacuum_bellow_ass, 1, origin_combi);
-  full_assembly->AddNode(vacuum_psd_tube, 1, ctr_psd_tube);
-
-  //beampipe->AddNode(full_assembly,1, new TGeoTranslation(0, 0, 0*mm));
-  // --- close the geometry
-  geom->CloseGeometry();
-
-  //--- draw the ROOT box
-  geom->SetVisLevel(4);
-  full_assembly->Draw();
-  if (gPad && !gROOT->IsBatch()) gPad->GetViewer3D();
-
-  // ---------------   Finish   -----------------------------------------------
-  TString geo_bin_filename = "pipe_";
-  TString geo_name         = geo_bin_filename + geoTag;
-  geo_bin_filename         = geo_bin_filename + geoTag + ".geo.root";
-  TFile* binfile;
-  binfile = new TFile(geo_bin_filename, "RECREATE");
-  geom->GetTopVolume()->Write(geo_name);  // outputting on the top volume
-  TGeoTranslation* trans = new TGeoTranslation(0.0, 0.0, 82.0);
-  trans->Write("trans");
-  cout << endl;
-  cout << "Geometry " << geom->GetTopVolume()->GetName() << " written to " << geo_bin_filename << endl;
-  binfile->Close();
-  //--- close the geometry
-  geom->CloseGeometry();
-  //gGeoManager->CheckOverlaps(0.000001);
-  //gGeoManager->GetListOfOverlaps()->Print();
-}
diff --git a/macro/passive/fair/create_bpipe_geometry_v21f.C b/macro/passive/fair/create_bpipe_geometry_v21f.C
deleted file mode 100644
index 97e0c451605c0f2b5ccd2ce452dc0b24d61a2c72..0000000000000000000000000000000000000000
--- a/macro/passive/fair/create_bpipe_geometry_v21f.C
+++ /dev/null
@@ -1,745 +0,0 @@
-/* Copyright (C) 2021 Nuclear Physics Institute of the CAS, Rez
-   SPDX-License-Identifier: GPL-3.0-only
-   Authors: Petr Chudoba  [committer] */
-
-#include "TGeoArb8.h"
-#include "TGeoCompositeShape.h"
-#include "TGeoCone.h"
-#include "TGeoManager.h"
-#include "TGeoMatrix.h"
-#include "TGeoSystemOfUnits.h"
-#include "TGeoTube.h"
-#include "TPad.h"
-#include "TROOT.h"
-#include "TSystem.h"
-
-#include "iostream"
-#include "stdio.h"
-using namespace std;
-using namespace TGeoUnit;
-
-void create_bpipe_geometry_v21f(const char* geoTag = "v21f")
-{
-  //--- Definition of a simple geometry
-  gSystem->Load("libGeom");
-  TGeoManager* geom = new TGeoManager("beampipe_v21f", "Beampipe for no magnetic field");
-
-  //--- define some materials
-  TGeoMixture* matCarbonFiber = new TGeoMixture("BP_carbonfiber", 4, 1.5);
-  matCarbonFiber->AddElement(12.001, 6.0, 0.8926);
-  matCarbonFiber->AddElement(1.0079, 1.0, 0.0192);
-  matCarbonFiber->AddElement(35.453, 17.0, 0.0271);
-  matCarbonFiber->AddElement(15.999, 8.0, 0.0611);
-
-  TGeoMixture* matStainless = new TGeoMixture("BP_stainless", 10, 8.0);
-  matStainless->AddElement(12.0, 6.0, 0.00035);
-  matStainless->AddElement(51.94, 24.0, 0.175);
-  matStainless->AddElement(54.94, 25.0, 0.01);
-  matStainless->AddElement(95.94, 42.0, 0.025);
-  matStainless->AddElement(14.0, 7.0, 0.0005);
-  matStainless->AddElement(58.6934, 28.0, 0.115);
-  matStainless->AddElement(30.97, 15.0, 0.000225);
-  matStainless->AddElement(31.97, 16.0, 0.000075);
-  matStainless->AddElement(27.98, 14.0, 0.005);
-  matStainless->AddElement(55.93, 26.0, 0.67135);
-
-  TGeoMaterial* matVacuum = new TGeoMaterial("BP_vacuum", 1.e-16, 1.e-16, 1.e-16);
-  TGeoMaterial* matAl     = new TGeoMaterial("BP_aluminium", 26.9815386, 13, 2.7, 24.01);
-
-  //   //--- define some media
-  TGeoMedium* Vacuum    = new TGeoMedium("BP_vacuum", 1, matVacuum);
-  TGeoMedium* Al        = new TGeoMedium("BP_aluminium", 2, matAl);
-  TGeoMedium* CF        = new TGeoMedium("BP_carbonfiber", 3, matCarbonFiber);
-  TGeoMedium* Stainless = new TGeoMedium("BP_stainless", 4, matStainless);
-
-  Double_t conus_lenght = 1585 * mm;
-  Double_t rmin1        = 55 * mm;
-  Double_t rmax1        = 56 * mm;
-  Double_t rmin2        = 125 * mm;
-  Double_t rmax2        = 126 * mm;
-
-  Double_t rail_cord[]       = {23.0, 0, 4.5, 21.4, 2.8, 4.5};
-  Double_t top_plate_cord[]  = {10,   0,    2.1,  10.15, 0,     4.05, 11.75, 2.15, 4.0,  15.3, 4.28,
-                               2.85, 18.1, 5.27, 2.85,  19.75, 5.65, 5.0,   21.1, 5.65, 0};
-  Double_t side_plate_cord[] = {11.3, 0,   2,    11.3, 0,   7.55, 16,   6.8, 4.6, 8.7,  6.8, 4.6,
-                                19.8, 8.3, 2.35, 13.6, 8.3, 2.35, 20.8, 7.9, 3.0, 14.8, 7.9, 3.0,
-                                21.3, 6.8, 1.5,  16.3, 6.8, 1.5,  21.3, 6.3, 0,   17.4, 6.3, 0};
-
-  //-----------------------DEFINITION OF TRANSFORMATIONS--------------------------------------------------------------------------------------
-
-  TGeoRotation* rot_top = new TGeoRotation("rot_top");
-  rot_top->SetAngles(0, 0, 0);
-  TGeoCombiTrans* combi_top = new TGeoCombiTrans(0, 15.2, 0, rot_top);
-
-  TGeoRotation* rot_bott = new TGeoRotation("rot_bott");
-  rot_bott->SetAngles(180, 0, 0);
-  TGeoCombiTrans* combi_bott = new TGeoCombiTrans(0, -15.2, 0, rot_bott);
-
-  TGeoRotation* rot_rail_top = new TGeoRotation("rot_rail_top");
-  rot_rail_top->SetAngles(0, 0, 0);
-  TGeoCombiTrans* combi_rail_top = new TGeoCombiTrans(0, 20.15 - rail_cord[4], rail_cord[2] + 33, rot_rail_top);
-
-  TGeoRotation* rot_rail = new TGeoRotation("rot_rail_bott");
-  rot_rail->SetAngles(0, 0, 0);
-  TGeoCombiTrans* combi_rail_bott = new TGeoCombiTrans(0, -20.15, rail_cord[2] + 33, rot_rail);
-
-
-  TGeoTranslation* ident_translation = new TGeoTranslation("ident_translation", 0, 0, 0);
-  ident_translation->RegisterYourself();
-
-  TGeoRotation* ident_rotation = new TGeoRotation("ident_rotation");
-  ident_rotation->RotateY(0);
-  ident_rotation->RotateY(0);
-  ident_rotation->RegisterYourself();
-
-  TGeoRotation* rot_left = new TGeoRotation("rot_left");
-  rot_left->SetAngles(90, 0, 0);
-  TGeoCombiTrans* combi_left = new TGeoCombiTrans(-15.2, 0, 0, rot_left);
-
-  TGeoRotation* rot_right = new TGeoRotation("rot_right");
-  rot_right->SetAngles(270, 0, 0);
-  TGeoCombiTrans* combi_right = new TGeoCombiTrans(15.2, 0, 0, rot_right);
-
-  TGeoCombiTrans* tr_top_0a = new TGeoCombiTrans(0, 15.2, top_plate_cord[2], rot_top);
-  TGeoCombiTrans* tr_top_1a = new TGeoCombiTrans(0, 15.2, 2 * top_plate_cord[2] + top_plate_cord[5], rot_top);
-  TGeoCombiTrans* tr_top_2a = new TGeoCombiTrans(
-    0, 15.2, 2 * top_plate_cord[2] + top_plate_cord[5] + top_plate_cord[5] + top_plate_cord[8], rot_top);
-  TGeoCombiTrans* tr_top_3a = new TGeoCombiTrans(0, 15.2,
-                                                 2 * top_plate_cord[2] + top_plate_cord[5] + top_plate_cord[5]
-                                                   + top_plate_cord[8] + top_plate_cord[8] + top_plate_cord[11],
-                                                 rot_top);
-  TGeoCombiTrans* tr_top_4a =
-    new TGeoCombiTrans(0, 15.2,
-                       2 * top_plate_cord[2] + top_plate_cord[5] + top_plate_cord[5] + top_plate_cord[8]
-                         + top_plate_cord[8] + top_plate_cord[11] + top_plate_cord[11] + top_plate_cord[14],
-                       rot_top);
-  TGeoCombiTrans* tr_top_5a = new TGeoCombiTrans(
-    0, 15.2,
-    2 * top_plate_cord[2] + top_plate_cord[5] + top_plate_cord[5] + top_plate_cord[8] + top_plate_cord[8]
-      + top_plate_cord[11] + top_plate_cord[11] + top_plate_cord[14] + top_plate_cord[14] + top_plate_cord[17],
-    rot_top);
-
-  TGeoCombiTrans* tr_bott_0a = new TGeoCombiTrans(0, -15.2, top_plate_cord[2], rot_bott);
-  TGeoCombiTrans* tr_bott_1a = new TGeoCombiTrans(0, -15.2, 2 * top_plate_cord[2] + top_plate_cord[5], rot_bott);
-  TGeoCombiTrans* tr_bott_2a = new TGeoCombiTrans(
-    0, -15.2, 2 * top_plate_cord[2] + top_plate_cord[5] + top_plate_cord[5] + top_plate_cord[8], rot_bott);
-  TGeoCombiTrans* tr_bott_3a = new TGeoCombiTrans(0, -15.2,
-                                                  2 * top_plate_cord[2] + top_plate_cord[5] + top_plate_cord[5]
-                                                    + top_plate_cord[8] + top_plate_cord[8] + top_plate_cord[11],
-                                                  rot_bott);
-  TGeoCombiTrans* tr_bott_4a =
-    new TGeoCombiTrans(0, -15.2,
-                       2 * top_plate_cord[2] + top_plate_cord[5] + top_plate_cord[5] + top_plate_cord[8]
-                         + top_plate_cord[8] + top_plate_cord[11] + top_plate_cord[11] + top_plate_cord[14],
-                       rot_bott);
-  TGeoCombiTrans* tr_bott_5a = new TGeoCombiTrans(
-    0, -15.2,
-    2 * top_plate_cord[2] + top_plate_cord[5] + top_plate_cord[5] + top_plate_cord[8] + top_plate_cord[8]
-      + top_plate_cord[11] + top_plate_cord[11] + top_plate_cord[14] + top_plate_cord[14] + top_plate_cord[17],
-    rot_bott);
-
-  TGeoCombiTrans* tr_side_left_0a = new TGeoCombiTrans(-15.2, 0, side_plate_cord[2], rot_left);
-  TGeoCombiTrans* tr_side_left_1a = new TGeoCombiTrans(-15.2, 0, 2 * side_plate_cord[2] + side_plate_cord[5], rot_left);
-  TGeoCombiTrans* tr_side_left_2a = new TGeoCombiTrans(
-    -15.2, 0, 2 * side_plate_cord[2] + side_plate_cord[5] + side_plate_cord[5] + side_plate_cord[8], rot_left);
-  TGeoCombiTrans* tr_side_left_3a =
-    new TGeoCombiTrans(-15.2, 0,
-                       2 * side_plate_cord[2] + side_plate_cord[5] + side_plate_cord[5] + side_plate_cord[8]
-                         + side_plate_cord[8] + side_plate_cord[14],
-                       rot_left);
-  TGeoCombiTrans* tr_side_left_4a =
-    new TGeoCombiTrans(-15.2, 0,
-                       2 * side_plate_cord[2] + side_plate_cord[5] + side_plate_cord[5] + side_plate_cord[8]
-                         + side_plate_cord[8] + side_plate_cord[14] + side_plate_cord[14] + side_plate_cord[20],
-                       rot_left);
-  TGeoCombiTrans* tr_side_left_5a = new TGeoCombiTrans(
-    -15.2, 0,
-    2 * side_plate_cord[2] + side_plate_cord[5] + side_plate_cord[5] + side_plate_cord[8] + side_plate_cord[8]
-      + side_plate_cord[14] + side_plate_cord[14] + side_plate_cord[20] + side_plate_cord[20] + side_plate_cord[26],
-    rot_left);
-
-  TGeoCombiTrans* tr_side_right_0a = new TGeoCombiTrans(15.2, 0, side_plate_cord[2], rot_right);
-  TGeoCombiTrans* tr_side_right_1a =
-    new TGeoCombiTrans(15.2, 0, 2 * side_plate_cord[2] + side_plate_cord[5], rot_right);
-  TGeoCombiTrans* tr_side_right_2a = new TGeoCombiTrans(
-    15.2, 0, 2 * side_plate_cord[2] + side_plate_cord[5] + side_plate_cord[5] + side_plate_cord[8], rot_right);
-  TGeoCombiTrans* tr_side_right_3a =
-    new TGeoCombiTrans(15.2, 0,
-                       2 * side_plate_cord[2] + side_plate_cord[5] + side_plate_cord[5] + side_plate_cord[8]
-                         + side_plate_cord[8] + side_plate_cord[14],
-                       rot_right);
-  TGeoCombiTrans* tr_side_right_4a =
-    new TGeoCombiTrans(15.2, 0,
-                       2 * side_plate_cord[2] + side_plate_cord[5] + side_plate_cord[5] + side_plate_cord[8]
-                         + side_plate_cord[8] + side_plate_cord[14] + side_plate_cord[14] + side_plate_cord[20],
-                       rot_right);
-  TGeoCombiTrans* tr_side_right_5a = new TGeoCombiTrans(
-    15.2, 0,
-    2 * side_plate_cord[2] + side_plate_cord[5] + side_plate_cord[5] + side_plate_cord[8] + side_plate_cord[8]
-      + side_plate_cord[14] + side_plate_cord[14] + side_plate_cord[20] + side_plate_cord[20] + side_plate_cord[26],
-    rot_right);
-
-  TGeoRotation* rot_sts_conus_connection = new TGeoRotation("rot_sts_conus_connection");
-  rot_sts_conus_connection->RotateZ(180);
-  TGeoCombiTrans* ctr_sts_conus_connection = new TGeoCombiTrans(0, 0, -1600 * mm, rot_sts_conus_connection);
-
-  TGeoRotation* rotation_of_sts_tube = new TGeoRotation("rotation_of_sts_tube");
-  rotation_of_sts_tube->RotateZ(180);
-  rotation_of_sts_tube->RotateY(-1.2);
-  TGeoCombiTrans* ctr_sts_tube = new TGeoCombiTrans(0.15707676 * mm, 0, -1630.001 * mm, rotation_of_sts_tube);
-
-  TGeoRotation* rot_global = new TGeoRotation("rot_global");
-  rot_global->RotateY(1.2);
-  TGeoCombiTrans* ctr_global = new TGeoCombiTrans(0, 0, 3214.99917754 * mm, rot_global);
-
-  TGeoRotation* rot_s1 = new TGeoRotation("rot_s1");
-  rot_s1->RotateY(-11.888);
-  TGeoCombiTrans* ctr_s1 = new TGeoCombiTrans("ctr_s1", -11.46294558 * mm, 0, 84.6 * mm, rot_s1);
-
-  TGeoRotation* rot_s2 = new TGeoRotation("rot_s2");
-  rot_s2->RotateY(-26.4732337);
-  TGeoCombiTrans* ctr_s2 = new TGeoCombiTrans("ctr_s2", (-48.92189672) * mm, 0, (191.30295277) * mm, rot_s2);
-
-  TGeoRotation* rot_s3 = new TGeoRotation("rot_s3");
-  rot_s3->RotateZ(180.);
-  rot_s3->RotateY(-15.505);
-
-  TGeoCombiTrans* ctr_s3 = new TGeoCombiTrans("ctr_s3", (-85.745) * mm, 0, (282.6) * mm, rot_s3);
-
-  TGeoRotation* rot_s4 = new TGeoRotation("rot_s4");
-  rot_s4->RotateZ(180.);
-  rot_s4->RotateY(-4.217);
-
-  TGeoCombiTrans* ctr_s4 = new TGeoCombiTrans("ctr_s4", (-98.226) * mm, 0, 344.15 * mm, rot_s4);
-
-
-  TGeoRotation* rot_plate = new TGeoRotation("rot_plate");
-  rot_plate->RotateY(-1.2);
-  TGeoCombiTrans* ctr_plate_up =
-    new TGeoCombiTrans("ctr_plate_up", -100.194 * mm, (147 + 12.5) * mm, (292.8 + 90) * mm, rot_plate);
-  TGeoCombiTrans* ctr_plate_down =
-    new TGeoCombiTrans("ctr_plate_down", -100.194 * mm, -(147 + 12.5) * mm, (292.8 + 90) * mm, rot_plate);
-  TGeoTranslation* tr_plate_up = new TGeoTranslation("tr_plate_up", 0. * mm, (147 + 12.5) * mm, 0. * mm);
-  tr_plate_up->RegisterYourself();
-  TGeoTranslation* tr_plate_down = new TGeoTranslation("tr_plate_down", 0. * mm, -(147 + 12.5) * mm, 0. * mm);
-  tr_plate_down->RegisterYourself();
-
-  TGeoRotation* rot_lsn = new TGeoRotation("rot_lsn");
-  //rot_s5->RotateZ(180.);
-  rot_lsn->RotateY(-90);
-  TGeoCombiTrans* ctr_lsn = new TGeoCombiTrans("ctr_s5", -22.5 * mm, -159.5 * mm, 534. * mm, rot_lsn);
-
-  TGeoTranslation* mot_transl = new TGeoTranslation("mot_transl", -286.5 * mm, -159.5 * mm, 534. * mm);
-
-  TGeoTranslation orig_translation("orig_translation", -0.15707676 * mm, 0, 3230 * mm);
-
-  TGeoTranslation orig_translation_cone("orig_translation_cone", -0.15707676 * mm, 0, 1645 * mm);
-  //TGeoCombiTrans *origin_translation = new TGeoCombiTrans(orig_translation,ident);
-
-
-  TGeoRotation orig_rotation("orig_rotation");
-  orig_rotation.RotateY(1.2);
-  //TGeoCombiTrans *origin_rotation = new TGeoCombiTrans(0,orig_rotation);
-  //orig_rotation->RegisterYourself();
-
-
-  //TGeoHMatrix orig_combi = orig_translation * orig_rotation;
-  TGeoHMatrix orig_combi = orig_rotation * orig_translation;
-
-  TGeoHMatrix orig_combi_cone = orig_rotation * orig_translation_cone;
-
-  TGeoHMatrix* origin_combi = new TGeoHMatrix(orig_combi);
-
-  TGeoHMatrix* origin_combi_cone = new TGeoHMatrix(orig_combi_cone);
-
-
-  //TGeoTranslation* cone_transl = new TGeoTranslation("cone_transl", -286.5 * mm, -159.5 * mm, 534. * mm);
-
-  TGeoRotation* rot_psd_tube = new TGeoRotation("rot_psd_tube");
-  rot_psd_tube->RotateY(0);
-  TGeoCombiTrans* ctr_psd_tube = new TGeoCombiTrans("ctr_psd_tube", -24.7 * mm, 0. * mm, 10858.02 * mm, rot_psd_tube);
-
-  TGeoRotation* rot_s5 = new TGeoRotation("rot_s5");
-  //rot_s5->RotateZ(180.);
-  rot_s5->RotateY(-1.2);
-  TGeoCombiTrans* ctr_s5 = new TGeoCombiTrans("ctr_s5", (-100.194) * mm, 0, 381.7 * mm, rot_s5);
-
-  TGeoTranslation* nut_transl = new TGeoTranslation("nut_transl", 0. * mm, 0. * mm, 80. * mm);
-  nut_transl->RegisterYourself();
-
-  //------------------------------------DEFINITIONS OF VOLUMES----------------------------------------
-  //--- make the top container volume
-  Double_t worldx           = 800 * mm;
-  Double_t worldy           = 220 * mm;
-  Double_t worldz           = 18100 * mm;
-  //TGeoVolume* full_assembly = geom->MakeBox("pipe_v21f", Vacuum, worldx, worldy, worldz);
-  TGeoVolumeAssembly* full_assembly = new TGeoVolumeAssembly("pipe_v21f");
-  geom->SetTopVolume(full_assembly);
-  full_assembly->SetVisibility(kTRUE);
-  //TGeoVolume* conical_beam_pipe = geom->MakeBox("conical_beam_pipe", Vacuum, 220 * mm, 220 * mm, 1825 * mm);
-  TGeoVolume* conical_beam_pipe = new TGeoVolumeAssembly("conical_beam_pipe");
-  conical_beam_pipe->SetVisibility(kFALSE);
-
-  TGeoVolume* vacuum_conical_beam_pipe = new TGeoVolumeAssembly("vacuum_conical_beam_pipe");
-  vacuum_conical_beam_pipe->SetVisibility(kFALSE);
- 
-  //TGeoVolume* bellow_ass = geom->MakeBox("Bellow assembly", Vacuum, 350 * mm, 220 * mm, 600 * mm);
-  TGeoVolume* bellow_ass = new TGeoVolumeAssembly("Bellow assembly");
-  bellow_ass->SetVisibility(kFALSE);
-
-  TGeoVolume* vacuum_bellow_ass = new TGeoVolumeAssembly("Vacuum_bellow assembly");
-  vacuum_bellow_ass->SetVisibility(kFALSE);
-
-  // TOP PLATE--------------------------------------------------------------------------------------
-  TGeoVolume* sub_t_plate1 = geom->MakeArb8("sub_t_plate1", CF, top_plate_cord[2]);
-  sub_t_plate1->SetLineColor(kGray);
-  TGeoArb8* t_arb1 = (TGeoArb8*) sub_t_plate1->GetShape();
-  t_arb1->SetVertex(0, top_plate_cord[0], top_plate_cord[1]);
-  t_arb1->SetVertex(1, -top_plate_cord[0], top_plate_cord[1]);
-  t_arb1->SetVertex(2, -top_plate_cord[0], top_plate_cord[1] + 1.0);
-  t_arb1->SetVertex(3, top_plate_cord[0], top_plate_cord[1] + 1.0);
-  t_arb1->SetVertex(4, top_plate_cord[3], top_plate_cord[4]);
-  t_arb1->SetVertex(5, -top_plate_cord[3], top_plate_cord[4]);
-  t_arb1->SetVertex(6, -top_plate_cord[3], top_plate_cord[4] + 1.0);
-  t_arb1->SetVertex(7, top_plate_cord[3], top_plate_cord[4] + 1.0);
-
-  TGeoVolume* sub_t_plate2 = geom->MakeArb8("sub_t_plate2", CF, top_plate_cord[5]);
-  sub_t_plate2->SetLineColor(kGray);
-  TGeoArb8* t_arb2 = (TGeoArb8*) sub_t_plate2->GetShape();
-  t_arb2->SetVertex(0, top_plate_cord[3], top_plate_cord[4]);
-  t_arb2->SetVertex(1, -top_plate_cord[3], top_plate_cord[4]);
-  t_arb2->SetVertex(2, -top_plate_cord[3], top_plate_cord[4] + 1.0);
-  t_arb2->SetVertex(3, top_plate_cord[3], top_plate_cord[4] + 1.0);
-  t_arb2->SetVertex(4, top_plate_cord[6], top_plate_cord[7]);
-  t_arb2->SetVertex(5, -top_plate_cord[6], top_plate_cord[7]);
-  t_arb2->SetVertex(6, -top_plate_cord[6], top_plate_cord[7] + 1.0);
-  t_arb2->SetVertex(7, top_plate_cord[6], top_plate_cord[7] + 1.0);
-
-  TGeoVolume* sub_t_plate3 = geom->MakeArb8("sub_t_plate3", CF, top_plate_cord[8]);
-  sub_t_plate3->SetLineColor(kGray);
-  TGeoArb8* t_arb3 = (TGeoArb8*) sub_t_plate3->GetShape();
-  t_arb3->SetVertex(0, top_plate_cord[6], top_plate_cord[7]);
-  t_arb3->SetVertex(1, -top_plate_cord[6], top_plate_cord[7]);
-  t_arb3->SetVertex(2, -top_plate_cord[6], top_plate_cord[7] + 1.0);
-  t_arb3->SetVertex(3, top_plate_cord[6], top_plate_cord[7] + 1.0);
-  t_arb3->SetVertex(4, top_plate_cord[9], top_plate_cord[10]);
-  t_arb3->SetVertex(5, -top_plate_cord[9], top_plate_cord[10]);
-  t_arb3->SetVertex(6, -top_plate_cord[9], top_plate_cord[10] + 1.0);
-  t_arb3->SetVertex(7, top_plate_cord[9], top_plate_cord[10] + 1.0);
-
-  TGeoVolume* sub_t_plate4 = geom->MakeArb8("sub_t_plate4", CF, top_plate_cord[11]);
-  sub_t_plate4->SetLineColor(kGray);
-  TGeoArb8* t_arb4 = (TGeoArb8*) sub_t_plate4->GetShape();
-  t_arb4->SetVertex(0, top_plate_cord[9], top_plate_cord[10]);
-  t_arb4->SetVertex(1, -top_plate_cord[9], top_plate_cord[10]);
-  t_arb4->SetVertex(2, -top_plate_cord[9], top_plate_cord[10] + 1.0);
-  t_arb4->SetVertex(3, top_plate_cord[9], top_plate_cord[10] + 1.0);
-  t_arb4->SetVertex(4, top_plate_cord[12], top_plate_cord[13]);
-  t_arb4->SetVertex(5, -top_plate_cord[12], top_plate_cord[13]);
-  t_arb4->SetVertex(6, -top_plate_cord[12], top_plate_cord[13] + 1.0);
-  t_arb4->SetVertex(7, top_plate_cord[12], top_plate_cord[13] + 1.0);
-
-  TGeoVolume* sub_t_plate5 = geom->MakeArb8("sub_t_plate5", CF, top_plate_cord[14]);
-  sub_t_plate5->SetLineColor(kGray);
-  TGeoArb8* t_arb5 = (TGeoArb8*) sub_t_plate5->GetShape();
-  t_arb5->SetVertex(0, top_plate_cord[12], top_plate_cord[13]);
-  t_arb5->SetVertex(1, -top_plate_cord[12], top_plate_cord[13]);
-  t_arb5->SetVertex(2, -top_plate_cord[12], top_plate_cord[13] + 1.0);
-  t_arb5->SetVertex(3, top_plate_cord[12], top_plate_cord[13] + 1.0);
-  t_arb5->SetVertex(4, top_plate_cord[15], top_plate_cord[17]);
-  t_arb5->SetVertex(5, -top_plate_cord[15], top_plate_cord[17]);
-  t_arb5->SetVertex(6, -top_plate_cord[15], top_plate_cord[17] + 1.0);
-  t_arb5->SetVertex(7, top_plate_cord[15], top_plate_cord[17] + 1.0);
-
-  TGeoVolume* sub_t_plate6 = geom->MakeArb8("sub_t_plate6", CF, top_plate_cord[17]);
-  sub_t_plate6->SetLineColor(kGray);
-  TGeoArb8* t_arb6 = (TGeoArb8*) sub_t_plate6->GetShape();
-  t_arb6->SetVertex(0, top_plate_cord[15], top_plate_cord[17]);
-  t_arb6->SetVertex(1, -top_plate_cord[15], top_plate_cord[17]);
-  t_arb6->SetVertex(2, -top_plate_cord[15], top_plate_cord[17] + 1.0);
-  t_arb6->SetVertex(3, top_plate_cord[15], top_plate_cord[17] + 1.0);
-  t_arb6->SetVertex(4, top_plate_cord[18], top_plate_cord[17]);
-  t_arb6->SetVertex(5, -top_plate_cord[18], top_plate_cord[17]);
-  t_arb6->SetVertex(6, -top_plate_cord[18], top_plate_cord[17] + 1.0);
-  t_arb6->SetVertex(7, top_plate_cord[18], top_plate_cord[17] + 1.0);
-
-  // SIDE PLATE--------------------------------------------------------------------------------------
-
-  TGeoVolume* sub_s_plate1 = geom->MakeArb8("sub_s_plate1", CF, side_plate_cord[2]);
-  sub_s_plate1->SetLineColor(kGray);
-  TGeoArb8* s_arb1 = (TGeoArb8*) sub_s_plate1->GetShape();
-  s_arb1->SetVertex(0, side_plate_cord[0], side_plate_cord[1]);
-  s_arb1->SetVertex(1, -side_plate_cord[0], side_plate_cord[1]);
-  s_arb1->SetVertex(2, -side_plate_cord[0], side_plate_cord[1] + 1.0);
-  s_arb1->SetVertex(3, side_plate_cord[0], side_plate_cord[1] + 1.0);
-  s_arb1->SetVertex(4, side_plate_cord[3], side_plate_cord[4]);
-  s_arb1->SetVertex(5, -side_plate_cord[3], side_plate_cord[4]);
-  s_arb1->SetVertex(6, -side_plate_cord[3], side_plate_cord[4] + 1.0);
-  s_arb1->SetVertex(7, side_plate_cord[3], side_plate_cord[4] + 1.0);
-
-  TGeoVolume* sub_s_plate2 = geom->MakeArb8("sub_s_plate2", CF, side_plate_cord[5]);
-  sub_s_plate2->SetLineColor(kGray);
-  TGeoArb8* s_arb2 = (TGeoArb8*) sub_s_plate2->GetShape();
-  s_arb2->SetVertex(0, side_plate_cord[3], side_plate_cord[4]);
-  s_arb2->SetVertex(1, -side_plate_cord[3], side_plate_cord[4]);
-  s_arb2->SetVertex(2, -side_plate_cord[3], side_plate_cord[4] + 1.0);
-  s_arb2->SetVertex(3, side_plate_cord[3], side_plate_cord[4] + 1.0);
-  s_arb2->SetVertex(4, side_plate_cord[6], side_plate_cord[7]);
-  s_arb2->SetVertex(5, -side_plate_cord[6], side_plate_cord[7]);
-  s_arb2->SetVertex(6, -side_plate_cord[6], side_plate_cord[7] + 1.0);
-  s_arb2->SetVertex(7, side_plate_cord[6], side_plate_cord[7] + 1.0);
-
-  TGeoVolume* sub_s_plate3 = geom->MakeArb8("sub_s_plate3", CF, side_plate_cord[8]);
-  sub_s_plate3->SetLineColor(kGray);
-  TGeoArb8* s_arb3 = (TGeoArb8*) sub_s_plate3->GetShape();
-  s_arb3->SetVertex(0, side_plate_cord[6], side_plate_cord[7]);
-  s_arb3->SetVertex(1, side_plate_cord[9], side_plate_cord[10]);
-  s_arb3->SetVertex(2, side_plate_cord[9], side_plate_cord[10] + 1.0);
-  s_arb3->SetVertex(3, side_plate_cord[6], side_plate_cord[7] + 1.0);
-  s_arb3->SetVertex(4, side_plate_cord[12], side_plate_cord[13]);
-  s_arb3->SetVertex(5, side_plate_cord[15], side_plate_cord[16]);
-  s_arb3->SetVertex(6, side_plate_cord[15], side_plate_cord[16] + 1.0);
-  s_arb3->SetVertex(7, side_plate_cord[12], side_plate_cord[13] + 1.0);
-
-  TGeoVolume* sub_s_plate4 = geom->MakeArb8("sub_s_plate4", CF, side_plate_cord[8]);
-  sub_s_plate4->SetLineColor(kGray);
-  TGeoArb8* s_arb4 = (TGeoArb8*) sub_s_plate4->GetShape();
-  s_arb4->SetVertex(0, -side_plate_cord[6], side_plate_cord[7]);
-  s_arb4->SetVertex(1, -side_plate_cord[9], side_plate_cord[10]);
-  s_arb4->SetVertex(2, -side_plate_cord[9], side_plate_cord[10] + 1.0);
-  s_arb4->SetVertex(3, -side_plate_cord[6], side_plate_cord[7] + 1.0);
-  s_arb4->SetVertex(4, -side_plate_cord[12], side_plate_cord[13]);
-  s_arb4->SetVertex(5, -side_plate_cord[15], side_plate_cord[16]);
-  s_arb4->SetVertex(6, -side_plate_cord[15], side_plate_cord[16] + 1.0);
-  s_arb4->SetVertex(7, -side_plate_cord[12], side_plate_cord[13] + 1.0);
-
-  TGeoVolume* sub_s_plate5 = geom->MakeArb8("sub_s_plate5", CF, side_plate_cord[14]);
-  sub_s_plate5->SetLineColor(kGray);
-  TGeoArb8* s_arb5 = (TGeoArb8*) sub_s_plate5->GetShape();
-  s_arb5->SetVertex(0, side_plate_cord[12], side_plate_cord[13]);
-  s_arb5->SetVertex(1, side_plate_cord[15], side_plate_cord[16]);
-  s_arb5->SetVertex(2, side_plate_cord[15], side_plate_cord[16] + 1.0);
-  s_arb5->SetVertex(3, side_plate_cord[12], side_plate_cord[13] + 1.0);
-  s_arb5->SetVertex(4, side_plate_cord[18], side_plate_cord[19]);
-  s_arb5->SetVertex(5, side_plate_cord[21], side_plate_cord[22]);
-  s_arb5->SetVertex(6, side_plate_cord[21], side_plate_cord[22] + 1.0);
-  s_arb5->SetVertex(7, side_plate_cord[18], side_plate_cord[19] + 1.0);
-
-  TGeoVolume* sub_s_plate6 = geom->MakeArb8("sub_s_plate6", CF, side_plate_cord[14]);
-  sub_s_plate6->SetLineColor(kGray);
-  TGeoArb8* s_arb6 = (TGeoArb8*) sub_s_plate6->GetShape();
-  s_arb6->SetVertex(0, -side_plate_cord[12], side_plate_cord[13]);
-  s_arb6->SetVertex(1, -side_plate_cord[15], side_plate_cord[16]);
-  s_arb6->SetVertex(2, -side_plate_cord[15], side_plate_cord[16] + 1.0);
-  s_arb6->SetVertex(3, -side_plate_cord[12], side_plate_cord[13] + 1.0);
-  s_arb6->SetVertex(4, -side_plate_cord[18], side_plate_cord[19]);
-  s_arb6->SetVertex(5, -side_plate_cord[21], side_plate_cord[22]);
-  s_arb6->SetVertex(6, -side_plate_cord[21], side_plate_cord[22] + 1.0);
-  s_arb6->SetVertex(7, -side_plate_cord[18], side_plate_cord[19] + 1.0);
-
-  TGeoVolume* sub_s_plate7 = geom->MakeArb8("sub_s_plate7", CF, side_plate_cord[20]);
-  sub_s_plate7->SetLineColor(kGray);
-  TGeoArb8* s_arb7 = (TGeoArb8*) sub_s_plate7->GetShape();
-  s_arb7->SetVertex(0, side_plate_cord[18], side_plate_cord[19]);
-  s_arb7->SetVertex(1, side_plate_cord[21], side_plate_cord[22]);
-  s_arb7->SetVertex(2, side_plate_cord[21], side_plate_cord[22] + 1.0);
-  s_arb7->SetVertex(3, side_plate_cord[18], side_plate_cord[19] + 1.0);
-  s_arb7->SetVertex(4, side_plate_cord[24], side_plate_cord[25]);
-  s_arb7->SetVertex(5, side_plate_cord[27], side_plate_cord[28]);
-  s_arb7->SetVertex(6, side_plate_cord[27], side_plate_cord[28] + 1.0);
-  s_arb7->SetVertex(7, side_plate_cord[24], side_plate_cord[25] + 1.0);
-
-  TGeoVolume* sub_s_plate8 = geom->MakeArb8("sub_s_plate8", CF, side_plate_cord[20]);
-  sub_s_plate8->SetLineColor(kGray);
-  TGeoArb8* s_arb8 = (TGeoArb8*) sub_s_plate8->GetShape();
-  s_arb8->SetVertex(0, -side_plate_cord[18], side_plate_cord[19]);
-  s_arb8->SetVertex(1, -side_plate_cord[21], side_plate_cord[22]);
-  s_arb8->SetVertex(2, -side_plate_cord[21], side_plate_cord[22] + 1.0);
-  s_arb8->SetVertex(3, -side_plate_cord[18], side_plate_cord[19] + 1.0);
-  s_arb8->SetVertex(4, -side_plate_cord[24], side_plate_cord[25]);
-  s_arb8->SetVertex(5, -side_plate_cord[27], side_plate_cord[28]);
-  s_arb8->SetVertex(6, -side_plate_cord[27], side_plate_cord[28] + 1.0);
-  s_arb8->SetVertex(7, -side_plate_cord[24], side_plate_cord[25] + 1.0);
-
-  TGeoVolume* sub_s_plate9 = geom->MakeArb8("sub_s_plate9", CF, side_plate_cord[26]);
-  sub_s_plate9->SetLineColor(kGray);
-  TGeoArb8* s_arb9 = (TGeoArb8*) sub_s_plate9->GetShape();
-  s_arb9->SetVertex(0, side_plate_cord[24], side_plate_cord[25]);
-  s_arb9->SetVertex(1, side_plate_cord[27], side_plate_cord[28]);
-  s_arb9->SetVertex(2, side_plate_cord[27], side_plate_cord[28] + 1.0);
-  s_arb9->SetVertex(3, side_plate_cord[24], side_plate_cord[25] + 1.0);
-  s_arb9->SetVertex(4, side_plate_cord[30], side_plate_cord[31]);
-  s_arb9->SetVertex(5, side_plate_cord[33], side_plate_cord[34]);
-  s_arb9->SetVertex(6, side_plate_cord[33], side_plate_cord[34] + 1.0);
-  s_arb9->SetVertex(7, side_plate_cord[30], side_plate_cord[31] + 1.0);
-
-  TGeoVolume* sub_s_plate10 = geom->MakeArb8("sub_s_plate10", CF, side_plate_cord[26]);
-  sub_s_plate10->SetLineColor(kGray);
-  TGeoArb8* s_arb10 = (TGeoArb8*) sub_s_plate10->GetShape();
-  s_arb10->SetVertex(0, -side_plate_cord[24], side_plate_cord[25]);
-  s_arb10->SetVertex(1, -side_plate_cord[27], side_plate_cord[28]);
-  s_arb10->SetVertex(2, -side_plate_cord[27], side_plate_cord[28] + 1.0);
-  s_arb10->SetVertex(3, -side_plate_cord[24], side_plate_cord[25] + 1.0);
-  s_arb10->SetVertex(4, -side_plate_cord[30], side_plate_cord[31]);
-  s_arb10->SetVertex(5, -side_plate_cord[33], side_plate_cord[34]);
-  s_arb10->SetVertex(6, -side_plate_cord[33], side_plate_cord[34] + 1.0);
-  s_arb10->SetVertex(7, -side_plate_cord[30], side_plate_cord[31] + 1.0);
-
-  // RAIL------------------------------------------------------------------------------------
-  TGeoVolume* sub_rail = geom->MakeArb8("sub_rail", Al, rail_cord[2]);
-  sub_rail->SetLineColor(kBlue);
-  TGeoArb8* r_arb1 = (TGeoArb8*) sub_rail->GetShape();
-  r_arb1->SetVertex(0, rail_cord[0], rail_cord[1]);
-  r_arb1->SetVertex(1, -rail_cord[0], rail_cord[1]);
-  r_arb1->SetVertex(2, -rail_cord[0], rail_cord[1] + rail_cord[4]);
-  r_arb1->SetVertex(3, rail_cord[0], rail_cord[1] + rail_cord[4]);
-  r_arb1->SetVertex(4, rail_cord[3], rail_cord[1]);
-  r_arb1->SetVertex(5, -rail_cord[3], rail_cord[1]);
-  r_arb1->SetVertex(6, -rail_cord[3], rail_cord[1] + rail_cord[4]);
-  r_arb1->SetVertex(7, rail_cord[3], rail_cord[1] + rail_cord[4]);
-
-  TGeoBBox* flange_box  = new TGeoBBox("flange_box", 15.2, 15.2, 1.5);
-  TGeoTube* flange_hole = new TGeoTube("flange_hole", 0., 12.5, 1.6);
-
-  // DOWNSTREAM_CARBON-FIBRE_RICH_MUCH_FLANGE_TO_BELLOW_ASS------------------------------------------------------------------------------------
-  TGeoBBox* rich_much_flange_box  = new TGeoBBox("rich_much_flange_box", 15.2, 15.2, 1.5);
-  TGeoTube* rich_much_flange_hole = new TGeoTube("rich_much_flange_hole", 0., 12.55, 1.6);
-  TGeoCompositeShape* rich_much_flange_composite =
-    new TGeoCompositeShape("flange_composite_rich", "rich_much_flange_box-rich_much_flange_hole");
-  TGeoVolume* rich_much_downstream_flange =
-    new TGeoVolume("rich_much_downstream_flange", rich_much_flange_composite, CF);
-  rich_much_downstream_flange->SetLineColor(kGray);
-
-  // VACUUM IN THE FLANGE----------------------------------------------------------------------------------------------
-  TGeoTube* vacuum_flange_hole = new TGeoTube("vacuum_flange_hole", 0., 12.5, 1.5);
-  TGeoVolume* vacuum_downstream_flange =
-    new TGeoVolume("vacuum_downstream_flange", vacuum_flange_hole, Vacuum);
-  vacuum_downstream_flange->SetLineColor(kRed);
-
-  // CONICAL_BEAM_PIPE----------------------------------------------------------------------------------------------------------
-  TGeoCone* conus                      = new TGeoCone("conus", conus_lenght, rmin1, rmax1, rmin2, rmax2);
-  TGeoVolume* conus_volume = new TGeoVolume("conus_volume", conus, CF);
-  conus_volume->SetLineColor(kGray);
-
-  //-------------------------------VACUUM IN CONE-------------------------------------------------------------------
-  TGeoCone* vacuum_conus = new TGeoCone("vacuum_conus", conus_lenght, 0, rmin1, 0, rmin2);
-  TGeoVolume* vacuum_conus_volume = new TGeoVolume("vacuum_conus_volume", vacuum_conus, Vacuum);
-  vacuum_conus_volume->SetLineColor(kGreen);
-
-  // CONNECTING TUBE--------------------------------------------------------------------------------------------------------------------------------------------------------
-  TGeoCtub* tube_connection = new TGeoCtub("tube_connection", 55. * mm, 56. * mm, 15. * mm, 0., 360., -0.05235892, 0., 4.99972585, 0., 0., 1.);
-  TGeoVolume* tube_connection_volume = new TGeoVolume("tube_connection_volume", tube_connection, CF);
-  tube_connection_volume->SetLineColor(kGray);
-
-  //------------------------VACUUM IN THE CONNECTING TUBE--------------------------------------------------------------
-  TGeoCtub* vacuum_tube_connection = new TGeoCtub("vacuum_tube_connection", 0. * mm, 55. * mm, 15. * mm, 0., 360., -0.05235892, 0., 4.99972585, 0., 0., 1.);
-  TGeoVolume* vacuum_tube_connection_volume = new TGeoVolume("vacuum_tube_connection_volume", vacuum_tube_connection, Vacuum);
-  vacuum_tube_connection_volume->SetLineColor(kGreen);
-
-  // STS tube-----------------------------------------------------------------------------------------------------
-  TGeoCtub* tube_connection_sts = new TGeoCtub("tube_connection_sts", 55. * mm, 56. * mm, 15. * mm, 0., 360., 0., 0., 1., 0.05235892, 0., 4.99972585);
-  TGeoVolume* tube_connection_sts_volume = new TGeoVolume("tube_connection_sts_volume", tube_connection_sts, CF);
-  tube_connection_sts_volume->SetLineColor(kGray);
-
-  //-------------------------------BELLOW DEFINITION----------------------------------------------------------------
-  TGeoCompositeShape* flange_composite = new TGeoCompositeShape("flange_composite", "flange_box-flange_hole");
-  TGeoVolume* bellow_flange_0          = new TGeoVolume("bellow_flange_0", flange_composite, Stainless);
-  bellow_flange_0->SetLineColor(kRed);
-
-  TGeoCtub* bellow_s1  = new TGeoCtub("bellow_s1", 121.9435 * mm, 139.4435 * mm, 55.64459032 * mm, 0., 360., -0.206, 0.,
-                                     -0.979, -0.206, 0., 0.979);
-  TGeoVolume* bellow_1 = new TGeoVolume("bellow_s1", bellow_s1, Stainless);
-  bellow_1->SetLineColor(kRed);
-
-  TGeoCtub* bellow_s2  = new TGeoCtub("bellow_s1", 124.842 * mm, 142.342 * mm, 58.3156 * mm, 0., 360., -0.04705248, 0.,
-                                     -0.998892419, 0.04705248, 0, 0.998892419);
-  TGeoVolume* bellow_2 = new TGeoVolume("bellow_s2", bellow_s2, Stainless);
-  bellow_2->SetLineColor(kRed);
-
-  TGeoCtub* bellow_s3  = new TGeoCtub("bellow_s3", 123.5175 * mm, 141.0175 * mm, 40.5 * mm, 0., 360., -0.1439, 0.,
-                                     -0.9896, -0.1439, 0., 0.9896);
-  TGeoVolume* bellow_3 = new TGeoVolume("bellow_s3", bellow_s3, Stainless);
-  bellow_3->SetLineColor(kRed);
-
-  TGeoCtub* bellow_s4  = new TGeoCtub("bellow_s4", 124.8025 * mm, 142.3025 * mm, 22.5 * mm, 0., 360., -0.0526, 0.,
-                                     -0.9972, -0.0526, 0., 0.9972);
-  TGeoVolume* bellow_4 = new TGeoVolume("bellow_s3", bellow_s4, Stainless);
-  bellow_4->SetLineColor(kRed);
-
-  //-------------------------------VACUUM BELLOW DEFINITION----------------------------------------------------------------
-  TGeoVolume* vacuum_bellow_flange_0          = new TGeoVolume("vacuum_bellow_flange_0", vacuum_flange_hole, Vacuum);
-  vacuum_bellow_flange_0->SetLineColor(kGreen);
-
-  TGeoCtub* vacuum_bellow_s1  = new TGeoCtub("vacuum_bellow_s1", 0 * mm, 121.9435 * mm, 55.64459032 * mm, 0., 360., -0.206, 0.,
-                                     -0.979, -0.206, 0., 0.979);
-  TGeoVolume* vacuum_bellow_1 = new TGeoVolume("vacuum_bellow_s1", vacuum_bellow_s1, Vacuum);
-  vacuum_bellow_1->SetLineColor(kGreen);
-
-  TGeoCtub* vacuum_bellow_s2  = new TGeoCtub("vacuum_bellow_s2", 0 * mm, 124.842 * mm, 58.3156 * mm, 0., 360., -0.04705248, 0.,
-                                     -0.998892419, 0.04705248, 0, 0.998892419);
-  TGeoVolume* vacuum_bellow_2 = new TGeoVolume("vacuum_bellow_s2", vacuum_bellow_s2, Vacuum);
-  vacuum_bellow_2->SetLineColor(kGreen);
-
-  TGeoCtub* vacuum_bellow_s3  = new TGeoCtub("vacuum_bellow_s3", 0 * mm, 123.5175 * mm, 40.5 * mm, 0., 360., -0.1439, 0.,
-                                     -0.9896, -0.1439, 0., 0.9896);
-  TGeoVolume* vacuum_bellow_3 = new TGeoVolume("vacuum_bellow_s3", vacuum_bellow_s3, Vacuum);
-  vacuum_bellow_3->SetLineColor(kGreen);
-
-  TGeoCtub* vacuum_bellow_s4  = new TGeoCtub("vacuum_bellow_s4", 0 * mm, 124.8025 * mm, 22.5 * mm, 0., 360., -0.0526, 0.,
-                                     -0.9972, -0.0526, 0., 0.9972);
-  TGeoVolume* vacuum_bellow_4 = new TGeoVolume("vacuum_bellow_s3", vacuum_bellow_s4, Vacuum);
-  vacuum_bellow_4->SetLineColor(kGreen);
-
-
-  TGeoBBox* roll_plate_s = new TGeoBBox("roll_plate_s", 75. * mm, 12.5 * mm, 90. * mm);
-  TGeoVolume* roll_plate = new TGeoVolume("roll_plate", roll_plate_s, Al);
-  roll_plate->SetLineColor(kBlue);
-
-  TGeoTube* flange_cyl                     = new TGeoTube("flange_cyl", 0., 15., 1.5);
-  TGeoTube* flange_cyl_hole                = new TGeoTube("flange_cyl_hole", 0., 8.9, 1.6);
-  TGeoCompositeShape* flange_cyl_composite = new TGeoCompositeShape(
-    "flange_cyl_composite", "((flange_cyl-flange_cyl_hole)-roll_plate_s:tr_plate_up)-roll_plate_s:tr_plate_down");
-  TGeoVolume* bellow_flange_1 = new TGeoVolume("bellow_flange_1", flange_cyl_composite, Stainless);
-  bellow_flange_1->SetLineColor(kRed);
-
-  //-------------------------------VACUUM FLANGE BELLOW------------------------------------------------------------------
-  TGeoTube* vacuum_flange_cyl_hole                = new TGeoTube("vacuum_flange_cyl_hole", 0., 8.9, 1.5);
-  TGeoVolume* vacuum_bellow_flange_1 = new TGeoVolume("vacuum_bellow_flange_1", vacuum_flange_cyl_hole, Vacuum);
-  vacuum_bellow_flange_1->SetLineColor(kGreen);
-
-  TGeoTube* lead_screw_s = new TGeoTube("lead_screw_s", 0. * mm, 6. * mm, 205. * mm);
-  TGeoTube* nut_small_s  = new TGeoTube("nut_small_s", 6. * mm, 14. * mm, 50. * mm);
-  TGeoTube* nut_big_s    = new TGeoTube("nut_big_s", 14. * mm, 24. * mm, 27. * mm);
-
-  TGeoCompositeShape* lead_screw_nut_s =
-    new TGeoCompositeShape("lead_screw_nut_s", "lead_screw_s+nut_small_s:nut_transl+nut_big_s:nut_transl");
-  TGeoVolume* lead_screw_nut = new TGeoVolume("lead_screw_nut", lead_screw_nut_s, Stainless);
-  lead_screw_nut->SetLineColor(kRed);
-
-
-  TGeoBBox* motor_s = new TGeoBBox("motor_s", 57.5 * mm, 30. * mm, 30. * mm);
-  TGeoVolume* motor = new TGeoVolume("motor", motor_s, Stainless);
-  motor->SetLineColor(kRed);
-
-
-  TGeoTube* psd_tube_s = new TGeoTube("psd_tube_s", 90. * mm, 92. * mm, 7230. * mm);
-  TGeoVolume* psd_tube = new TGeoVolume("psd_tube", psd_tube_s, CF);
-  psd_tube->SetLineColor(kGray);
-
-  //------------------------------VACUUM PSD TUBE-------------------------------------------------------------------------
-  TGeoTube* vacuum_psd_tube_s = new TGeoTube("vacuum_psd_tube_s", 0. * mm, 90. * mm, 7230. * mm);
-  TGeoVolume* vacuum_psd_tube = new TGeoVolume("vacuum_psd_tube", vacuum_psd_tube_s, Vacuum);
-  vacuum_psd_tube->SetLineColor(kGreen);
-
-  //------------------TOP plate------------------------------
-  bellow_ass->AddNode(sub_t_plate1, 1, tr_top_0a);
-  bellow_ass->AddNode(sub_t_plate2, 1, tr_top_1a);
-  bellow_ass->AddNode(sub_t_plate3, 1, tr_top_2a);
-  bellow_ass->AddNode(sub_t_plate4, 1, tr_top_3a);
-  bellow_ass->AddNode(sub_t_plate5, 1, tr_top_4a);
-  bellow_ass->AddNode(sub_t_plate6, 1, tr_top_5a);
-
-  //-----------------BOTTOM plate----------------------------
-  bellow_ass->AddNode(sub_t_plate1, 2, tr_bott_0a);
-  bellow_ass->AddNode(sub_t_plate2, 2, tr_bott_1a);
-  bellow_ass->AddNode(sub_t_plate3, 2, tr_bott_2a);
-  bellow_ass->AddNode(sub_t_plate4, 2, tr_bott_3a);
-  bellow_ass->AddNode(sub_t_plate5, 2, tr_bott_4a);
-  bellow_ass->AddNode(sub_t_plate6, 2, tr_bott_5a);
-
-  //-----------------LEFT plate------------------------------
-  bellow_ass->AddNode(sub_s_plate1, 1, tr_side_left_0a);
-  bellow_ass->AddNode(sub_s_plate2, 1, tr_side_left_1a);
-  bellow_ass->AddNode(sub_s_plate3, 1, tr_side_left_2a);
-  bellow_ass->AddNode(sub_s_plate4, 1, tr_side_left_2a);
-  bellow_ass->AddNode(sub_s_plate5, 1, tr_side_left_3a);
-  bellow_ass->AddNode(sub_s_plate6, 1, tr_side_left_3a);
-  bellow_ass->AddNode(sub_s_plate7, 1, tr_side_left_4a);
-  bellow_ass->AddNode(sub_s_plate8, 1, tr_side_left_4a);
-  bellow_ass->AddNode(sub_s_plate9, 1, tr_side_left_5a);
-  bellow_ass->AddNode(sub_s_plate10, 1, tr_side_left_5a);
-
-  //---------------RIGHT plate--------------------------------
-  bellow_ass->AddNode(sub_s_plate1, 2, tr_side_right_0a);
-  bellow_ass->AddNode(sub_s_plate2, 2, tr_side_right_1a);
-  bellow_ass->AddNode(sub_s_plate3, 2, tr_side_right_2a);
-  bellow_ass->AddNode(sub_s_plate4, 2, tr_side_right_2a);
-  bellow_ass->AddNode(sub_s_plate5, 2, tr_side_right_3a);
-  bellow_ass->AddNode(sub_s_plate6, 2, tr_side_right_3a);
-  bellow_ass->AddNode(sub_s_plate7, 2, tr_side_right_4a);
-  bellow_ass->AddNode(sub_s_plate8, 2, tr_side_right_4a);
-  bellow_ass->AddNode(sub_s_plate9, 2, tr_side_right_5a);
-  bellow_ass->AddNode(sub_s_plate10, 2, tr_side_right_5a);
-
-  //------------------RAIL-------------------------------------
-  bellow_ass->AddNode(sub_rail, 1, combi_rail_top);
-  bellow_ass->AddNode(sub_rail, 2, combi_rail_bott);
-
-  //----------------Bellow with flanges-----------------------------
-  bellow_ass->AddNode(bellow_flange_0, 1, new TGeoTranslation(0, 0, 1.5));
-  bellow_ass->AddNode(bellow_1, 1, ctr_s1);
-  bellow_ass->AddNode(bellow_2, 1, ctr_s2);
-  bellow_ass->AddNode(bellow_3, 1, ctr_s3);
-  bellow_ass->AddNode(bellow_4, 1, ctr_s4);
-  bellow_ass->AddNode(bellow_flange_1, 1, ctr_s5);
-
-  //-----------------Vacuum in bellow and flanges
-  vacuum_bellow_ass->AddNode(vacuum_bellow_flange_0, 1, new TGeoTranslation(0, 0, 1.5));
-  vacuum_bellow_ass->AddNode(vacuum_bellow_1, 1, ctr_s1);
-  vacuum_bellow_ass->AddNode(vacuum_bellow_2, 1, ctr_s2);
-  vacuum_bellow_ass->AddNode(vacuum_bellow_3, 1, ctr_s3);
-  vacuum_bellow_ass->AddNode(vacuum_bellow_4, 1, ctr_s4);
-  vacuum_bellow_ass->AddNode(vacuum_bellow_flange_1, 1, ctr_s5);
-
-  //------------------DRIVE assembly--------------------------------------
-  bellow_ass->AddNode(roll_plate, 1, ctr_plate_up);
-  bellow_ass->AddNode(roll_plate, 2, ctr_plate_down);
-  bellow_ass->AddNode(lead_screw_nut, 1, ctr_lsn);
-  bellow_ass->AddNode(motor, 1, mot_transl);
-
-  //-------------------CONICAL section--------------------------------------------------
-  conical_beam_pipe->AddNode(rich_much_downstream_flange, 1, new TGeoTranslation(0, 0, 1570 * mm));
-  // conical_beam_pipe->AddNode(conical_beam_pipe_volume, 1, new TGeoTranslation(0, 0, -1585 * mm));
-  conical_beam_pipe->AddNode(conus_volume, 1, new TGeoTranslation(0, 0, 0));
-  conical_beam_pipe->AddNode(tube_connection_volume, 1, ctr_sts_conus_connection);
-  //conical_beam_pipe->AddNode(tube_connection_sts_volume, 1, ctr_sts_tube);  //unexplained "nonexisting" overlap
-
- //-------------------VACUUM in CONICAL section--------------------------------------------------
-  //vacuum_conical_beam_pipe->AddNode(vacuum_downstream_flange, 1, new TGeoTranslation(0, 0, 1570 * mm)); // not needed
-  vacuum_conical_beam_pipe->AddNode(vacuum_conus_volume, 1, new TGeoTranslation(0, 0, 0));
-  vacuum_conical_beam_pipe->AddNode(vacuum_tube_connection_volume, 1, ctr_sts_conus_connection);
- 
-  //------------------INSERT into top volume
-  full_assembly->AddNode(conical_beam_pipe, 1, origin_combi_cone);
-  full_assembly->AddNode(bellow_ass, 1, origin_combi);
-  full_assembly->AddNode(psd_tube, 1, ctr_psd_tube);
-  full_assembly->AddNode(vacuum_conical_beam_pipe, 1, origin_combi_cone);
-  full_assembly->AddNode(vacuum_bellow_ass, 1, origin_combi);
-  full_assembly->AddNode(vacuum_psd_tube, 1, ctr_psd_tube);
-
-  //beampipe->AddNode(full_assembly,1, new TGeoTranslation(0, 0, 0*mm));
-  // --- close the geometry
-  geom->CloseGeometry();
-
-  //--- draw the ROOT box
-  geom->SetVisLevel(4);
-  full_assembly->Draw();
-  if (gPad && !gROOT->IsBatch()) gPad->GetViewer3D();
-
-  // ---------------   Finish   -----------------------------------------------
-  TString geo_bin_filename = "pipe_";
-  TString geo_name         = geo_bin_filename + geoTag;
-  geo_bin_filename         = geo_bin_filename + geoTag + ".geo.root";
-  TFile* binfile;
-  binfile = new TFile(geo_bin_filename, "RECREATE");
-  geom->GetTopVolume()->Write(geo_name);  // outputting on the top volume
-  TGeoTranslation* trans = new TGeoTranslation(0.0, 0.0, 82.0);
-  trans->Write("trans");
-  cout << endl;
-  cout << "Geometry " << geom->GetTopVolume()->GetName() << " written to " << geo_bin_filename << endl;
-  binfile->Close();
-  //--- close the geometry
-  geom->CloseGeometry();
-  //gGeoManager->CheckOverlaps(0.000001);
-  //gGeoManager->GetListOfOverlaps()->Print();
-}
diff --git a/macro/pipe/fair/create_bpipe_geometry_v21e.C b/macro/pipe/fair/create_bpipe_geometry_v21e.C
index f3cac70df1a99ba9402c18ab1506e5432101efd6..722e557643721681509e01c868bc30170f8f30bd 100644
--- a/macro/pipe/fair/create_bpipe_geometry_v21e.C
+++ b/macro/pipe/fair/create_bpipe_geometry_v21e.C
@@ -24,7 +24,6 @@ void create_bpipe_geometry_v21e(const char* geoTag = "v21e")
   gSystem->Load("libGeom");
   TGeoManager* geom = new TGeoManager("beampipe_v21e", "Beampipe for maximum deflection");
 
-
   //--- define some materials
   TGeoMixture* matCarbonFiber = new TGeoMixture("BP_carbonfiber", 4, 1.5);
   matCarbonFiber->AddElement(12.001, 6.0, 0.8926);
@@ -59,14 +58,13 @@ void create_bpipe_geometry_v21e(const char* geoTag = "v21e")
   Double_t rmin2        = 125 * mm;
   Double_t rmax2        = 126 * mm;
 
-  Double_t rail_cord[]       = {23.1, 0, 4.5, 21.5, 2.8, 4.5};
+  Double_t rail_cord[]       = {23.0, 0, 4.5, 21.4, 2.8, 4.5};
   Double_t top_plate_cord[]  = {10,   0,    2.1,  10.15, 0,     4.05, 11.75, 2.15, 4.0,  15.3, 4.28,
                                2.85, 18.1, 5.27, 2.85,  19.75, 5.65, 5.0,   21.1, 5.65, 0};
   Double_t side_plate_cord[] = {11.3, 0,   2,    11.3, 0,   7.55, 16,   6.8, 4.6, 8.7,  6.8, 4.6,
                                 19.8, 8.3, 2.35, 13.6, 8.3, 2.35, 20.8, 7.9, 3.0, 14.8, 7.9, 3.0,
                                 21.3, 6.8, 1.5,  16.3, 6.8, 1.5,  21.3, 6.3, 0,   17.4, 6.3, 0};
 
-
   //-----------------------DEFINITION OF TRANSFORMATIONS--------------------------------------------------------------------------------------
 
   TGeoRotation* rot_top = new TGeoRotation("rot_top");
@@ -91,25 +89,8 @@ void create_bpipe_geometry_v21e(const char* geoTag = "v21e")
 
   TGeoRotation* ident_rotation = new TGeoRotation("ident_rotation");
   ident_rotation->RotateY(0);
-  ident_rotation->RotateY(0);
   ident_rotation->RegisterYourself();
 
-  TGeoTranslation orig_translation("orig_translation", -0.15707676 * mm, 0, 3230 * mm);
-  //TGeoCombiTrans *origin_translation = new TGeoCombiTrans(orig_translation,ident);
-
-
-  TGeoRotation orig_rotation("orig_rotation");
-  orig_rotation.RotateY(1.2);
-  //TGeoCombiTrans *origin_rotation = new TGeoCombiTrans(0,orig_rotation);
-  //orig_rotation->RegisterYourself();
-
-
-  //TGeoHMatrix orig_combi = orig_translation * orig_rotation;
-  TGeoHMatrix orig_combi = orig_rotation * orig_translation;
-
-  TGeoHMatrix* origin_combi = new TGeoHMatrix(orig_combi);
-
-
   TGeoRotation* rot_left = new TGeoRotation("rot_left");
   rot_left->SetAngles(90, 0, 0);
   TGeoCombiTrans* combi_left = new TGeoCombiTrans(-15.2, 0, 0, rot_left);
@@ -198,13 +179,13 @@ void create_bpipe_geometry_v21e(const char* geoTag = "v21e")
     rot_right);
 
   TGeoRotation* rot_sts_conus_connection = new TGeoRotation("rot_sts_conus_connection");
-  rot_sts_conus_connection->RotateZ(180);
-  TGeoCombiTrans* ctr_sts_conus_connection = new TGeoCombiTrans(0, 0, -3185 * mm, rot_sts_conus_connection);
+  //rot_sts_conus_connection->RotateZ(180);
+  TGeoCombiTrans* ctr_sts_conus_connection = new TGeoCombiTrans(0, 0, -1600.00 * mm, rot_sts_conus_connection);
 
   TGeoRotation* rotation_of_sts_tube = new TGeoRotation("rotation_of_sts_tube");
-  rotation_of_sts_tube->RotateZ(180);
+  //rotation_of_sts_tube->RotateZ(180);
   rotation_of_sts_tube->RotateY(-1.2);
-  TGeoCombiTrans* ctr_sts_tube = new TGeoCombiTrans(0.15707676 * mm, 0, -3214.99917754 * mm, rotation_of_sts_tube);
+  TGeoCombiTrans* ctr_sts_tube = new TGeoCombiTrans(0.15707676 * mm, 0, -1630.50 * mm, rotation_of_sts_tube);
 
   TGeoRotation* rot_global = new TGeoRotation("rot_global");
   rot_global->RotateY(1.2);
@@ -251,6 +232,30 @@ void create_bpipe_geometry_v21e(const char* geoTag = "v21e")
 
   TGeoTranslation* mot_transl = new TGeoTranslation("mot_transl", -286.5 * mm, -159.5 * mm, 534. * mm);
 
+  TGeoTranslation orig_translation("orig_translation", -0.15707676 * mm, 0, 3230 * mm);
+
+  TGeoTranslation orig_translation_cone("orig_translation_cone", -0.15707676 * mm, 0, 1645 * mm);
+  //TGeoCombiTrans *origin_translation = new TGeoCombiTrans(orig_translation,ident);
+
+
+  TGeoRotation orig_rotation("orig_rotation");
+  orig_rotation.RotateY(1.2);
+  //TGeoCombiTrans *origin_rotation = new TGeoCombiTrans(0,orig_rotation);
+  //orig_rotation->RegisterYourself();
+
+
+  //TGeoHMatrix orig_combi = orig_translation * orig_rotation;
+  TGeoHMatrix orig_combi = orig_rotation * orig_translation;
+
+  TGeoHMatrix orig_combi_cone = orig_rotation * orig_translation_cone;
+
+  TGeoHMatrix* origin_combi = new TGeoHMatrix(orig_combi);
+
+  TGeoHMatrix* origin_combi_cone = new TGeoHMatrix(orig_combi_cone);
+
+
+  //TGeoTranslation* cone_transl = new TGeoTranslation("cone_transl", -286.5 * mm, -159.5 * mm, 534. * mm);
+
   TGeoRotation* rot_psd_tube = new TGeoRotation("rot_psd_tube");
   rot_psd_tube->RotateY(2.15);
   TGeoCombiTrans* ctr_psd_tube =
@@ -266,17 +271,27 @@ void create_bpipe_geometry_v21e(const char* geoTag = "v21e")
 
   //------------------------------------DEFINITIONS OF VOLUMES----------------------------------------
   //--- make the top container volume
-  Double_t worldx           = 320 * mm;
+  Double_t worldx           = 800 * mm;
   Double_t worldy           = 220 * mm;
-  Double_t worldz           = 18100 * mm;
-  TGeoVolume* full_assembly = geom->MakeBox("pipe_v21e", Vacuum, worldx, worldy, worldz);
+  Double_t worldz           = 18200 * mm;
+  //TGeoVolume* full_assembly = geom->MakeBox("pipe_v21e", Vacuum, worldx, worldy, worldz);
+  TGeoVolumeAssembly* full_assembly = new TGeoVolumeAssembly("pipe_v21e");
   geom->SetTopVolume(full_assembly);
   full_assembly->SetVisibility(kTRUE);
-  TGeoVolume* conical_beam_pipe = geom->MakeBox("conical_beam_pipe", Vacuum, 220 * mm, 220 * mm, 3650 * mm);
+  //TGeoVolume* conical_beam_pipe = geom->MakeBox("conical_beam_pipe", Vacuum, 220 * mm, 220 * mm, 1825 * mm);
+  TGeoVolume* conical_beam_pipe = new TGeoVolumeAssembly("conical_beam_pipe");
   conical_beam_pipe->SetVisibility(kFALSE);
-  TGeoVolume* bellow_ass = geom->MakeBox("Bellow assembly", Vacuum, 320 * mm, 220 * mm, 240 * mm);
+
+  TGeoVolume* vacuum_conical_beam_pipe = new TGeoVolumeAssembly("vacuum_conical_beam_pipe");
+  vacuum_conical_beam_pipe->SetVisibility(kFALSE);
+ 
+  //TGeoVolume* bellow_ass = geom->MakeBox("Bellow assembly", Vacuum, 350 * mm, 220 * mm, 600 * mm);
+  TGeoVolume* bellow_ass = new TGeoVolumeAssembly("Bellow assembly");
   bellow_ass->SetVisibility(kFALSE);
 
+  TGeoVolume* vacuum_bellow_ass = new TGeoVolumeAssembly("Vacuum_bellow assembly");
+  vacuum_bellow_ass->SetVisibility(kFALSE);
+
   // TOP PLATE--------------------------------------------------------------------------------------
   TGeoVolume* sub_t_plate1 = geom->MakeArb8("sub_t_plate1", CF, top_plate_cord[2]);
   sub_t_plate1->SetLineColor(kGray);
@@ -486,35 +501,47 @@ void create_bpipe_geometry_v21e(const char* geoTag = "v21e")
   r_arb1->SetVertex(7, rail_cord[3], rail_cord[1] + rail_cord[4]);
 
   TGeoBBox* flange_box  = new TGeoBBox("flange_box", 15.2, 15.2, 1.5);
-  TGeoTube* flange_hole = new TGeoTube("flange_hole", 0., 12.5, 2.5);
+  TGeoTube* flange_hole = new TGeoTube("flange_hole", 0., 12.5, 1.6);
 
   // DOWNSTREAM_CARBON-FIBRE_RICH_MUCH_FLANGE_TO_BELLOW_ASS------------------------------------------------------------------------------------
   TGeoBBox* rich_much_flange_box  = new TGeoBBox("rich_much_flange_box", 15.2, 15.2, 1.5);
-  TGeoTube* rich_much_flange_hole = new TGeoTube("rich_much_flange_hole", 0., 12.5, 2.5);
+  TGeoTube* rich_much_flange_hole = new TGeoTube("rich_much_flange_hole", 0., 12.55, 1.6);
   TGeoCompositeShape* rich_much_flange_composite =
     new TGeoCompositeShape("flange_composite_rich", "rich_much_flange_box-rich_much_flange_hole");
   TGeoVolume* rich_much_downstream_flange =
     new TGeoVolume("rich_much_downstream_flange", rich_much_flange_composite, CF);
   rich_much_downstream_flange->SetLineColor(kGray);
 
-  // CONICAL_BEAM_PIPE WITH CARBONE-FIBRE FLANGE AND TILTED END PIECE OF TUBE TO STS SECTION------------------------------------------------------------------------------------
-  TGeoCone* conus                      = new TGeoCone("conical_beam_pipe", conus_lenght, rmin1, rmax1, rmin2, rmax2);
-  TGeoVolume* conical_beam_pipe_volume = new TGeoVolume("conical_beam_pipe_volume", conus, CF);
-  conical_beam_pipe_volume->SetLineColor(kGray);
-
-  TGeoCtub* rich_much_upstream_tube_connection =
-    new TGeoCtub("rich_much_upstream_tube_connection", 55. * mm, 56. * mm, 15. * mm, 360., 360., 0.05235892, 0.,
-                 4.99972585, 0., 0., 1.);
-  TGeoVolume* rich_much_upstream_tube_connection_volume =
-    new TGeoVolume("rich_much_upstream_tube_connection_volume", rich_much_upstream_tube_connection, CF);
-  rich_much_upstream_tube_connection_volume->SetLineColor(kGray);
-
-  TGeoCtub* rich_much_upstream_tube_connection_to_sts =
-    new TGeoCtub("rich_much_upstream_tube_connection_to_sts", 55. * mm, 56. * mm, 15. * mm, 360., 360., 0., 0., 1.,
-                 -0.05235892, 0., 4.99972585);
-  TGeoVolume* rich_much_upstream_tube_connection_to_sts_volume =
-    new TGeoVolume("rich_much_upstream_tube_connection_to_sts_volume", rich_much_upstream_tube_connection_to_sts, CF);
-  rich_much_upstream_tube_connection_to_sts_volume->SetLineColor(kGray);
+  // VACUUM IN THE FLANGE----------------------------------------------------------------------------------------------
+  TGeoTube* vacuum_flange_hole = new TGeoTube("vacuum_flange_hole", 0., 12.5, 1.5);
+  TGeoVolume* vacuum_downstream_flange =
+    new TGeoVolume("vacuum_downstream_flange", vacuum_flange_hole, Vacuum);
+  vacuum_downstream_flange->SetLineColor(kRed);
+
+  // CONICAL_BEAM_PIPE----------------------------------------------------------------------------------------------------------
+  TGeoCone* conus                      = new TGeoCone("conus", conus_lenght, rmin1, rmax1, rmin2, rmax2);
+  TGeoVolume* conus_volume = new TGeoVolume("conus_volume", conus, CF);
+  conus_volume->SetLineColor(kGray);
+
+  //-------------------------------VACUUM IN CONE-------------------------------------------------------------------
+  TGeoCone* vacuum_conus = new TGeoCone("vacuum_conus", conus_lenght, 0, rmin1, 0, rmin2);
+  TGeoVolume* vacuum_conus_volume = new TGeoVolume("vacuum_conus_volume", vacuum_conus, Vacuum);
+  vacuum_conus_volume->SetLineColor(kGreen);
+
+  // CONNECTING TUBE--------------------------------------------------------------------------------------------------------------------------------------------------------
+  TGeoCtub* tube_connection = new TGeoCtub("tube_connection", 55. * mm, 56. * mm, 15. * mm, 0., 360., -0.05235892, 0., 4.99972585, 0., 0., 1.);
+  TGeoVolume* tube_connection_volume = new TGeoVolume("tube_connection_volume", tube_connection, CF);
+  tube_connection_volume->SetLineColor(kGray);
+
+  //------------------------VACUUM IN THE CONNECTING TUBE--------------------------------------------------------------
+  TGeoCtub* vacuum_tube_connection = new TGeoCtub("vacuum_tube_connection", 0. * mm, 55. * mm, 15. * mm, 0., 360., -0.05235892, 0., 4.99972585, 0., 0., 1.);
+  TGeoVolume* vacuum_tube_connection_volume = new TGeoVolume("vacuum_tube_connection_volume", vacuum_tube_connection, Vacuum);
+  vacuum_tube_connection_volume->SetLineColor(kGreen);
+
+  // STS tube-----------------------------------------------------------------------------------------------------
+  TGeoCtub* tube_connection_sts = new TGeoCtub("tube_connection_sts", 55. * mm, 56. * mm, 15. * mm, 0., 360., 0., 0., 1., 0.05235892, 0., 4.99972585);
+  TGeoVolume* tube_connection_sts_volume = new TGeoVolume("tube_connection_sts_volume", tube_connection_sts, CF);
+  tube_connection_sts_volume->SetLineColor(kGray);
 
   //-------------------------------BELLOW DEFINITION----------------------------------------------------------------
   TGeoCompositeShape* flange_composite = new TGeoCompositeShape("flange_composite", "flange_box-flange_hole");
@@ -536,23 +563,50 @@ void create_bpipe_geometry_v21e(const char* geoTag = "v21e")
   TGeoVolume* bellow_3 = new TGeoVolume("bellow_s3", bellow_s3, Stainless);
   bellow_3->SetLineColor(kRed);
 
-  TGeoCtub* bellow_s4  = new TGeoCtub("bellow_s4", 124. * mm, 142. * mm, 25.30673722 * mm, 0., 360., -0.024210927, 0.,
+  TGeoCtub* bellow_s4  = new TGeoCtub("bellow_s4", 124. * mm, 142. * mm, 25.306 * mm, 0., 360., -0.024210927, 0.,
                                      -0.999706873, -0.083697266, 0., 0.996491228);
   TGeoVolume* bellow_4 = new TGeoVolume("bellow_s3", bellow_s4, Stainless);
   bellow_4->SetLineColor(kRed);
 
+  //-------------------------------VACUUM BELLOW DEFINITION----------------------------------------------------------------
+  TGeoVolume* vacuum_bellow_flange_0          = new TGeoVolume("vacuum_bellow_flange_0", vacuum_flange_hole, Vacuum);
+  vacuum_bellow_flange_0->SetLineColor(kGreen);
+
+  TGeoCtub* vacuum_bellow_s1  = new TGeoCtub("vacuum_bellow_s1", 0. * mm, 123.8 * mm, 29.87452196 * mm, 0., 360., -0.083697266, 0.,
+                                     -0.996491228, -0.122217128, 0., 0.992503387);
+  TGeoVolume* vacuum_bellow_1 = new TGeoVolume("vacuum_bellow_s1", vacuum_bellow_s1, Vacuum);
+  vacuum_bellow_1->SetLineColor(kGreen);
+
+  TGeoCtub* vacuum_bellow_s2  = new TGeoCtub("vacuum_bellow_s1", 0. * mm, 123.8 * mm, 96.682942995 * mm, 0., 360., -0.122217128, 0.,
+                                     -0.992503387, 0.089898314, 0, 0.995950949);
+  TGeoVolume* vacuum_bellow_2 = new TGeoVolume("vacuum_bellow_s2", vacuum_bellow_s2, Vacuum);
+  vacuum_bellow_2->SetLineColor(kGreen);
+
+  TGeoCtub* vacuum_bellow_s3  = new TGeoCtub("vacuum_bellow_s3", 0. * mm, 123.8 * mm, 22.10506784 * mm, 0., 360., -0.089898314, 0.,
+                                     -0.995950949, -0.024210927, 0., 0.999706873);
+  TGeoVolume* vacuum_bellow_3 = new TGeoVolume("vacuum_bellow_s3", vacuum_bellow_s3, Vacuum);
+  vacuum_bellow_3->SetLineColor(kGreen);
+
+  TGeoCtub* vacuum_bellow_s4  = new TGeoCtub("vacuum_bellow_s4", 0. * mm, 123.8 * mm, 25.306 * mm, 0., 360., -0.024210927, 0.,
+                                     -0.999706873, -0.083697266, 0., 0.996491228);
+  TGeoVolume* vacuum_bellow_4 = new TGeoVolume("vacuum_bellow_s4", vacuum_bellow_s4, Vacuum);
+  vacuum_bellow_4->SetLineColor(kGreen);
 
   TGeoBBox* roll_plate_s = new TGeoBBox("roll_plate_s", 75. * mm, 12.5 * mm, 90. * mm);
   TGeoVolume* roll_plate = new TGeoVolume("roll_plate", roll_plate_s, Al);
   roll_plate->SetLineColor(kBlue);
 
   TGeoTube* flange_cyl                     = new TGeoTube("flange_cyl", 0., 15., 1.5);
-  TGeoTube* flange_cyl_hole                = new TGeoTube("flange_cyl_hole", 0., 8.9, 2.5);
+  TGeoTube* flange_cyl_hole                = new TGeoTube("flange_cyl_hole", 0., 8.9, 1.6);
   TGeoCompositeShape* flange_cyl_composite = new TGeoCompositeShape(
     "flange_cyl_composite", "((flange_cyl-flange_cyl_hole)-roll_plate_s:tr_plate_up)-roll_plate_s:tr_plate_down");
   TGeoVolume* bellow_flange_1 = new TGeoVolume("bellow_flange_1", flange_cyl_composite, Stainless);
   bellow_flange_1->SetLineColor(kRed);
 
+  //-------------------------------VACUUM FLANGE BELLOW------------------------------------------------------------------
+  TGeoTube* vacuum_flange_cyl_hole                = new TGeoTube("vacuum_flange_cyl_hole", 0., 8.9, 1.5);
+  TGeoVolume* vacuum_bellow_flange_1 = new TGeoVolume("vacuum_bellow_flange_1", vacuum_flange_cyl_hole, Vacuum);
+  vacuum_bellow_flange_1->SetLineColor(kGreen);
 
   TGeoTube* lead_screw_s = new TGeoTube("lead_screw_s", 0. * mm, 6. * mm, 205. * mm);
   TGeoTube* nut_small_s  = new TGeoTube("nut_small_s", 6. * mm, 14. * mm, 50. * mm);
@@ -573,6 +627,11 @@ void create_bpipe_geometry_v21e(const char* geoTag = "v21e")
   TGeoVolume* psd_tube = new TGeoVolume("psd_tube", psd_tube_s, CF);
   psd_tube->SetLineColor(kGray);
 
+  //------------------------------VACUUM PSD TUBE-------------------------------------------------------------------------
+  TGeoTube* vacuum_psd_tube_s = new TGeoTube("vacuum_psd_tube_s", 0. * mm, 90. * mm, 7230. * mm);
+  TGeoVolume* vacuum_psd_tube = new TGeoVolume("vacuum_psd_tube", vacuum_psd_tube_s, Vacuum);
+  vacuum_psd_tube->SetLineColor(kGreen);
+
   //------------------TOP plate------------------------------
   bellow_ass->AddNode(sub_t_plate1, 1, tr_top_0a);
   bellow_ass->AddNode(sub_t_plate2, 1, tr_top_1a);
@@ -625,6 +684,15 @@ void create_bpipe_geometry_v21e(const char* geoTag = "v21e")
   bellow_ass->AddNode(bellow_4, 1, ctr_s4);
   bellow_ass->AddNode(bellow_flange_1, 1, ctr_s5);
 
+  //-----------------Vacuum in bellow and flanges
+  vacuum_bellow_ass->AddNode(vacuum_bellow_flange_0, 1, new TGeoTranslation(0, 0, 1.5));
+  vacuum_bellow_ass->AddNode(vacuum_bellow_1, 1, ctr_s1);
+  vacuum_bellow_ass->AddNode(vacuum_bellow_2, 1, ctr_s2);
+  vacuum_bellow_ass->AddNode(vacuum_bellow_3, 1, ctr_s3);
+  vacuum_bellow_ass->AddNode(vacuum_bellow_4, 1, ctr_s4);
+  vacuum_bellow_ass->AddNode(vacuum_bellow_flange_1, 1, ctr_s5);
+
+
   //------------------DRIVE assembly--------------------------------------
   bellow_ass->AddNode(roll_plate, 1, ctr_plate_up);
   bellow_ass->AddNode(roll_plate, 2, ctr_plate_down);
@@ -632,16 +700,24 @@ void create_bpipe_geometry_v21e(const char* geoTag = "v21e")
   bellow_ass->AddNode(motor, 1, mot_transl);
 
   //-------------------CONICAL section--------------------------------------------------
-  conical_beam_pipe->AddNode(rich_much_downstream_flange, 1, new TGeoTranslation(0, 0, -15 * mm));
-  conical_beam_pipe->AddNode(conical_beam_pipe_volume, 1, new TGeoTranslation(0, 0, -1585 * mm));
-  conical_beam_pipe->AddNode(rich_much_upstream_tube_connection_volume, 1, ctr_sts_conus_connection);
-  conical_beam_pipe->AddNode(rich_much_upstream_tube_connection_to_sts_volume, 1, ctr_sts_tube);
-
-
+  conical_beam_pipe->AddNode(rich_much_downstream_flange, 1, new TGeoTranslation(0, 0, 1570 * mm));
+  conical_beam_pipe->AddNode(conus_volume, 1, new TGeoTranslation(0, 0, 0));
+  conical_beam_pipe->AddNode(tube_connection_volume, 1, ctr_sts_conus_connection);
+  //conical_beam_pipe->AddNode(tube_connection_sts_volume, 1, ctr_sts_tube);  //unexplained "nonexisting" overlap
+  //conical_beam_pipe->AddNode(rich_much_upstream_tube_connection_volume, 1, ctr_sts_tube);
+
+ //-------------------VACUUM in CONICAL section--------------------------------------------------
+  //vacuum_conical_beam_pipe->AddNode(vacuum_downstream_flange, 1, new TGeoTranslation(0, 0, 1570 * mm)); // not needed
+  vacuum_conical_beam_pipe->AddNode(vacuum_conus_volume, 1, new TGeoTranslation(0, 0, 0));
+  vacuum_conical_beam_pipe->AddNode(vacuum_tube_connection_volume, 1, ctr_sts_conus_connection);
+ 
   //------------------INSERT into top volume
-  full_assembly->AddNode(conical_beam_pipe, 1, origin_combi);
+  full_assembly->AddNode(conical_beam_pipe, 1, origin_combi_cone);
   full_assembly->AddNode(bellow_ass, 1, origin_combi);
   full_assembly->AddNode(psd_tube, 1, ctr_psd_tube);
+  full_assembly->AddNode(vacuum_conical_beam_pipe, 1, origin_combi_cone);
+  full_assembly->AddNode(vacuum_bellow_ass, 1, origin_combi);
+  full_assembly->AddNode(vacuum_psd_tube, 1, ctr_psd_tube);
 
   //beampipe->AddNode(full_assembly,1, new TGeoTranslation(0, 0, 0*mm));
   // --- close the geometry
@@ -662,8 +738,10 @@ void create_bpipe_geometry_v21e(const char* geoTag = "v21e")
   TGeoTranslation* trans = new TGeoTranslation(0.0, 0.0, 82.0);
   trans->Write("trans");
   cout << endl;
-  cout << "Geometry " << geom->GetTopVolume()->GetName() << " written to " << geo_bin_filename << std::endl;
+  cout << "Geometry " << geom->GetTopVolume()->GetName() << " written to " << geo_bin_filename << endl;
   binfile->Close();
   //--- close the geometry
   geom->CloseGeometry();
+  //gGeoManager->CheckOverlaps(0.000001);
+  //gGeoManager->GetListOfOverlaps()->Print();
 }
diff --git a/macro/pipe/fair/create_bpipe_geometry_v21f.C b/macro/pipe/fair/create_bpipe_geometry_v21f.C
index 7f289444776c58741a74ec8659eb0e076fbf3301..97e0c451605c0f2b5ccd2ce452dc0b24d61a2c72 100644
--- a/macro/pipe/fair/create_bpipe_geometry_v21f.C
+++ b/macro/pipe/fair/create_bpipe_geometry_v21f.C
@@ -18,15 +18,12 @@
 using namespace std;
 using namespace TGeoUnit;
 
-
 void create_bpipe_geometry_v21f(const char* geoTag = "v21f")
 {
   //--- Definition of a simple geometry
   gSystem->Load("libGeom");
   TGeoManager* geom = new TGeoManager("beampipe_v21f", "Beampipe for no magnetic field");
 
-  // fair root mediafile google it
-
   //--- define some materials
   TGeoMixture* matCarbonFiber = new TGeoMixture("BP_carbonfiber", 4, 1.5);
   matCarbonFiber->AddElement(12.001, 6.0, 0.8926);
@@ -61,14 +58,13 @@ void create_bpipe_geometry_v21f(const char* geoTag = "v21f")
   Double_t rmin2        = 125 * mm;
   Double_t rmax2        = 126 * mm;
 
-  Double_t rail_cord[]       = {23.1, 0, 4.5, 21.5, 2.8, 4.5};
+  Double_t rail_cord[]       = {23.0, 0, 4.5, 21.4, 2.8, 4.5};
   Double_t top_plate_cord[]  = {10,   0,    2.1,  10.15, 0,     4.05, 11.75, 2.15, 4.0,  15.3, 4.28,
                                2.85, 18.1, 5.27, 2.85,  19.75, 5.65, 5.0,   21.1, 5.65, 0};
   Double_t side_plate_cord[] = {11.3, 0,   2,    11.3, 0,   7.55, 16,   6.8, 4.6, 8.7,  6.8, 4.6,
                                 19.8, 8.3, 2.35, 13.6, 8.3, 2.35, 20.8, 7.9, 3.0, 14.8, 7.9, 3.0,
                                 21.3, 6.8, 1.5,  16.3, 6.8, 1.5,  21.3, 6.3, 0,   17.4, 6.3, 0};
 
-
   //-----------------------DEFINITION OF TRANSFORMATIONS--------------------------------------------------------------------------------------
 
   TGeoRotation* rot_top = new TGeoRotation("rot_top");
@@ -96,22 +92,6 @@ void create_bpipe_geometry_v21f(const char* geoTag = "v21f")
   ident_rotation->RotateY(0);
   ident_rotation->RegisterYourself();
 
-  TGeoTranslation orig_translation("orig_translation", -0.15707676 * mm, 0, 3230 * mm);
-  //TGeoCombiTrans *origin_translation = new TGeoCombiTrans(orig_translation,ident);
-
-
-  TGeoRotation orig_rotation("orig_rotation");
-  orig_rotation.RotateY(1.2);
-  //TGeoCombiTrans *origin_rotation = new TGeoCombiTrans(0,orig_rotation);
-  //orig_rotation->RegisterYourself();
-
-
-  //TGeoHMatrix orig_combi = orig_translation * orig_rotation;
-  TGeoHMatrix orig_combi = orig_rotation * orig_translation;
-
-  TGeoHMatrix* origin_combi = new TGeoHMatrix(orig_combi);
-
-
   TGeoRotation* rot_left = new TGeoRotation("rot_left");
   rot_left->SetAngles(90, 0, 0);
   TGeoCombiTrans* combi_left = new TGeoCombiTrans(-15.2, 0, 0, rot_left);
@@ -201,12 +181,12 @@ void create_bpipe_geometry_v21f(const char* geoTag = "v21f")
 
   TGeoRotation* rot_sts_conus_connection = new TGeoRotation("rot_sts_conus_connection");
   rot_sts_conus_connection->RotateZ(180);
-  TGeoCombiTrans* ctr_sts_conus_connection = new TGeoCombiTrans(0, 0, -3185 * mm, rot_sts_conus_connection);
+  TGeoCombiTrans* ctr_sts_conus_connection = new TGeoCombiTrans(0, 0, -1600 * mm, rot_sts_conus_connection);
 
   TGeoRotation* rotation_of_sts_tube = new TGeoRotation("rotation_of_sts_tube");
   rotation_of_sts_tube->RotateZ(180);
   rotation_of_sts_tube->RotateY(-1.2);
-  TGeoCombiTrans* ctr_sts_tube = new TGeoCombiTrans(0.15707676 * mm, 0, -3214.99917754 * mm, rotation_of_sts_tube);
+  TGeoCombiTrans* ctr_sts_tube = new TGeoCombiTrans(0.15707676 * mm, 0, -1630.001 * mm, rotation_of_sts_tube);
 
   TGeoRotation* rot_global = new TGeoRotation("rot_global");
   rot_global->RotateY(1.2);
@@ -214,23 +194,23 @@ void create_bpipe_geometry_v21f(const char* geoTag = "v21f")
 
   TGeoRotation* rot_s1 = new TGeoRotation("rot_s1");
   rot_s1->RotateY(-11.888);
-  TGeoCombiTrans* ctr_s1 = new TGeoCombiTrans("ctr_s1", -11.46294558 * mm, 0, 84.45109099 * mm, rot_s1);
+  TGeoCombiTrans* ctr_s1 = new TGeoCombiTrans("ctr_s1", -11.46294558 * mm, 0, 84.6 * mm, rot_s1);
 
   TGeoRotation* rot_s2 = new TGeoRotation("rot_s2");
   rot_s2->RotateY(-26.4732337);
-  TGeoCombiTrans* ctr_s2 = new TGeoCombiTrans("ctr_s2", (-48.92189672) * mm, 0, (191.10295277) * mm, rot_s2);
+  TGeoCombiTrans* ctr_s2 = new TGeoCombiTrans("ctr_s2", (-48.92189672) * mm, 0, (191.30295277) * mm, rot_s2);
 
   TGeoRotation* rot_s3 = new TGeoRotation("rot_s3");
   rot_s3->RotateZ(180.);
   rot_s3->RotateY(-15.505);
 
-  TGeoCombiTrans* ctr_s3 = new TGeoCombiTrans("ctr_s3", (-85.745) * mm, 0, (282.33) * mm, rot_s3);
+  TGeoCombiTrans* ctr_s3 = new TGeoCombiTrans("ctr_s3", (-85.745) * mm, 0, (282.6) * mm, rot_s3);
 
   TGeoRotation* rot_s4 = new TGeoRotation("rot_s4");
   rot_s4->RotateZ(180.);
   rot_s4->RotateY(-4.217);
 
-  TGeoCombiTrans* ctr_s4 = new TGeoCombiTrans("ctr_s4", (-98.226) * mm, 0, 343.795 * mm, rot_s4);
+  TGeoCombiTrans* ctr_s4 = new TGeoCombiTrans("ctr_s4", (-98.226) * mm, 0, 344.15 * mm, rot_s4);
 
 
   TGeoRotation* rot_plate = new TGeoRotation("rot_plate");
@@ -251,32 +231,65 @@ void create_bpipe_geometry_v21f(const char* geoTag = "v21f")
 
   TGeoTranslation* mot_transl = new TGeoTranslation("mot_transl", -286.5 * mm, -159.5 * mm, 534. * mm);
 
+  TGeoTranslation orig_translation("orig_translation", -0.15707676 * mm, 0, 3230 * mm);
+
+  TGeoTranslation orig_translation_cone("orig_translation_cone", -0.15707676 * mm, 0, 1645 * mm);
+  //TGeoCombiTrans *origin_translation = new TGeoCombiTrans(orig_translation,ident);
+
+
+  TGeoRotation orig_rotation("orig_rotation");
+  orig_rotation.RotateY(1.2);
+  //TGeoCombiTrans *origin_rotation = new TGeoCombiTrans(0,orig_rotation);
+  //orig_rotation->RegisterYourself();
+
+
+  //TGeoHMatrix orig_combi = orig_translation * orig_rotation;
+  TGeoHMatrix orig_combi = orig_rotation * orig_translation;
+
+  TGeoHMatrix orig_combi_cone = orig_rotation * orig_translation_cone;
+
+  TGeoHMatrix* origin_combi = new TGeoHMatrix(orig_combi);
+
+  TGeoHMatrix* origin_combi_cone = new TGeoHMatrix(orig_combi_cone);
+
+
+  //TGeoTranslation* cone_transl = new TGeoTranslation("cone_transl", -286.5 * mm, -159.5 * mm, 534. * mm);
+
   TGeoRotation* rot_psd_tube = new TGeoRotation("rot_psd_tube");
   rot_psd_tube->RotateY(0);
-  TGeoCombiTrans* ctr_psd_tube = new TGeoCombiTrans("ctr_psd_tube", -24.7 * mm, 0. * mm, 10857.77 * mm, rot_psd_tube);
+  TGeoCombiTrans* ctr_psd_tube = new TGeoCombiTrans("ctr_psd_tube", -24.7 * mm, 0. * mm, 10858.02 * mm, rot_psd_tube);
 
   TGeoRotation* rot_s5 = new TGeoRotation("rot_s5");
   //rot_s5->RotateZ(180.);
   rot_s5->RotateY(-1.2);
-  TGeoCombiTrans* ctr_s5 = new TGeoCombiTrans("ctr_s5", (-100.194) * mm, 0, 381.231 * mm, rot_s5);
+  TGeoCombiTrans* ctr_s5 = new TGeoCombiTrans("ctr_s5", (-100.194) * mm, 0, 381.7 * mm, rot_s5);
 
   TGeoTranslation* nut_transl = new TGeoTranslation("nut_transl", 0. * mm, 0. * mm, 80. * mm);
   nut_transl->RegisterYourself();
 
-
   //------------------------------------DEFINITIONS OF VOLUMES----------------------------------------
   //--- make the top container volume
-  Double_t worldx           = 320 * mm;
+  Double_t worldx           = 800 * mm;
   Double_t worldy           = 220 * mm;
   Double_t worldz           = 18100 * mm;
-  TGeoVolume* full_assembly = geom->MakeBox("pipe_v21f", Vacuum, worldx, worldy, worldz);
+  //TGeoVolume* full_assembly = geom->MakeBox("pipe_v21f", Vacuum, worldx, worldy, worldz);
+  TGeoVolumeAssembly* full_assembly = new TGeoVolumeAssembly("pipe_v21f");
   geom->SetTopVolume(full_assembly);
   full_assembly->SetVisibility(kTRUE);
-  TGeoVolume* conical_beam_pipe = geom->MakeBox("conical_beam_pipe", Vacuum, 220 * mm, 220 * mm, 3650 * mm);
+  //TGeoVolume* conical_beam_pipe = geom->MakeBox("conical_beam_pipe", Vacuum, 220 * mm, 220 * mm, 1825 * mm);
+  TGeoVolume* conical_beam_pipe = new TGeoVolumeAssembly("conical_beam_pipe");
   conical_beam_pipe->SetVisibility(kFALSE);
-  TGeoVolume* bellow_ass = geom->MakeBox("Bellow assembly", Vacuum, 320 * mm, 220 * mm, 240 * mm);
+
+  TGeoVolume* vacuum_conical_beam_pipe = new TGeoVolumeAssembly("vacuum_conical_beam_pipe");
+  vacuum_conical_beam_pipe->SetVisibility(kFALSE);
+ 
+  //TGeoVolume* bellow_ass = geom->MakeBox("Bellow assembly", Vacuum, 350 * mm, 220 * mm, 600 * mm);
+  TGeoVolume* bellow_ass = new TGeoVolumeAssembly("Bellow assembly");
   bellow_ass->SetVisibility(kFALSE);
 
+  TGeoVolume* vacuum_bellow_ass = new TGeoVolumeAssembly("Vacuum_bellow assembly");
+  vacuum_bellow_ass->SetVisibility(kFALSE);
+
   // TOP PLATE--------------------------------------------------------------------------------------
   TGeoVolume* sub_t_plate1 = geom->MakeArb8("sub_t_plate1", CF, top_plate_cord[2]);
   sub_t_plate1->SetLineColor(kGray);
@@ -486,37 +499,49 @@ void create_bpipe_geometry_v21f(const char* geoTag = "v21f")
   r_arb1->SetVertex(7, rail_cord[3], rail_cord[1] + rail_cord[4]);
 
   TGeoBBox* flange_box  = new TGeoBBox("flange_box", 15.2, 15.2, 1.5);
-  TGeoTube* flange_hole = new TGeoTube("flange_hole", 0., 12.5, 2.5);
+  TGeoTube* flange_hole = new TGeoTube("flange_hole", 0., 12.5, 1.6);
 
   // DOWNSTREAM_CARBON-FIBRE_RICH_MUCH_FLANGE_TO_BELLOW_ASS------------------------------------------------------------------------------------
   TGeoBBox* rich_much_flange_box  = new TGeoBBox("rich_much_flange_box", 15.2, 15.2, 1.5);
-  TGeoTube* rich_much_flange_hole = new TGeoTube("rich_much_flange_hole", 0., 12.5, 2.5);
+  TGeoTube* rich_much_flange_hole = new TGeoTube("rich_much_flange_hole", 0., 12.55, 1.6);
   TGeoCompositeShape* rich_much_flange_composite =
     new TGeoCompositeShape("flange_composite_rich", "rich_much_flange_box-rich_much_flange_hole");
   TGeoVolume* rich_much_downstream_flange =
     new TGeoVolume("rich_much_downstream_flange", rich_much_flange_composite, CF);
   rich_much_downstream_flange->SetLineColor(kGray);
 
-  // CONICAL_BEAM_PIPE WITH CARBONE-FIBRE FLANGE AND TILTED END PIECE OF TUBE TO STS SECTION------------------------------------------------------------------------------------
-  TGeoCone* conus                      = new TGeoCone("conical_beam_pipe", conus_lenght, rmin1, rmax1, rmin2, rmax2);
-  TGeoVolume* conical_beam_pipe_volume = new TGeoVolume("conical_beam_pipe_volume", conus, CF);
-  conical_beam_pipe_volume->SetLineColor(kGray);
-
-  TGeoCtub* rich_much_upstream_tube_connection =
-    new TGeoCtub("rich_much_upstream_tube_connection", 55. * mm, 56. * mm, 15. * mm, 360., 360., 0.05235892, 0.,
-                 4.99972585, 0., 0., 1.);
-  TGeoVolume* rich_much_upstream_tube_connection_volume =
-    new TGeoVolume("rich_much_upstream_tube_connection_volume", rich_much_upstream_tube_connection, CF);
-  rich_much_upstream_tube_connection_volume->SetLineColor(kGray);
-
-  TGeoCtub* rich_much_upstream_tube_connection_to_sts =
-    new TGeoCtub("rich_much_upstream_tube_connection_to_sts", 55. * mm, 56. * mm, 15. * mm, 360., 360., 0., 0., 1.,
-                 -0.05235892, 0., 4.99972585);
-  TGeoVolume* rich_much_upstream_tube_connection_to_sts_volume =
-    new TGeoVolume("rich_much_upstream_tube_connection_to_sts_volume", rich_much_upstream_tube_connection_to_sts, CF);
-  rich_much_upstream_tube_connection_to_sts_volume->SetLineColor(kGray);
-
-
+  // VACUUM IN THE FLANGE----------------------------------------------------------------------------------------------
+  TGeoTube* vacuum_flange_hole = new TGeoTube("vacuum_flange_hole", 0., 12.5, 1.5);
+  TGeoVolume* vacuum_downstream_flange =
+    new TGeoVolume("vacuum_downstream_flange", vacuum_flange_hole, Vacuum);
+  vacuum_downstream_flange->SetLineColor(kRed);
+
+  // CONICAL_BEAM_PIPE----------------------------------------------------------------------------------------------------------
+  TGeoCone* conus                      = new TGeoCone("conus", conus_lenght, rmin1, rmax1, rmin2, rmax2);
+  TGeoVolume* conus_volume = new TGeoVolume("conus_volume", conus, CF);
+  conus_volume->SetLineColor(kGray);
+
+  //-------------------------------VACUUM IN CONE-------------------------------------------------------------------
+  TGeoCone* vacuum_conus = new TGeoCone("vacuum_conus", conus_lenght, 0, rmin1, 0, rmin2);
+  TGeoVolume* vacuum_conus_volume = new TGeoVolume("vacuum_conus_volume", vacuum_conus, Vacuum);
+  vacuum_conus_volume->SetLineColor(kGreen);
+
+  // CONNECTING TUBE--------------------------------------------------------------------------------------------------------------------------------------------------------
+  TGeoCtub* tube_connection = new TGeoCtub("tube_connection", 55. * mm, 56. * mm, 15. * mm, 0., 360., -0.05235892, 0., 4.99972585, 0., 0., 1.);
+  TGeoVolume* tube_connection_volume = new TGeoVolume("tube_connection_volume", tube_connection, CF);
+  tube_connection_volume->SetLineColor(kGray);
+
+  //------------------------VACUUM IN THE CONNECTING TUBE--------------------------------------------------------------
+  TGeoCtub* vacuum_tube_connection = new TGeoCtub("vacuum_tube_connection", 0. * mm, 55. * mm, 15. * mm, 0., 360., -0.05235892, 0., 4.99972585, 0., 0., 1.);
+  TGeoVolume* vacuum_tube_connection_volume = new TGeoVolume("vacuum_tube_connection_volume", vacuum_tube_connection, Vacuum);
+  vacuum_tube_connection_volume->SetLineColor(kGreen);
+
+  // STS tube-----------------------------------------------------------------------------------------------------
+  TGeoCtub* tube_connection_sts = new TGeoCtub("tube_connection_sts", 55. * mm, 56. * mm, 15. * mm, 0., 360., 0., 0., 1., 0.05235892, 0., 4.99972585);
+  TGeoVolume* tube_connection_sts_volume = new TGeoVolume("tube_connection_sts_volume", tube_connection_sts, CF);
+  tube_connection_sts_volume->SetLineColor(kGray);
+
+  //-------------------------------BELLOW DEFINITION----------------------------------------------------------------
   TGeoCompositeShape* flange_composite = new TGeoCompositeShape("flange_composite", "flange_box-flange_hole");
   TGeoVolume* bellow_flange_0          = new TGeoVolume("bellow_flange_0", flange_composite, Stainless);
   bellow_flange_0->SetLineColor(kRed);
@@ -541,18 +566,46 @@ void create_bpipe_geometry_v21f(const char* geoTag = "v21f")
   TGeoVolume* bellow_4 = new TGeoVolume("bellow_s3", bellow_s4, Stainless);
   bellow_4->SetLineColor(kRed);
 
+  //-------------------------------VACUUM BELLOW DEFINITION----------------------------------------------------------------
+  TGeoVolume* vacuum_bellow_flange_0          = new TGeoVolume("vacuum_bellow_flange_0", vacuum_flange_hole, Vacuum);
+  vacuum_bellow_flange_0->SetLineColor(kGreen);
+
+  TGeoCtub* vacuum_bellow_s1  = new TGeoCtub("vacuum_bellow_s1", 0 * mm, 121.9435 * mm, 55.64459032 * mm, 0., 360., -0.206, 0.,
+                                     -0.979, -0.206, 0., 0.979);
+  TGeoVolume* vacuum_bellow_1 = new TGeoVolume("vacuum_bellow_s1", vacuum_bellow_s1, Vacuum);
+  vacuum_bellow_1->SetLineColor(kGreen);
+
+  TGeoCtub* vacuum_bellow_s2  = new TGeoCtub("vacuum_bellow_s2", 0 * mm, 124.842 * mm, 58.3156 * mm, 0., 360., -0.04705248, 0.,
+                                     -0.998892419, 0.04705248, 0, 0.998892419);
+  TGeoVolume* vacuum_bellow_2 = new TGeoVolume("vacuum_bellow_s2", vacuum_bellow_s2, Vacuum);
+  vacuum_bellow_2->SetLineColor(kGreen);
+
+  TGeoCtub* vacuum_bellow_s3  = new TGeoCtub("vacuum_bellow_s3", 0 * mm, 123.5175 * mm, 40.5 * mm, 0., 360., -0.1439, 0.,
+                                     -0.9896, -0.1439, 0., 0.9896);
+  TGeoVolume* vacuum_bellow_3 = new TGeoVolume("vacuum_bellow_s3", vacuum_bellow_s3, Vacuum);
+  vacuum_bellow_3->SetLineColor(kGreen);
+
+  TGeoCtub* vacuum_bellow_s4  = new TGeoCtub("vacuum_bellow_s4", 0 * mm, 124.8025 * mm, 22.5 * mm, 0., 360., -0.0526, 0.,
+                                     -0.9972, -0.0526, 0., 0.9972);
+  TGeoVolume* vacuum_bellow_4 = new TGeoVolume("vacuum_bellow_s3", vacuum_bellow_s4, Vacuum);
+  vacuum_bellow_4->SetLineColor(kGreen);
+
 
   TGeoBBox* roll_plate_s = new TGeoBBox("roll_plate_s", 75. * mm, 12.5 * mm, 90. * mm);
   TGeoVolume* roll_plate = new TGeoVolume("roll_plate", roll_plate_s, Al);
   roll_plate->SetLineColor(kBlue);
 
   TGeoTube* flange_cyl                     = new TGeoTube("flange_cyl", 0., 15., 1.5);
-  TGeoTube* flange_cyl_hole                = new TGeoTube("flange_cyl_hole", 0., 8.9, 2.5);
+  TGeoTube* flange_cyl_hole                = new TGeoTube("flange_cyl_hole", 0., 8.9, 1.6);
   TGeoCompositeShape* flange_cyl_composite = new TGeoCompositeShape(
     "flange_cyl_composite", "((flange_cyl-flange_cyl_hole)-roll_plate_s:tr_plate_up)-roll_plate_s:tr_plate_down");
   TGeoVolume* bellow_flange_1 = new TGeoVolume("bellow_flange_1", flange_cyl_composite, Stainless);
   bellow_flange_1->SetLineColor(kRed);
 
+  //-------------------------------VACUUM FLANGE BELLOW------------------------------------------------------------------
+  TGeoTube* vacuum_flange_cyl_hole                = new TGeoTube("vacuum_flange_cyl_hole", 0., 8.9, 1.5);
+  TGeoVolume* vacuum_bellow_flange_1 = new TGeoVolume("vacuum_bellow_flange_1", vacuum_flange_cyl_hole, Vacuum);
+  vacuum_bellow_flange_1->SetLineColor(kGreen);
 
   TGeoTube* lead_screw_s = new TGeoTube("lead_screw_s", 0. * mm, 6. * mm, 205. * mm);
   TGeoTube* nut_small_s  = new TGeoTube("nut_small_s", 6. * mm, 14. * mm, 50. * mm);
@@ -573,6 +626,10 @@ void create_bpipe_geometry_v21f(const char* geoTag = "v21f")
   TGeoVolume* psd_tube = new TGeoVolume("psd_tube", psd_tube_s, CF);
   psd_tube->SetLineColor(kGray);
 
+  //------------------------------VACUUM PSD TUBE-------------------------------------------------------------------------
+  TGeoTube* vacuum_psd_tube_s = new TGeoTube("vacuum_psd_tube_s", 0. * mm, 90. * mm, 7230. * mm);
+  TGeoVolume* vacuum_psd_tube = new TGeoVolume("vacuum_psd_tube", vacuum_psd_tube_s, Vacuum);
+  vacuum_psd_tube->SetLineColor(kGreen);
 
   //------------------TOP plate------------------------------
   bellow_ass->AddNode(sub_t_plate1, 1, tr_top_0a);
@@ -626,6 +683,14 @@ void create_bpipe_geometry_v21f(const char* geoTag = "v21f")
   bellow_ass->AddNode(bellow_4, 1, ctr_s4);
   bellow_ass->AddNode(bellow_flange_1, 1, ctr_s5);
 
+  //-----------------Vacuum in bellow and flanges
+  vacuum_bellow_ass->AddNode(vacuum_bellow_flange_0, 1, new TGeoTranslation(0, 0, 1.5));
+  vacuum_bellow_ass->AddNode(vacuum_bellow_1, 1, ctr_s1);
+  vacuum_bellow_ass->AddNode(vacuum_bellow_2, 1, ctr_s2);
+  vacuum_bellow_ass->AddNode(vacuum_bellow_3, 1, ctr_s3);
+  vacuum_bellow_ass->AddNode(vacuum_bellow_4, 1, ctr_s4);
+  vacuum_bellow_ass->AddNode(vacuum_bellow_flange_1, 1, ctr_s5);
+
   //------------------DRIVE assembly--------------------------------------
   bellow_ass->AddNode(roll_plate, 1, ctr_plate_up);
   bellow_ass->AddNode(roll_plate, 2, ctr_plate_down);
@@ -633,18 +698,28 @@ void create_bpipe_geometry_v21f(const char* geoTag = "v21f")
   bellow_ass->AddNode(motor, 1, mot_transl);
 
   //-------------------CONICAL section--------------------------------------------------
-  conical_beam_pipe->AddNode(rich_much_downstream_flange, 1, new TGeoTranslation(0, 0, -15 * mm));
-  conical_beam_pipe->AddNode(conical_beam_pipe_volume, 1, new TGeoTranslation(0, 0, -1585 * mm));
-  conical_beam_pipe->AddNode(rich_much_upstream_tube_connection_volume, 1, ctr_sts_conus_connection);
-  conical_beam_pipe->AddNode(rich_much_upstream_tube_connection_to_sts_volume, 1, ctr_sts_tube);
-
-
+  conical_beam_pipe->AddNode(rich_much_downstream_flange, 1, new TGeoTranslation(0, 0, 1570 * mm));
+  // conical_beam_pipe->AddNode(conical_beam_pipe_volume, 1, new TGeoTranslation(0, 0, -1585 * mm));
+  conical_beam_pipe->AddNode(conus_volume, 1, new TGeoTranslation(0, 0, 0));
+  conical_beam_pipe->AddNode(tube_connection_volume, 1, ctr_sts_conus_connection);
+  //conical_beam_pipe->AddNode(tube_connection_sts_volume, 1, ctr_sts_tube);  //unexplained "nonexisting" overlap
+
+ //-------------------VACUUM in CONICAL section--------------------------------------------------
+  //vacuum_conical_beam_pipe->AddNode(vacuum_downstream_flange, 1, new TGeoTranslation(0, 0, 1570 * mm)); // not needed
+  vacuum_conical_beam_pipe->AddNode(vacuum_conus_volume, 1, new TGeoTranslation(0, 0, 0));
+  vacuum_conical_beam_pipe->AddNode(vacuum_tube_connection_volume, 1, ctr_sts_conus_connection);
+ 
   //------------------INSERT into top volume
-  full_assembly->AddNode(conical_beam_pipe, 1, origin_combi);
+  full_assembly->AddNode(conical_beam_pipe, 1, origin_combi_cone);
   full_assembly->AddNode(bellow_ass, 1, origin_combi);
   full_assembly->AddNode(psd_tube, 1, ctr_psd_tube);
+  full_assembly->AddNode(vacuum_conical_beam_pipe, 1, origin_combi_cone);
+  full_assembly->AddNode(vacuum_bellow_ass, 1, origin_combi);
+  full_assembly->AddNode(vacuum_psd_tube, 1, ctr_psd_tube);
 
   //beampipe->AddNode(full_assembly,1, new TGeoTranslation(0, 0, 0*mm));
+  // --- close the geometry
+  geom->CloseGeometry();
 
   //--- draw the ROOT box
   geom->SetVisLevel(4);
@@ -655,19 +730,16 @@ void create_bpipe_geometry_v21f(const char* geoTag = "v21f")
   TString geo_bin_filename = "pipe_";
   TString geo_name         = geo_bin_filename + geoTag;
   geo_bin_filename         = geo_bin_filename + geoTag + ".geo.root";
-
   TFile* binfile;
   binfile = new TFile(geo_bin_filename, "RECREATE");
-
   geom->GetTopVolume()->Write(geo_name);  // outputting on the top volume
-
   TGeoTranslation* trans = new TGeoTranslation(0.0, 0.0, 82.0);
   trans->Write("trans");
-
   cout << endl;
   cout << "Geometry " << geom->GetTopVolume()->GetName() << " written to " << geo_bin_filename << endl;
   binfile->Close();
-
   //--- close the geometry
   geom->CloseGeometry();
+  //gGeoManager->CheckOverlaps(0.000001);
+  //gGeoManager->GetListOfOverlaps()->Print();
 }
diff --git a/macro/passive/fair/create_bpipe_geometry_v21g.C b/macro/pipe/fair/create_bpipe_geometry_v21g.C
similarity index 100%
rename from macro/passive/fair/create_bpipe_geometry_v21g.C
rename to macro/pipe/fair/create_bpipe_geometry_v21g.C
diff --git a/macro/passive/fair/create_bpipe_geometry_v21h.C b/macro/pipe/fair/create_bpipe_geometry_v21h.C
similarity index 100%
rename from macro/passive/fair/create_bpipe_geometry_v21h.C
rename to macro/pipe/fair/create_bpipe_geometry_v21h.C
diff --git a/pipe/pipe_v21e.geo.info b/pipe/pipe_v21e.geo.info
index 557af25e911994ad92238ef5d08068a6cb6b97a5..22fc00a1340e9a8dc5986a56b079ad5638f1d584 100644
--- a/pipe/pipe_v21e.geo.info
+++ b/pipe/pipe_v21e.geo.info
@@ -2,3 +2,5 @@ Created by create_bpipe_geometry_v21e.C
 
 The downstream section has maximum deflection at the bellows.
 
+May be used for low beam energies from 5 AGeV gold-gold collisions
+at 100% MF and below.
diff --git a/pipe/pipe_v21e.geo.root b/pipe/pipe_v21e.geo.root
new file mode 100644
index 0000000000000000000000000000000000000000..86e89ea7ed3e3dc5f38f861c7a9442c61c0d6341
Binary files /dev/null and b/pipe/pipe_v21e.geo.root differ
diff --git a/pipe/pipe_v21f.geo.root b/pipe/pipe_v21f.geo.root
new file mode 100644
index 0000000000000000000000000000000000000000..3bebc600ddd9b3b015d2cd6f21a03028349f38c6
Binary files /dev/null and b/pipe/pipe_v21f.geo.root differ
diff --git a/pipe/pipe_v21g.geo.info b/pipe/pipe_v21g.geo.info
new file mode 100644
index 0000000000000000000000000000000000000000..5b815c8945b937034107e2332ca132930d62c499
--- /dev/null
+++ b/pipe/pipe_v21g.geo.info
@@ -0,0 +1,2 @@
+Created from macro of the same name
+in macro/pipes folder of this repository.
diff --git a/pipe/pipe_v21g.geo.root b/pipe/pipe_v21g.geo.root
new file mode 100644
index 0000000000000000000000000000000000000000..c5e2bbdbe82e446abea201ec4c5abc8b5ee80977
Binary files /dev/null and b/pipe/pipe_v21g.geo.root differ
diff --git a/pipe/pipe_v21h.geo.info b/pipe/pipe_v21h.geo.info
new file mode 100644
index 0000000000000000000000000000000000000000..b3faf1203b16b2809f63c8257cf33c91d2d12742
--- /dev/null
+++ b/pipe/pipe_v21h.geo.info
@@ -0,0 +1,4 @@
+created from macro of same name.
+
+Intended for simulation of 12 AGeV/c gold beam
+with 100% magnetic field.
diff --git a/pipe/pipe_v21h.geo.root b/pipe/pipe_v21h.geo.root
new file mode 100644
index 0000000000000000000000000000000000000000..2bcfe8afba26b6d44e3387a03ba50c7d52c42f99
Binary files /dev/null and b/pipe/pipe_v21h.geo.root differ