From 8ee3bc90f50940aab73179cd7a6a1c158e4b1108 Mon Sep 17 00:00:00 2001
From: Eoin Clerkin <e.clerkin@gsi.de>
Date: Wed, 27 Nov 2024 18:32:58 +0000
Subject: [PATCH] CFV MVD

MVD version with only two stations in the most upstream and most downstream positions.
---
 macro/mvd/fair/Create_MVD.C |  37 +++++++++++++++++++++++++++---------
 mvd/mvd_v24a.geo.info       |   6 ++++++
 mvd/mvd_v24a.geo.root       | Bin 0 -> 9153 bytes
 3 files changed, 34 insertions(+), 9 deletions(-)
 create mode 100644 mvd/mvd_v24a.geo.info
 create mode 100644 mvd/mvd_v24a.geo.root

diff --git a/macro/mvd/fair/Create_MVD.C b/macro/mvd/fair/Create_MVD.C
index 96be227..417c2fc 100644
--- a/macro/mvd/fair/Create_MVD.C
+++ b/macro/mvd/fair/Create_MVD.C
@@ -1,6 +1,6 @@
-/* Copyright (C) 2020 Institut fuer Kernphysik, Goethe-Universitaet Frankfurt
+/* Copyright (C) 2020-2024 Institut fuer Kernphysik, Goethe-Universitaet Frankfurt
    SPDX-License-Identifier: GPL-3.0-only
-   Authors: Phillip Klaus [committer] */
+   Authors: Phillip Klaus [committer], Eoin Clerkin */
 
 /*
  * ROOT Macro to create the geometry of the Micro Vertex Detector
@@ -22,7 +22,7 @@
  * Parameters defining the MVD
  */
 
-static const int numStations = 4;
+static const int numStations = 2;
 // all units are in cm
 // Float_t quadrantBeamOffset[4] = {0.54, 0.54, 0.82, 1.04};
 Float_t carrierClampOverlap = 0.0;
@@ -49,6 +49,7 @@ Float_t sensorDimensionsPassive[3] = {3.097, 0.300, 0.005};
 // 2*1.355-(2-1)*0.05+0.3+1.9+0.1
 
 /* MIMOSIS-based tr (tracking) variant (general purpose tracking variant) */
+/* Commented out for TwoStation Generation
 Float_t stationPosition[4] = {4.0, 8.0, 12.0, 16.0};
 int sensorRows[4] = {4, 4, 7, 7};
 int sensorCols[4] = {2, 2, 4, 4};
@@ -59,6 +60,18 @@ Float_t carrierDimensions[4][3] = {{7.19, 7.57, 0.038},
                                    {13.39, 11.485, 0.038},
                                    {13.39, 11.485, 0.038}};
 int carrierMaterials[4] = {1, 1, 1, 1}; // 0 = diamond, 1 = TPG
+*/
+
+Float_t stationPosition[2] = {4.0, 16.0};
+int sensorRows[4] = {4, 4, 7, 7};
+int sensorCols[4] = {2, 2, 4, 4};
+Float_t heatsinkWidth[4] = {31.1, 31.1, 37.7, 37.7};
+Float_t quadrantBeamOffset[4] = {0.54, 0.54, 1.04, 1.04};
+Float_t carrierDimensions[2][3] = {{7.19, 7.57, 0.038},
+                                   {13.39, 11.485, 0.038}};
+int carrierMaterials[2] = {1, 1}; // 0 = diamond, 1 = TPG
+
+
 
 /* MIMOSIS-based vx (vertexing) variant (dedicated vertexing variant) */
 /*
@@ -112,7 +125,7 @@ void Create_MVD() {
 
   manager->SetTopVolume(top);
 
-  TGeoVolume *mvd = new TGeoVolumeAssembly("MVDscripted");
+  TGeoVolume *mvd = new TGeoVolumeAssembly("TwoStation");
 
   TGeoVolume *sensorActive = manager->MakeBox(
       "sensorActive", silicon, sensorDimensionsActive[0] / 2,
@@ -382,7 +395,7 @@ void Create_MVD() {
   // TGeoVolume *target = manager->MakeBox("target", silicon, 0.5, 0.5, 0.05);
   // mvd->AddNode(target, 1);
 
-  top->AddNode(mvd, 1);
+  top->AddNode(mvd, 2, new TGeoTranslation(0,0,-40));
   // Standard checks, to be executed at least before submitting a new geo
   manager->CloseGeometry();
   manager->CheckOverlaps(0.001, "s");
@@ -391,14 +404,20 @@ void Create_MVD() {
   quadrant->CheckOverlaps(0.001, "s");
   manager->CheckGeometryFull();
   // done with standard checks
-  top->Export("mvd.root");
+
+  // Open a file for writing a reporoducible format
+  TFile *outfile = new TFile("mvd_v24a.geo.root?reproducible", "RECREATE");
+  top->Write();  // Write top volume
+
   // Also add transformation matrix to place in space:
-  TGeoTranslation *mvd_trans = new TGeoTranslation("", 0., 0., 0);
+  TGeoTranslation *mvd_trans = new TGeoTranslation("", 0., 0., 0.0);
   TGeoRotation *mvd_rot = new TGeoRotation();
   TGeoCombiTrans *mvd_combi_trans = new TGeoCombiTrans(*mvd_trans, *mvd_rot);
-  TFile *outfile = new TFile("mvd.root", "UPDATE");
-  mvd_combi_trans->Write();
+  //mvd_combi_trans->Write("trans");
+
   outfile->Close();
+
+
   mvd->Draw("ogl");
   // station->Draw("ogl");
   // quadrant->Draw("ogl");
diff --git a/mvd/mvd_v24a.geo.info b/mvd/mvd_v24a.geo.info
new file mode 100644
index 0000000..18f760f
--- /dev/null
+++ b/mvd/mvd_v24a.geo.info
@@ -0,0 +1,6 @@
+Reduced Start Version MVD
+with two stations
+
+Created from included Create_MVD.C
+
+
diff --git a/mvd/mvd_v24a.geo.root b/mvd/mvd_v24a.geo.root
new file mode 100644
index 0000000000000000000000000000000000000000..ab12a54da4d0908d5461a25b30f9e1657e39bf3c
GIT binary patch
literal 9153
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
Kz=J&*@IL^#BS$*`

literal 0
HcmV?d00001

-- 
GitLab