5 TString gPathConfig = gSystem->Getenv(
"VMCWORKDIR");
7 fSILICON =
new BmnSiliconStationSet(gPathConfig +
"/parameters/silicon/XMLConfigs/SiliconRunSpring2018.xml");
11 CreateBordersSilicon();
22void BmnInnerTrackerGeometryDraw::CreateBordersGem() {
23 const Int_t nMods = 2;
24 const Int_t nLayers = 4;
30 for (Int_t iStat = 0; iStat < fGEM->
GetNStations(); iStat++) {
31 gemModBoxes[iStat] =
new TBox*[nMods];
32 gemLayBoxes[iStat] =
new TBox**[nMods];
33 gemDeadZones[iStat] =
new TPolyLine**[nMods];
35 for (Int_t iMod = 0; iMod < fGEM->
GetStation(iStat)->GetNModules(); iMod++) {
43 gemModBoxes[iStat][iMod] =
new TBox(xmin, ymin, xmax, ymax);
44 gemLayBoxes[iStat][iMod] =
new TBox*[nLayers];
45 gemDeadZones[iStat][iMod] =
new TPolyLine*[nLayers];
47 gemModBoxes[iStat][iMod]->SetLineColorAlpha(TColor::GetColor(
"#009900"), 0.3);
48 gemModBoxes[iStat][iMod]->SetLineStyle(1);
49 gemModBoxes[iStat][iMod]->SetLineWidth(1);
51 gemModBoxes[iStat][iMod]->SetFillColorAlpha(TColor::GetColor(
"#cccccc"), 0.3);
52 gemModBoxes[iStat][iMod]->SetFillStyle(0);
54 for (Int_t iLayer = 0; iLayer < fGEM->
GetStation(iStat)->GetModule(iMod)->GetNStripLayers(); iLayer++) {
58 vector <DeadZoneOfStripLayer> DeadZones = layer.
GetDeadZones();
59 Int_t NDeadZones = DeadZones.size();
61 gemDeadZones[iStat][iMod][iLayer] =
new TPolyLine[NDeadZones];
62 gemDeadZones[iStat][iMod][iLayer]->SetFillStyle(0);
64 for (Int_t iZone = 0; iZone < NDeadZones; ++iZone) {
67 for (Int_t ipoint = 0; ipoint < dead_zone.
GetNPoints(); ++ipoint) {
68 Double_t x = -dead_zone.
GetXPoint(ipoint);
70 gemDeadZones[iStat][iMod][iLayer][iZone].SetNextPoint(x, y);
72 gemDeadZones[iStat][iMod][iLayer][iZone].SetNextPoint(dead_zone.
GetXPoint(0), dead_zone.
GetYPoint(0));
82 gemLayBoxes[iStat][iMod][iLayer] =
new TBox(xminL, yminL, xmaxL, ymaxL);
83 gemLayBoxes[iStat][iMod][iLayer]->SetLineColorAlpha(TColor::GetColor(
"#009900"), 0.3);
84 gemLayBoxes[iStat][iMod][iLayer]->SetLineStyle(1);
85 gemLayBoxes[iStat][iMod][iLayer]->SetLineWidth(1);
87 gemLayBoxes[iStat][iMod][iLayer]->SetFillColorAlpha(TColor::GetColor(
"#cccccc"), 0.3);
88 gemLayBoxes[iStat][iMod][iLayer]->SetFillStyle(0);
94void BmnInnerTrackerGeometryDraw::CreateBordersSilicon() {
95 const Int_t nMods = 8;
96 const Int_t nLayers = 4;
100 siliconDeadZones =
new TPolyLine***[fSILICON->
GetNStations()];
102 for (Int_t iStat = 0; iStat < fSILICON->
GetNStations(); iStat++) {
103 siliconModBoxes[iStat] =
new TBox*[nMods];
104 siliconLayBoxes[iStat] =
new TBox**[nMods];
105 siliconDeadZones[iStat] =
new TPolyLine**[nMods];
107 for (Int_t iMod = 0; iMod < fSILICON->
GetStation(iStat)->GetNModules(); iMod++) {
115 siliconModBoxes[iStat][iMod] =
new TBox(xmin, ymin, xmax, ymax);
116 siliconLayBoxes[iStat][iMod] =
new TBox*[nLayers];
117 siliconDeadZones[iStat][iMod] =
new TPolyLine*[nLayers];
119 siliconModBoxes[iStat][iMod] =
new TBox(xmin, ymin, xmax, ymax);
120 siliconModBoxes[iStat][iMod]->SetLineColorAlpha(TColor::GetColor(
"#009900"), 0.3);
121 siliconModBoxes[iStat][iMod]->SetLineStyle(1);
122 siliconModBoxes[iStat][iMod]->SetLineWidth(1);
124 siliconModBoxes[iStat][iMod]->SetFillColorAlpha(TColor::GetColor(
"#cccccc"), 0.3);
125 siliconModBoxes[iStat][iMod]->SetFillStyle(0);
127 for (Int_t iLayer = 0; iLayer < fSILICON->
GetStation(iStat)->GetModule(iMod)->GetNStripLayers(); iLayer++) {
131 vector <DeadZoneOfStripLayer> DeadZones = layer.
GetDeadZones();
132 Int_t NDeadZones = DeadZones.size();
134 siliconDeadZones[iStat][iMod][iLayer] =
new TPolyLine[NDeadZones];
135 if (iStat == 2 && iMod == 7 && (iLayer == 0 || iLayer == 2))
136 siliconDeadZones[iStat][iMod][iLayer]->SetFillStyle(0);
138 for (Int_t iZone = 0; iZone < NDeadZones; ++iZone) {
141 for (Int_t ipoint = 0; ipoint < dead_zone.
GetNPoints(); ++ipoint) {
142 Double_t x = -dead_zone.
GetXPoint(ipoint);
143 Double_t y = dead_zone.
GetYPoint(ipoint);
144 siliconDeadZones[iStat][iMod][iLayer][iZone].SetNextPoint(x, y);
146 siliconDeadZones[iStat][iMod][iLayer][iZone].SetNextPoint(dead_zone.
GetXPoint(0), dead_zone.
GetYPoint(0));
156 siliconLayBoxes[iStat][iMod][iLayer] =
new TBox(xminL, yminL, xmaxL, ymaxL);
157 siliconLayBoxes[iStat][iMod][iLayer]->SetLineColorAlpha(TColor::GetColor(
"#009900"), 0.3);
158 siliconLayBoxes[iStat][iMod][iLayer]->SetLineStyle(1);
159 siliconLayBoxes[iStat][iMod][iLayer]->SetLineWidth(1);
160 siliconLayBoxes[iStat][iMod][iLayer]->SetFillColorAlpha(TColor::GetColor(
"#cccccc"), 0.3);
161 siliconLayBoxes[iStat][iMod][iLayer]->SetFillStyle(0);
vector< DeadZoneOfStripLayer > GetDeadZones()
BmnGemStripLayer & GetStripLayer(Int_t num)
BmnGemStripStation * GetStation(Int_t station_num)
BmnGemStripModule * GetModule(Int_t module_num)
BmnInnerTrackerGeometryDraw()
virtual ~BmnInnerTrackerGeometryDraw()
vector< DeadZoneOfStripLayer > GetDeadZones()
BmnSiliconLayer & GetStripLayer(Int_t num)
BmnSiliconStation * GetStation(Int_t station_num)
BmnSiliconModule * GetModule(Int_t module_num)
Double_t GetXPoint(Int_t index)
Double_t GetYPoint(Int_t index)