ROOT logo
#include <iomanip>

void 
PrintOne(Char_t r)
{
  AliFMDRing* ring = AliFMDGeometry::Instance()->GetRing(r);
  if (!ring) { 
    std::cerr << "Ring " << r << " not found" << std::endl;
    return;
  }
  const TObjArray& vertices = ring->GetVerticies();
  Double_t x[] = { -1, -1, -1, -1, -1, -1 };
  Double_t y[] = { -1, -1, -1, -1, -1, -1 };
  for (int i = 1; i < 4; i++) { 
    TVector2* v = static_cast<TVector2*>(vertices.At(i));
    int       j = i-1;
    x[j]        = v->X();
    y[j]        = v->Y();
  }
  for (int i = 3; i > 0; i--) { 
    TVector2* v= static_cast<TVector2*>(vertices.At(i));
    int       j = 3+(3-i);
    x[j]        = -v->X();
    y[j]        = v->Y();
  }
  std::cout << "  Double_t r" << r << "[][2] = { ";
  TGraph* g = new TGraph(7);
  g->SetFillColor(kGray);
  g->SetFillStyle(3001);
  for (int i = 0; i < 6; i++)  {
    std::cout << "{" << std::setw(12) << x[i] 
	      << "," << std::setw(12) << y[i] << "}";
    if (i != 5) 
      std::cout << ",   // " << i << "\n                       ";
    else 
      std::cout << " }; // " << i << std::endl;
    g->SetPoint(i, x[i], y[i]);
  }
  g->SetPoint(6, x[0], y[0]);

  // TCanvas* c = new TCanvas(Form("c%c", r));
  // c->cd();
  // g->Draw("afl");
}

void
PrintSensorVertices()
{
  AliFMDGeometry::Instance()->Init();
  
  PrintOne('I');
  PrintOne('O');
}
 PrintSensorVertices.C:1
 PrintSensorVertices.C:2
 PrintSensorVertices.C:3
 PrintSensorVertices.C:4
 PrintSensorVertices.C:5
 PrintSensorVertices.C:6
 PrintSensorVertices.C:7
 PrintSensorVertices.C:8
 PrintSensorVertices.C:9
 PrintSensorVertices.C:10
 PrintSensorVertices.C:11
 PrintSensorVertices.C:12
 PrintSensorVertices.C:13
 PrintSensorVertices.C:14
 PrintSensorVertices.C:15
 PrintSensorVertices.C:16
 PrintSensorVertices.C:17
 PrintSensorVertices.C:18
 PrintSensorVertices.C:19
 PrintSensorVertices.C:20
 PrintSensorVertices.C:21
 PrintSensorVertices.C:22
 PrintSensorVertices.C:23
 PrintSensorVertices.C:24
 PrintSensorVertices.C:25
 PrintSensorVertices.C:26
 PrintSensorVertices.C:27
 PrintSensorVertices.C:28
 PrintSensorVertices.C:29
 PrintSensorVertices.C:30
 PrintSensorVertices.C:31
 PrintSensorVertices.C:32
 PrintSensorVertices.C:33
 PrintSensorVertices.C:34
 PrintSensorVertices.C:35
 PrintSensorVertices.C:36
 PrintSensorVertices.C:37
 PrintSensorVertices.C:38
 PrintSensorVertices.C:39
 PrintSensorVertices.C:40
 PrintSensorVertices.C:41
 PrintSensorVertices.C:42
 PrintSensorVertices.C:43
 PrintSensorVertices.C:44
 PrintSensorVertices.C:45
 PrintSensorVertices.C:46
 PrintSensorVertices.C:47
 PrintSensorVertices.C:48
 PrintSensorVertices.C:49
 PrintSensorVertices.C:50
 PrintSensorVertices.C:51
 PrintSensorVertices.C:52
 PrintSensorVertices.C:53
 PrintSensorVertices.C:54