diff --git a/macro/mcbm/geometry/trd/Create_TRD_Geometry_v20a.C b/macro/mcbm/geometry/trd/Create_TRD_Geometry_v20a.C
index 6adc89138ce474988aa0c5171831c063439b2178..abfe2053648732530312a60c3976cb768e79cb3c 100644
--- a/macro/mcbm/geometry/trd/Create_TRD_Geometry_v20a.C
+++ b/macro/mcbm/geometry/trd/Create_TRD_Geometry_v20a.C
@@ -647,8 +647,8 @@ void Create_TRD_Geometry_v20a()
if (IncludeFieldVector) create_mag_field_vector();
gGeoMan->CloseGeometry();
- // gGeoMan->CheckOverlaps(0.001);
- // gGeoMan->PrintOverlaps();
+ gGeoMan->CheckOverlaps(0.001);
+ gGeoMan->PrintOverlaps();
gGeoMan->Test();
trd->Export(FileNameSim); // an alternative way of writing the trd volume
diff --git a/macro/mcbm/geometry/trd/Create_TRD_Geometry_v20b.C b/macro/mcbm/geometry/trd/Create_TRD_Geometry_v20b.C
index 87686284ac171c701cf2dc39a0d65a1127f07fdc..5ce8dce0cb4acd1fcf6adcd3964845178041c736 100644
--- a/macro/mcbm/geometry/trd/Create_TRD_Geometry_v20b.C
+++ b/macro/mcbm/geometry/trd/Create_TRD_Geometry_v20b.C
@@ -648,8 +648,8 @@ void Create_TRD_Geometry_v20b()
if (IncludeFieldVector) create_mag_field_vector();
gGeoMan->CloseGeometry();
- // gGeoMan->CheckOverlaps(0.001);
- // gGeoMan->PrintOverlaps();
+ gGeoMan->CheckOverlaps(0.001);
+ gGeoMan->PrintOverlaps();
gGeoMan->Test();
trd->Export(FileNameSim); // an alternative way of writing the trd volume
diff --git a/macro/mcbm/geometry/trd/Create_TRD_Geometry_v21a.C b/macro/mcbm/geometry/trd/Create_TRD_Geometry_v21a.C
index 38bd7c1b1733c9ef339a05f9c477803967d2f08d..732e48f90f4dd69aaeae93ee8ef369ad144ed9fa 100644
--- a/macro/mcbm/geometry/trd/Create_TRD_Geometry_v21a.C
+++ b/macro/mcbm/geometry/trd/Create_TRD_Geometry_v21a.C
@@ -652,8 +652,8 @@ void Create_TRD_Geometry_v21a()
if (IncludeFieldVector) create_mag_field_vector();
gGeoMan->CloseGeometry();
- // gGeoMan->CheckOverlaps(0.001);
- // gGeoMan->PrintOverlaps();
+ gGeoMan->CheckOverlaps(0.001);
+ gGeoMan->PrintOverlaps();
gGeoMan->Test();
trd->Export(FileNameSim); // an alternative way of writing the trd volume
diff --git a/macro/mcbm/geometry/trd/Create_TRD_Geometry_v21b.C b/macro/mcbm/geometry/trd/Create_TRD_Geometry_v21b.C
index 2a2368e671e7cdf8c53db190973d23810750dc93..d8bec3bfdce6775ac4eba26cea1264a7929aafe8 100644
--- a/macro/mcbm/geometry/trd/Create_TRD_Geometry_v21b.C
+++ b/macro/mcbm/geometry/trd/Create_TRD_Geometry_v21b.C
@@ -658,8 +658,8 @@ void Create_TRD_Geometry_v21b()
if (IncludeFieldVector) create_mag_field_vector();
gGeoMan->CloseGeometry();
- // gGeoMan->CheckOverlaps(0.001);
- // gGeoMan->PrintOverlaps();
+ gGeoMan->CheckOverlaps(0.001);
+ gGeoMan->PrintOverlaps();
gGeoMan->Test();
trd->Export(FileNameSim); // an alternative way of writing the trd volume
diff --git a/macro/mcbm/geometry/trd/Create_TRD_Geometry_v22a.C b/macro/mcbm/geometry/trd/Create_TRD_Geometry_v22a.C
index bcb56e8d3b2f26da972f3316c74c537886ae6809..204d10bbf28fb0da7e26b57f6022437a7bdd3820 100644
--- a/macro/mcbm/geometry/trd/Create_TRD_Geometry_v22a.C
+++ b/macro/mcbm/geometry/trd/Create_TRD_Geometry_v22a.C
@@ -512,8 +512,8 @@ Double_t asic_distance;
// in cm
const Double_t FrameWidth[4] = {1.5, 1.5, 2.5, 1.5}; // Width of detector frames in cm
// mini - production
-const Double_t DetectorSizeX[4] = {57., 95., 59.0, 23 + 3.}; // => 54 x 54 cm2 & 91 x 91 cm2 active area
-const Double_t DetectorSizeY[4] = {57., 95., 60.8, 8.16 + 3}; // quadratic modules
+const Double_t DetectorSizeX[4] = {57., 95., 59.0, 23.04 + 3.}; // => 54 x 54 cm2 & 91 x 91 cm2 active area
+const Double_t DetectorSizeY[4] = {57., 95., 60.8, 8.16 + 3.}; // quadratic modules
//// default
// const Double_t DetectorSizeX[2] = { 60., 100.}; // => 57 x 57 cm2 & 96 x 96
// cm2 active area
@@ -922,7 +922,7 @@ void dump_digi_file()
else
fprintf(ifile, " ");
- fprintf(ifile, "{ %.1f, %5.2f, %.1f/%3d, %5.2f }", ActiveAreaX[ModuleType[im]], HeightOfSector[im][is],
+ fprintf(ifile, "{ %.2f, %5.2f, %.2f/%3d, %5.2f }", ActiveAreaX[ModuleType[im]], HeightOfSector[im][is],
ActiveAreaX[ModuleType[im]], NofPadsInRow[ModuleType[im]], PadHeightInSector[im][is]);
if ((im == NofModuleTypes - 1) && (is == 2)) fprintf(ifile, " } };");
@@ -2465,7 +2465,7 @@ TGeoVolume* create_trd2d_module_type(Int_t moduleType)
const Double_t pp_pcb_thickness = 0.0360;
const Double_t pp_hc_thickness = 0.2;
const Double_t pp_c_thickness = 0.05;
- const Double_t pp_thickness = /*pp_pads_thickness + */ pp_pcb_thickness + pp_hc_thickness + pp_c_thickness;
+ const Double_t pp_thickness = pp_pads_thickness + pp_pcb_thickness + pp_hc_thickness + pp_c_thickness;
if (IncludePadplane) {
const Char_t* ppn = (detTypeIdx == 2 ? "pp" : "pph");
Info("create_trd2d_module_type", "make pad-plane ...");
@@ -2499,10 +2499,12 @@ TGeoVolume* create_trd2d_module_type(Int_t moduleType)
// Add up all components
TGeoVolumeAssembly* vol_pp = new TGeoVolumeAssembly("PadPlane");
- vol_pp->AddNode(vol_trd_pp, 1, new TGeoTranslation("", 0., 0., -pp_thickness / 2 - pp_pads_thickness / 2));
- vol_pp->AddNode(vol_trd_ppPCB, 1, new TGeoTranslation("", 0., 0., -pp_thickness / 2 + pp_pcb_thickness / 2));
- vol_pp->AddNode(vol_trd_ppHC, 1,
- new TGeoTranslation("", 0., 0., -pp_thickness / 2 + pp_pcb_thickness + pp_hc_thickness / 2));
+ vol_pp->AddNode(vol_trd_pp, 1, new TGeoTranslation("", 0., 0., -pp_thickness / 2 + pp_pads_thickness / 2));
+ vol_pp->AddNode(vol_trd_ppPCB, 1,
+ new TGeoTranslation("", 0., 0., -pp_thickness / 2 + pp_pads_thickness + pp_pcb_thickness / 2));
+ vol_pp->AddNode(
+ vol_trd_ppHC, 1,
+ new TGeoTranslation("", 0., 0., -pp_thickness / 2 + pp_pads_thickness + pp_pcb_thickness + pp_hc_thickness / 2));
vol_pp->AddNode(vol_trd_ppC, 1, new TGeoTranslation("", 0., 0., pp_thickness / 2 - pp_c_thickness / 2));
module->AddNode(vol_pp, 1,
new TGeoTranslation("", 0., 0., gasBu_position + gas_thickness / 2. + pp_thickness / 2.));
@@ -2574,28 +2576,30 @@ TGeoVolume* create_trd2d_module_type(Int_t moduleType)
// y direction
TGeoBBox* frame_al_y0 = new TGeoBBox("frame_al_y0", 0.4 / 2., (sizeY - 1.4) / 2., 1.8 / 2.);
TGeoVolume* vol_frame_al_y0 = new TGeoVolume("vol_frame_al_y0", frame_al_y0, aluminiumVolMed);
- trd_gas_frame->AddNode(vol_frame_al_y0, 1, new TGeoTranslation("", -0.5 * (sizeX + 0.2) + 1.1, 0, -1));
- trd_gas_frame->AddNode(vol_frame_al_y0, 2, new TGeoTranslation("", +0.5 * (sizeX + 0.2) - 1.1, 0, -1));
+ trd_gas_frame->AddNode(vol_frame_al_y0, 1, new TGeoTranslation("", -0.5 * sizeX + 1, 0, -1.));
+ trd_gas_frame->AddNode(vol_frame_al_y0, 2, new TGeoTranslation("", +0.5 * sizeX - 1, 0, -1.));
//
TGeoBBox* frame_al_y1 = new TGeoBBox("frame_al_y1", 2.5 / 2., (sizeY - 1.4) / 2., 0.4 / 2.);
TGeoVolume* vol_frame_al_y1 = new TGeoVolume("vol_frame_al_y1", frame_al_y1, aluminiumVolMed);
- trd_gas_frame->AddNode(vol_frame_al_y1, 1, new TGeoTranslation("", -0.5 * sizeX - 0.4, 0, -0.3));
- trd_gas_frame->AddNode(vol_frame_al_y1, 2, new TGeoTranslation("", +0.5 * sizeX + 0.4, 0, -0.3));
+ trd_gas_frame->AddNode(vol_frame_al_y1, 1, new TGeoTranslation("", -0.5 * sizeX + 1 - 2.5 + 1.05, 0, -0.3));
+ trd_gas_frame->AddNode(vol_frame_al_y1, 2, new TGeoTranslation("", +0.5 * sizeX - 1 + 2.5 - 1.05, 0, -0.3));
// connector to frame
TGeoBBox* frame_al_y2 = new TGeoBBox("frame_al_y2", 2.5 / 2., (sizeY + 5) / 2., 0.8 / 2.);
TGeoVolume* vol_frame_al_y2 = new TGeoVolume("vol_frame_al_y2", frame_al_y2, aluminiumVolMed);
- trd_gas_frame->AddNode(vol_frame_al_y2, 1, new TGeoTranslation("", -0.5 * sizeX - 0.4, 0, -0.9));
- trd_gas_frame->AddNode(vol_frame_al_y2, 2, new TGeoTranslation("", +0.5 * sizeX + 0.4, 0, -0.9));
+ trd_gas_frame->AddNode(vol_frame_al_y2, 1, new TGeoTranslation("", -0.5 * sizeX - 0.45, 0, -0.9));
+ trd_gas_frame->AddNode(vol_frame_al_y2, 2, new TGeoTranslation("", +0.5 * sizeX + 0.45, 0, -0.9));
+
// x direction
- TGeoBBox* frame_al_x0 = new TGeoBBox("frame_al_x0", (sizeX - 2.4) / 2., 0.3 / 2, 2.5 / 2.);
+ sizeY = 58.2; // dirty fix for the TRD-2D @ mCBM 21
+ TGeoBBox* frame_al_x0 = new TGeoBBox("frame_al_x0", (sizeX - 2.4) / 2., 0.4 / 2, 2.5 / 2.);
TGeoVolume* vol_frame_al_x0 = new TGeoVolume("vol_frame_al_x0", frame_al_x0, aluminiumVolMed);
- trd_gas_frame->AddNode(vol_frame_al_x0, 1, new TGeoTranslation("", 0, -0.5 * (sizeY + 0.15) + 1.2, 0));
- trd_gas_frame->AddNode(vol_frame_al_x0, 2, new TGeoTranslation("", 0, +0.5 * (sizeY + 0.15) - 1.2, 0));
+ trd_gas_frame->AddNode(vol_frame_al_x0, 1, new TGeoTranslation("", 0, -0.5 * (sizeY + 0.4), 0));
+ trd_gas_frame->AddNode(vol_frame_al_x0, 2, new TGeoTranslation("", 0, +0.5 * (sizeY + 0.4), 0));
// ====
- TGeoBBox* frame_al_x1 = new TGeoBBox("frame_al_x1", (sizeX - 2.4) / 2., 0.3 / 2, 2.5 / 2.);
+ TGeoBBox* frame_al_x1 = new TGeoBBox("frame_al_x1", (sizeX - 2.4) / 2., 2.5 / 2., 0.4 / 2);
TGeoVolume* vol_frame_al_x1 = new TGeoVolume("vol_frame_al_x1", frame_al_x1, aluminiumVolMed);
- trd_gas_frame->AddNode(vol_frame_al_x1, 1, new TGeoTranslation("", 0, -0.5 * (sizeY + 0.15) + 1.2, -0.5));
- trd_gas_frame->AddNode(vol_frame_al_x1, 2, new TGeoTranslation("", 0, +0.5 * (sizeY + 0.15) - 1.2, -0.5));
+ trd_gas_frame->AddNode(vol_frame_al_x1, 1, new TGeoTranslation("", 0, -0.5 * (sizeY + 2.5), -0.5 * (2.5 + 0.4)));
+ trd_gas_frame->AddNode(vol_frame_al_x1, 2, new TGeoTranslation("", 0, +0.5 * (sizeY + 2.5), -0.5 * (2.5 + 0.4)));
}
module->AddNode(trd_gas_frame, 1, new TGeoTranslation("", 0., 0., gasBu_position));
@@ -2793,7 +2797,7 @@ TGeoVolume* create_trd2d_module_type(Int_t moduleType)
new TGeoTranslation("", 0, fasp_yoffset, GETS_zpos + 0.5 * GETS_thickness + 0.5 * fpga_size[2]));
}
// supports for electronics
- TGeoBBox* faspro_fy = new TGeoBBox("faspro_fy", 0.4 / 2, 0.5 + 0.5 * activeAreaY, 0.5 * FASPRO_zspace);
+ TGeoBBox* faspro_fy = new TGeoBBox("faspro_fy", 0.4 / 2, 0.5 + 0.5 * activeAreaY, 0.5 * (FASPRO_zspace - 0.2));
TGeoVolume* vol_faspro_fy = new TGeoVolume("faspro_fy", faspro_fy, frameVolMed);
vol_faspro_fy->SetLineColor(kViolet + 2); // vol_faspro_fy->SetTransparency(50);
@@ -2804,7 +2808,7 @@ TGeoVolume* create_trd2d_module_type(Int_t moduleType)
for (Int_t iFeb(0); cFeb < 2; cFeb++) {
vol_feb->AddNode(vol_faspro_fy, cFeb + 1,
new TGeoTranslation("", (cFeb - 0.5) * (FASPRO_length + FASPRO_dx) - FASPRO_length / 3, 0.,
- -0.5 * (FASPRO_thickness + FASPRO_zspace)));
+ -0.5 * (FASPRO_thickness + FASPRO_zspace) + 0.05));
for (Int_t rFeb(1); rFeb < 5; rFeb++) {
// the upper side ...
// vol_feb->AddNode(faspro, iFeb++,
@@ -2825,7 +2829,7 @@ TGeoVolume* create_trd2d_module_type(Int_t moduleType)
TGeoRotation* faspro_rot = new TGeoRotation("faspro_rot");
faspro_rot->RotateX(180.);
faspro_rot->RegisterYourself();
- TGeoTranslation* faspro_pos = new TGeoTranslation("", -4, 1.5 * FASPRO_width, -FASPRO_zspace);
+ TGeoTranslation* faspro_pos = new TGeoTranslation("", -4, 1.5 * FASPRO_width + 0.5, -FASPRO_zspace);
TGeoHMatrix* faspro_mx = new TGeoHMatrix("");
(*faspro_mx) = (*faspro_pos) * (*faspro_rot);
vol_feb->AddNode(faspro, 5, faspro_mx);
diff --git a/macro/mcbm/geometry/trd/Create_TRD_Geometry_v22b.C b/macro/mcbm/geometry/trd/Create_TRD_Geometry_v22b.C
index 9f1c38afb8e1c58524333238dd18f2741cefb961..810262af8f1b9cc5fe1d854463cd4348cd8dabf1 100644
--- a/macro/mcbm/geometry/trd/Create_TRD_Geometry_v22b.C
+++ b/macro/mcbm/geometry/trd/Create_TRD_Geometry_v22b.C
@@ -512,8 +512,8 @@ Double_t asic_distance;
// in cm
const Double_t FrameWidth[4] = {1.5, 1.5, 2.5, 1.5}; // Width of detector frames in cm
// mini - production
-const Double_t DetectorSizeX[4] = {57., 95., 59.0, 23 + 3.}; // => 54 x 54 cm2 & 91 x 91 cm2 active area
-const Double_t DetectorSizeY[4] = {57., 95., 60.8, 8.16 + 3}; // quadratic modules
+const Double_t DetectorSizeX[4] = {57., 95., 59.0, 23.04 + 3.}; // => 54 x 54 cm2 & 91 x 91 cm2 active area
+const Double_t DetectorSizeY[4] = {57., 95., 60.8, 8.16 + 3.}; // quadratic modules
//// default
// const Double_t DetectorSizeX[2] = { 60., 100.}; // => 57 x 57 cm2 & 96 x 96
// cm2 active area
@@ -922,7 +922,7 @@ void dump_digi_file()
else
fprintf(ifile, " ");
- fprintf(ifile, "{ %.1f, %5.2f, %.1f/%3d, %5.2f }", ActiveAreaX[ModuleType[im]], HeightOfSector[im][is],
+ fprintf(ifile, "{ %.2f, %5.2f, %.2f/%3d, %5.2f }", ActiveAreaX[ModuleType[im]], HeightOfSector[im][is],
ActiveAreaX[ModuleType[im]], NofPadsInRow[ModuleType[im]], PadHeightInSector[im][is]);
if ((im == NofModuleTypes - 1) && (is == 2)) fprintf(ifile, " } };");
@@ -2465,7 +2465,7 @@ TGeoVolume* create_trd2d_module_type(Int_t moduleType)
const Double_t pp_pcb_thickness = 0.0360;
const Double_t pp_hc_thickness = 0.2;
const Double_t pp_c_thickness = 0.05;
- const Double_t pp_thickness = /*pp_pads_thickness + */ pp_pcb_thickness + pp_hc_thickness + pp_c_thickness;
+ const Double_t pp_thickness = pp_pads_thickness + pp_pcb_thickness + pp_hc_thickness + pp_c_thickness;
if (IncludePadplane) {
const Char_t* ppn = (detTypeIdx == 2 ? "pp" : "pph");
Info("create_trd2d_module_type", "make pad-plane ...");
@@ -2499,10 +2499,12 @@ TGeoVolume* create_trd2d_module_type(Int_t moduleType)
// Add up all components
TGeoVolumeAssembly* vol_pp = new TGeoVolumeAssembly("PadPlane");
- vol_pp->AddNode(vol_trd_pp, 1, new TGeoTranslation("", 0., 0., -pp_thickness / 2 - pp_pads_thickness / 2));
- vol_pp->AddNode(vol_trd_ppPCB, 1, new TGeoTranslation("", 0., 0., -pp_thickness / 2 + pp_pcb_thickness / 2));
- vol_pp->AddNode(vol_trd_ppHC, 1,
- new TGeoTranslation("", 0., 0., -pp_thickness / 2 + pp_pcb_thickness + pp_hc_thickness / 2));
+ vol_pp->AddNode(vol_trd_pp, 1, new TGeoTranslation("", 0., 0., -pp_thickness / 2 + pp_pads_thickness / 2));
+ vol_pp->AddNode(vol_trd_ppPCB, 1,
+ new TGeoTranslation("", 0., 0., -pp_thickness / 2 + pp_pads_thickness + pp_pcb_thickness / 2));
+ vol_pp->AddNode(
+ vol_trd_ppHC, 1,
+ new TGeoTranslation("", 0., 0., -pp_thickness / 2 + pp_pads_thickness + pp_pcb_thickness + pp_hc_thickness / 2));
vol_pp->AddNode(vol_trd_ppC, 1, new TGeoTranslation("", 0., 0., pp_thickness / 2 - pp_c_thickness / 2));
module->AddNode(vol_pp, 1,
new TGeoTranslation("", 0., 0., gasBu_position + gas_thickness / 2. + pp_thickness / 2.));
@@ -2574,28 +2576,30 @@ TGeoVolume* create_trd2d_module_type(Int_t moduleType)
// y direction
TGeoBBox* frame_al_y0 = new TGeoBBox("frame_al_y0", 0.4 / 2., (sizeY - 1.4) / 2., 1.8 / 2.);
TGeoVolume* vol_frame_al_y0 = new TGeoVolume("vol_frame_al_y0", frame_al_y0, aluminiumVolMed);
- trd_gas_frame->AddNode(vol_frame_al_y0, 1, new TGeoTranslation("", -0.5 * (sizeX + 0.2) + 1.1, 0, -1));
- trd_gas_frame->AddNode(vol_frame_al_y0, 2, new TGeoTranslation("", +0.5 * (sizeX + 0.2) - 1.1, 0, -1));
+ trd_gas_frame->AddNode(vol_frame_al_y0, 1, new TGeoTranslation("", -0.5 * sizeX + 1, 0, -1.));
+ trd_gas_frame->AddNode(vol_frame_al_y0, 2, new TGeoTranslation("", +0.5 * sizeX - 1, 0, -1.));
//
TGeoBBox* frame_al_y1 = new TGeoBBox("frame_al_y1", 2.5 / 2., (sizeY - 1.4) / 2., 0.4 / 2.);
TGeoVolume* vol_frame_al_y1 = new TGeoVolume("vol_frame_al_y1", frame_al_y1, aluminiumVolMed);
- trd_gas_frame->AddNode(vol_frame_al_y1, 1, new TGeoTranslation("", -0.5 * sizeX - 0.4, 0, -0.3));
- trd_gas_frame->AddNode(vol_frame_al_y1, 2, new TGeoTranslation("", +0.5 * sizeX + 0.4, 0, -0.3));
+ trd_gas_frame->AddNode(vol_frame_al_y1, 1, new TGeoTranslation("", -0.5 * sizeX + 1 - 2.5 + 1.05, 0, -0.3));
+ trd_gas_frame->AddNode(vol_frame_al_y1, 2, new TGeoTranslation("", +0.5 * sizeX - 1 + 2.5 - 1.05, 0, -0.3));
// connector to frame
TGeoBBox* frame_al_y2 = new TGeoBBox("frame_al_y2", 2.5 / 2., (sizeY + 5) / 2., 0.8 / 2.);
TGeoVolume* vol_frame_al_y2 = new TGeoVolume("vol_frame_al_y2", frame_al_y2, aluminiumVolMed);
- trd_gas_frame->AddNode(vol_frame_al_y2, 1, new TGeoTranslation("", -0.5 * sizeX - 0.4, 0, -0.9));
- trd_gas_frame->AddNode(vol_frame_al_y2, 2, new TGeoTranslation("", +0.5 * sizeX + 0.4, 0, -0.9));
+ trd_gas_frame->AddNode(vol_frame_al_y2, 1, new TGeoTranslation("", -0.5 * sizeX - 0.45, 0, -0.9));
+ trd_gas_frame->AddNode(vol_frame_al_y2, 2, new TGeoTranslation("", +0.5 * sizeX + 0.45, 0, -0.9));
+
// x direction
- TGeoBBox* frame_al_x0 = new TGeoBBox("frame_al_x0", (sizeX - 2.4) / 2., 0.3 / 2, 2.5 / 2.);
+ sizeY = 58.2; // dirty fix for the TRD-2D @ mCBM 21
+ TGeoBBox* frame_al_x0 = new TGeoBBox("frame_al_x0", (sizeX - 2.4) / 2., 0.4 / 2, 2.5 / 2.);
TGeoVolume* vol_frame_al_x0 = new TGeoVolume("vol_frame_al_x0", frame_al_x0, aluminiumVolMed);
- trd_gas_frame->AddNode(vol_frame_al_x0, 1, new TGeoTranslation("", 0, -0.5 * (sizeY + 0.15) + 1.2, 0));
- trd_gas_frame->AddNode(vol_frame_al_x0, 2, new TGeoTranslation("", 0, +0.5 * (sizeY + 0.15) - 1.2, 0));
+ trd_gas_frame->AddNode(vol_frame_al_x0, 1, new TGeoTranslation("", 0, -0.5 * (sizeY + 0.4), 0));
+ trd_gas_frame->AddNode(vol_frame_al_x0, 2, new TGeoTranslation("", 0, +0.5 * (sizeY + 0.4), 0));
// ====
- TGeoBBox* frame_al_x1 = new TGeoBBox("frame_al_x1", (sizeX - 2.4) / 2., 0.3 / 2, 2.5 / 2.);
+ TGeoBBox* frame_al_x1 = new TGeoBBox("frame_al_x1", (sizeX - 2.4) / 2., 2.5 / 2., 0.4 / 2);
TGeoVolume* vol_frame_al_x1 = new TGeoVolume("vol_frame_al_x1", frame_al_x1, aluminiumVolMed);
- trd_gas_frame->AddNode(vol_frame_al_x1, 1, new TGeoTranslation("", 0, -0.5 * (sizeY + 0.15) + 1.2, -0.5));
- trd_gas_frame->AddNode(vol_frame_al_x1, 2, new TGeoTranslation("", 0, +0.5 * (sizeY + 0.15) - 1.2, -0.5));
+ trd_gas_frame->AddNode(vol_frame_al_x1, 1, new TGeoTranslation("", 0, -0.5 * (sizeY + 2.5), -0.5 * (2.5 + 0.4)));
+ trd_gas_frame->AddNode(vol_frame_al_x1, 2, new TGeoTranslation("", 0, +0.5 * (sizeY + 2.5), -0.5 * (2.5 + 0.4)));
}
module->AddNode(trd_gas_frame, 1, new TGeoTranslation("", 0., 0., gasBu_position));
@@ -2793,7 +2797,7 @@ TGeoVolume* create_trd2d_module_type(Int_t moduleType)
new TGeoTranslation("", 0, fasp_yoffset, GETS_zpos + 0.5 * GETS_thickness + 0.5 * fpga_size[2]));
}
// supports for electronics
- TGeoBBox* faspro_fy = new TGeoBBox("faspro_fy", 0.4 / 2, 0.5 + 0.5 * activeAreaY, 0.5 * FASPRO_zspace);
+ TGeoBBox* faspro_fy = new TGeoBBox("faspro_fy", 0.4 / 2, 0.5 + 0.5 * activeAreaY, 0.5 * (FASPRO_zspace - 0.2));
TGeoVolume* vol_faspro_fy = new TGeoVolume("faspro_fy", faspro_fy, frameVolMed);
vol_faspro_fy->SetLineColor(kViolet + 2); // vol_faspro_fy->SetTransparency(50);
@@ -2804,7 +2808,7 @@ TGeoVolume* create_trd2d_module_type(Int_t moduleType)
for (Int_t iFeb(0); cFeb < 2; cFeb++) {
vol_feb->AddNode(vol_faspro_fy, cFeb + 1,
new TGeoTranslation("", (cFeb - 0.5) * (FASPRO_length + FASPRO_dx) - FASPRO_length / 3, 0.,
- -0.5 * (FASPRO_thickness + FASPRO_zspace)));
+ -0.5 * (FASPRO_thickness + FASPRO_zspace) + 0.05));
for (Int_t rFeb(1); rFeb < 5; rFeb++) {
// the upper side ...
// vol_feb->AddNode(faspro, iFeb++,
@@ -2825,7 +2829,7 @@ TGeoVolume* create_trd2d_module_type(Int_t moduleType)
TGeoRotation* faspro_rot = new TGeoRotation("faspro_rot");
faspro_rot->RotateX(180.);
faspro_rot->RegisterYourself();
- TGeoTranslation* faspro_pos = new TGeoTranslation("", -4, 1.5 * FASPRO_width, -FASPRO_zspace);
+ TGeoTranslation* faspro_pos = new TGeoTranslation("", -4, 1.5 * FASPRO_width + 0.5, -FASPRO_zspace);
TGeoHMatrix* faspro_mx = new TGeoHMatrix("");
(*faspro_mx) = (*faspro_pos) * (*faspro_rot);
vol_feb->AddNode(faspro, 5, faspro_mx);