]>
Commit | Line | Data |
---|---|---|
455b494f | 1 | #include <iomanip> |
2 | ||
3 | void | |
4 | PhysicalCoordinates(UShort_t det, Char_t rng, UShort_t sec, UShort_t str) | |
5 | { | |
6 | Double_t x, y, z; | |
7 | AliFMDGeometry::Instance()->Detector2XYZ(det, rng, sec, str, x, y, z); | |
8 | Double_t phi = TMath::ATan2(y, x); | |
9 | Double_t r = TMath::Sqrt(x * x + y * y); | |
f70f588a | 10 | Double_t theta = TMath::ATan2(r, z); |
11 | if (theta < 0) theta += TMath::Pi(); | |
455b494f | 12 | Double_t eta = -TMath::Log(TMath::Tan(theta / 2)); |
13 | Double_t deg = 180. / TMath::Pi(); | |
14 | ||
15 | std::cout << det << rng << "[" | |
16 | << std::setw(2) << sec << "," | |
17 | << std::setw(3) << str << "] | " | |
18 | << std::setw(9) << x << "," | |
19 | << std::setw(9) << y << "," | |
20 | << std::setw(9) << z << " | " | |
21 | << std::setw(9) << phi * deg << "," | |
22 | << std::setw(9) << theta * deg << "," | |
23 | << std::setw(9) << eta << std::endl; | |
24 | } | |
25 | void | |
26 | ShowCoordinates() | |
27 | { | |
28 | AliFMDGeometry::Instance()->Init(); | |
29 | AliFMDGeometry::Instance()->InitTransformations(); | |
30 | std::cout << std::setw(1+1+1+2+1+3+1) << "Detector" << " | " | |
31 | << std::setw(9+1+9+1+9) << "Cartisian Coords" << " | " | |
32 | << std::setw(9+1+9+1+9) << "phi,theta,eta" << "\n" | |
33 | << std::setfill('-') | |
34 | << std::setw(1+1+1+2+1+3+1+1+1) << "+" | |
35 | << std::setw(1+9+1+9+1+9+1+1) << "+" | |
36 | << std::setw(1+9+1+9+1+9+1+1) << "+" | |
37 | << std::setfill(' ') << std::endl; | |
f70f588a | 38 | for (UShort_t d = 1; d <= 3; d++) { |
455b494f | 39 | UShort_t nrng = (d == 1 ? 1 : 2); |
40 | for (UShort_t ir = 0; ir < nrng; ir++) { | |
41 | Char_t r = (ir == 0 ? 'I' : 'O'); | |
42 | UShort_t nsec = (r == 'I' ? 20 : 40); | |
43 | UShort_t nstr = 1; // (r == 'I' ? 512 : 256); | |
44 | for (UShort_t s = 0; s < nsec; s++) { | |
45 | for (UShort_t t = 0; t < nstr; t++) { | |
46 | PhysicalCoordinates(d, r, s, t); | |
47 | } | |
48 | } | |
49 | } | |
50 | } | |
51 | } |