// Author: A. Palladino // Displays the CsI crystals on a TCanvas #include "TCanvas.h" #include "TPolyLine.h" #include "TLatex.h" #include #include #include #include using namespace std; int xTrans(double phi) { int rect_width = 100; int rect_height = 75; double phimin = -20; double phimax = 370; double xmin = 0; double xmax = rect_width - 20; return (int) ((phi - phimin)/(phimax-phimin)*(xmax-xmin)+xmin); } int yTrans(double theta) { int rect_width = 100; int rect_height = 75; double thetamin = 15; double thetamax = 165; double ymin = 20; double ymax = rect_height - 10; return rect_height - (int) ((theta - thetamin)/(thetamax-thetamin)*(ymax-ymin)+ymin); } void crystalmap(){ // CsI center angles double centerTheta[240]; double centerPhi[240]; // CsI polygon angles double polygonTheta[240][6] = { {65.67, 70.11, 65.67, 58.11, 58.11 }, {65.67, 70.11, 65.67, 58.11, 58.11 }, {65.67, 70.11, 65.67, 58.11, 58.11 }, {65.67, 70.11, 65.67, 58.11, 58.11 }, {65.67, 70.11, 65.67, 58.11, 58.11 }, {114.33, 121.89, 121.89, 114.33, 109.89 }, {114.33, 121.89, 121.89, 114.33, 109.89 }, {114.33, 121.89, 121.89, 114.33, 109.89 }, {114.33, 121.89, 121.89, 114.33, 109.89 }, {114.33, 121.89, 121.89, 114.33, 109.89 }, {52.51, 58.11, 58.11, 52.51, 45.76, 45.76 }, {52.51, 58.11, 58.11, 52.51, 45.76, 45.76 }, {52.51, 58.11, 58.11, 52.51, 45.76, 45.76 }, {52.51, 58.11, 58.11, 52.51, 45.76, 45.76 }, {52.51, 58.11, 58.11, 52.51, 45.76, 45.76 }, {127.49, 121.89, 121.89, 127.49, 134.24, 134.24 }, {127.49, 121.89, 121.89, 127.49, 134.24, 134.24 }, {127.49, 121.89, 121.89, 127.49, 134.24, 134.24 }, {127.49, 121.89, 121.89, 127.49, 134.24, 134.24 }, {127.49, 121.89, 121.89, 127.49, 134.24, 134.24 }, {68.45, 65.67, 58.11, 52.51, 55.12, 63.51 }, {68.45, 65.67, 58.11, 52.51, 55.12, 63.51 }, {68.45, 65.67, 58.11, 52.51, 55.12, 63.51 }, {68.45, 65.67, 58.11, 52.51, 55.12, 63.51 }, {68.45, 65.67, 58.11, 52.51, 55.12, 63.51 }, {127.49, 121.89, 114.33, 111.55, 116.49, 124.88 }, {127.49, 121.89, 114.33, 111.55, 116.49, 124.88 }, {127.49, 121.89, 114.33, 111.55, 116.49, 124.88 }, {127.49, 121.89, 114.33, 111.55, 116.49, 124.88 }, {127.49, 121.89, 114.33, 111.55, 116.49, 124.88 }, {77.40, 70.11, 65.67, 68.45, 75.97, 80.52 }, {77.40, 70.11, 65.67, 68.45, 75.97, 80.52 }, {77.40, 70.11, 65.67, 68.45, 75.97, 80.52 }, {77.40, 70.11, 65.67, 68.45, 75.97, 80.52 }, {77.40, 70.11, 65.67, 68.45, 75.97, 80.52 }, {111.55, 114.33, 109.89, 102.60, 99.48, 104.03 }, {111.55, 114.33, 109.89, 102.60, 99.48, 104.03 }, {111.55, 114.33, 109.89, 102.60, 99.48, 104.03 }, {111.55, 114.33, 109.89, 102.60, 99.48, 104.03 }, {111.55, 114.33, 109.89, 102.60, 99.48, 104.03 }, {68.45, 65.67, 70.11, 77.40, 80.52, 75.97 }, {68.45, 65.67, 70.11, 77.40, 80.52, 75.97 }, {68.45, 65.67, 70.11, 77.40, 80.52, 75.97 }, {68.45, 65.67, 70.11, 77.40, 80.52, 75.97 }, {68.45, 65.67, 70.11, 77.40, 80.52, 75.97 }, {102.60, 109.89, 114.33, 111.55, 104.03, 99.48 }, {102.60, 109.89, 114.33, 111.55, 104.03, 99.48 }, {102.60, 109.89, 114.33, 111.55, 104.03, 99.48 }, {102.60, 109.89, 114.33, 111.55, 104.03, 99.48 }, {102.60, 109.89, 114.33, 111.55, 104.03, 99.48 }, {52.51, 58.11, 65.67, 68.45, 63.51, 55.12 }, {52.51, 58.11, 65.67, 68.45, 63.51, 55.12 }, {52.51, 58.11, 65.67, 68.45, 63.51, 55.12 }, {52.51, 58.11, 65.67, 68.45, 63.51, 55.12 }, {52.51, 58.11, 65.67, 68.45, 63.51, 55.12 }, {111.55, 114.33, 121.89, 127.49, 124.88, 116.49 }, {111.55, 114.33, 121.89, 127.49, 124.88, 116.49 }, {111.55, 114.33, 121.89, 127.49, 124.88, 116.49 }, {111.55, 114.33, 121.89, 127.49, 124.88, 116.49 }, {111.55, 114.33, 121.89, 127.49, 124.88, 116.49 }, {41.74, 49.95, 55.12, 52.51, 45.76, 39.56 }, {41.74, 49.95, 55.12, 52.51, 45.76, 39.56 }, {41.74, 49.95, 55.12, 52.51, 45.76, 39.56 }, {41.74, 49.95, 55.12, 52.51, 45.76, 39.56 }, {41.74, 49.95, 55.12, 52.51, 45.76, 39.56 }, {138.26, 140.44, 134.24, 127.49, 124.88, 130.05 }, {138.26, 140.44, 134.24, 127.49, 124.88, 130.05 }, {138.26, 140.44, 134.24, 127.49, 124.88, 130.06 }, {138.26, 140.44, 134.24, 127.49, 124.88, 130.05 }, {138.26, 140.44, 134.24, 127.49, 124.88, 130.05 }, {75.38, 79.51, 75.97, 68.45, 63.51, 67.15 }, {75.38, 79.51, 75.97, 68.45, 63.51, 67.15 }, {75.38, 79.51, 75.97, 68.45, 63.51, 67.15 }, {75.38, 79.51, 75.97, 68.45, 63.51, 67.15 }, {75.38, 79.51, 75.97, 68.45, 63.51, 67.15 }, {104.62, 112.85, 116.49, 111.55, 104.03, 100.49 }, {104.62, 112.85, 116.49, 111.55, 104.03, 100.49 }, {104.62, 112.85, 116.49, 111.55, 104.03, 100.49 }, {104.62, 112.85, 116.49, 111.55, 104.03, 100.49 }, {104.62, 112.85, 116.49, 111.55, 104.03, 100.49 }, {93.02, 88.60, 80.52, 77.40, 80.52, 88.60 }, {93.02, 88.60, 80.52, 77.40, 80.52, 88.60 }, {93.02, 88.60, 80.52, 77.40, 80.52, 88.60 }, {93.02, 88.60, 80.52, 77.40, 80.52, 88.60 }, {93.02, 88.60, 80.52, 77.40, 80.52, 88.60 }, {86.98, 91.40, 99.48, 102.60, 99.48, 91.40 }, {86.98, 91.40, 99.48, 102.60, 99.48, 91.40 }, {86.98, 91.40, 99.48, 102.60, 99.48, 91.40 }, {86.98, 91.40, 99.48, 102.60, 99.48, 91.40 }, {86.98, 91.40, 99.48, 102.60, 99.48, 91.40 }, {75.38, 67.15, 63.51, 68.45, 75.97, 79.51 }, {75.38, 67.15, 63.51, 68.45, 75.97, 79.51 }, {75.38, 67.15, 63.51, 68.45, 75.97, 79.51 }, {75.38, 67.15, 63.51, 68.45, 75.97, 79.51 }, {75.38, 67.15, 63.51, 68.45, 75.97, 79.51 }, {104.62, 100.49, 104.03, 111.55, 116.49, 112.85 }, {104.62, 100.49, 104.03, 111.55, 116.49, 112.85 }, {104.62, 100.49, 104.03, 111.55, 116.49, 112.85 }, {104.62, 100.49, 104.03, 111.55, 116.49, 112.85 }, {104.62, 100.49, 104.03, 111.55, 116.49, 112.85 }, {41.74, 39.56, 45.76, 52.51, 55.12, 49.95 }, {41.74, 39.56, 45.76, 52.51, 55.12, 49.95 }, {41.74, 39.56, 45.76, 52.51, 55.12, 49.95 }, {41.74, 39.56, 45.76, 52.51, 55.12, 49.95 }, {41.74, 39.56, 45.76, 52.50, 55.12, 49.95 }, {138.26, 130.05, 124.88, 127.49, 134.24, 140.44 }, {138.26, 130.05, 124.88, 127.49, 134.24, 140.44 }, {138.26, 130.05, 124.88, 127.49, 134.24, 140.44 }, {138.26, 130.05, 124.88, 127.49, 134.24, 140.44 }, {138.26, 130.05, 124.88, 127.49, 134.24, 140.44 }, {39.56, 45.76, 45.76, 39.56, 31.99, 31.99 }, {39.56, 45.76, 45.76, 39.56, 31.99, 31.99 }, {39.56, 45.76, 45.76, 39.56, 31.99, 31.99 }, {39.56, 45.76, 45.76, 39.56, 31.99, 31.99 }, {39.56, 45.76, 45.76, 39.56, 31.99, 31.99 }, {140.44, 148.01, 148.01, 140.44, 134.24, 134.24 }, {140.44, 148.01, 148.01, 140.44, 134.24, 134.24 }, {140.44, 148.01, 148.01, 140.44, 134.24, 134.24 }, {140.44, 148.01, 148.01, 140.44, 134.24, 134.24 }, {140.44, 148.01, 148.01, 140.44, 134.24, 134.24 }, {67.15, 63.51, 55.12, 49.95, 53.91, 62.65 }, {67.15, 63.51, 55.12, 49.95, 53.91, 62.65 }, {67.15, 63.51, 55.12, 49.95, 53.91, 62.65 }, {67.15, 63.51, 55.12, 49.95, 53.91, 62.65 }, {67.15, 63.51, 55.12, 49.95, 53.91, 62.65 }, {112.85, 117.35, 126.09, 130.05, 124.88, 116.49 }, {112.85, 117.35, 126.09, 130.05, 124.88, 116.49 }, {112.85, 117.35, 126.09, 130.05, 124.88, 116.49 }, {112.85, 117.35, 126.09, 130.05, 124.88, 116.49 }, {112.85, 117.35, 126.09, 130.05, 124.88, 116.49 }, {88.60, 80.52, 75.97, 79.51, 87.70, 92.30 }, {88.60, 80.52, 75.97, 79.51, 87.70, 92.30 }, {88.60, 80.52, 75.97, 79.51, 87.70, 92.30 }, {88.60, 80.52, 75.97, 79.51, 87.70, 92.30 }, {88.60, 80.52, 75.97, 79.51, 87.70, 92.30 }, {91.40, 87.70, 92.30, 100.49, 104.03, 99.48 }, {91.40, 87.70, 92.30, 100.49, 104.03, 99.48 }, {91.40, 87.70, 92.30, 100.49, 104.03, 99.48 }, {91.40, 87.70, 92.30, 100.49, 104.03, 99.48 }, {91.40, 87.70, 92.30, 100.49, 104.03, 99.48 }, {79.51, 75.97, 80.52, 88.60, 92.30, 87.70 }, {79.51, 75.97, 80.52, 88.60, 92.30, 87.70 }, {79.51, 75.97, 80.52, 88.60, 92.30, 87.70 }, {79.51, 75.97, 80.52, 88.60, 92.30, 87.70 }, {79.53, 75.97, 80.52, 88.60, 92.30, 87.69 }, {100.49, 92.30, 87.70, 91.40, 99.48, 104.03 }, {100.49, 92.30, 87.70, 91.40, 99.48, 104.03 }, {100.49, 92.30, 87.70, 91.40, 99.48, 104.03 }, {100.49, 92.30, 87.70, 91.40, 99.48, 104.03 }, {100.49, 92.30, 87.70, 91.40, 99.48, 104.03 }, {49.95, 55.12, 63.51, 67.15, 62.65, 53.91 }, {49.95, 55.12, 63.51, 67.15, 62.65, 53.91 }, {49.95, 55.12, 63.51, 67.15, 62.65, 53.91 }, {49.95, 55.12, 63.51, 67.15, 62.65, 53.91 }, {49.95, 55.12, 63.51, 67.15, 62.65, 53.91 }, {130.05, 126.09, 117.35, 112.85, 116.49, 124.88 }, {130.05, 126.09, 117.35, 112.85, 116.49, 124.88 }, {130.05, 126.09, 117.35, 112.85, 116.49, 124.88 }, {130.05, 126.09, 117.35, 112.85, 116.49, 124.88 }, {130.05, 126.09, 117.35, 112.85, 116.49, 124.88 }, {37.38, 41.74, 49.95, 53.91, 49.95, 41.74 }, {37.38, 41.74, 49.95, 53.91, 49.95, 41.74 }, {37.38, 41.74, 49.95, 53.91, 49.95, 41.74 }, {37.38, 41.74, 49.95, 53.91, 49.95, 41.74 }, {37.38, 41.74, 49.95, 53.91, 49.95, 41.74 }, {142.62, 138.26, 130.05, 126.09, 130.05, 138.26 }, {142.62, 138.26, 130.05, 126.09, 130.05, 138.26 }, {142.62, 138.26, 130.05, 126.09, 130.05, 138.26 }, {142.62, 138.26, 130.05, 126.09, 130.05, 138.26 }, {142.62, 138.26, 130.05, 126.09, 130.05, 138.26 }, {79.19, 75.38, 67.15, 62.65, 67.15, 75.38 }, {79.19, 75.38, 67.15, 62.65, 67.15, 75.38 }, {79.19, 75.38, 67.15, 62.65, 67.15, 75.38 }, {79.19, 75.38, 67.15, 62.65, 67.15, 75.38 }, {79.19, 75.38, 67.15, 62.65, 67.15, 75.38 }, {100.81, 104.62, 112.85, 117.35, 112.85, 104.62 }, {100.81, 104.62, 112.85, 117.35, 112.85, 104.62 }, {100.81, 104.62, 112.85, 117.35, 112.85, 104.62 }, {100.81, 104.62, 112.85, 117.35, 112.85, 104.62 }, {100.81, 104.62, 112.85, 117.35, 112.85, 104.62 }, {79.19, 86.98, 91.40, 87.70, 79.51, 75.38 }, {79.19, 86.98, 91.40, 87.70, 79.51, 75.38 }, {79.19, 86.98, 91.40, 87.70, 79.51, 75.38 }, {79.19, 86.98, 91.40, 87.70, 79.51, 75.38 }, {79.19, 86.98, 91.40, 87.70, 79.51, 75.38 }, {100.81, 104.62, 100.49, 92.30, 88.60, 93.02 }, {100.81, 104.62, 100.49, 92.30, 88.60, 93.02 }, {100.81, 104.62, 100.49, 92.30, 88.60, 93.02 }, {100.81, 104.62, 100.49, 92.30, 88.60, 93.02 }, {100.81, 104.62, 100.49, 92.30, 88.60, 93.02 }, {79.19, 75.38, 79.51, 87.70, 91.40, 86.98 }, {79.19, 75.38, 79.51, 87.70, 91.40, 86.98 }, {79.19, 75.38, 79.51, 87.70, 91.40, 86.98 }, {79.19, 75.38, 79.51, 87.70, 91.40, 86.98 }, {79.19, 75.38, 79.51, 87.70, 91.40, 86.98 }, {100.81, 93.02, 88.60, 92.30, 100.49, 104.62 }, {100.81, 93.02, 88.60, 92.30, 100.49, 104.62 }, {100.81, 93.02, 88.60, 92.30, 100.49, 104.62 }, {100.81, 93.02, 88.60, 92.30, 100.49, 104.62 }, {100.81, 93.02, 88.60, 92.30, 100.49, 104.62 }, {37.38, 41.74, 39.56, 31.99 }, {37.38, 41.74, 39.56, 31.99 }, {37.38, 41.74, 39.56, 31.99 }, {37.38, 41.74, 39.56, 31.99 }, {37.38, 41.74, 39.56, 31.99 }, {142.62, 138.26, 140.44, 148.01 }, {142.62, 138.26, 140.44, 148.01 }, {142.62, 138.26, 140.44, 148.01 }, {142.62, 138.26, 140.44, 148.01 }, {142.62, 138.26, 140.44, 148.01 }, {31.99, 39.56, 41.74, 37.38 }, {31.99, 39.56, 41.74, 37.38 }, {31.99, 39.56, 41.74, 37.38 }, {31.99, 39.56, 41.74, 37.38 }, {31.99, 39.55, 41.74, 37.38 }, {148.01, 140.44, 138.26, 142.62 }, {148.01, 140.44, 138.26, 142.62 }, {148.01, 140.44, 138.26, 142.62 }, {148.01, 140.44, 138.26, 142.62 }, {148.01, 140.44, 138.26, 142.62 }, {29.59, 24.69, 31.69, 31.99, 37.38 }, {29.59, 24.69, 31.69, 31.99, 37.38 }, {29.59, 24.69, 31.69, 31.99, 37.38 }, {29.59, 24.69, 31.69, 31.99, 37.38 }, {29.59, 24.69, 31.69, 31.99, 37.38 }, {150.41, 155.31, 148.31, 148.01, 142.62 }, {150.41, 155.31, 148.31, 148.01, 142.62 }, {150.41, 155.31, 148.31, 148.01, 142.62 }, {150.41, 155.31, 148.31, 148.01, 142.62 }, {150.41, 155.31, 148.31, 148.01, 142.62 }, {24.69, 29.59, 37.38, 31.99, 31.69 }, {24.69, 29.59, 37.38, 31.99, 31.69 }, {24.69, 29.59, 37.38, 31.99, 31.69 }, {24.69, 29.59, 37.38, 31.99, 31.69 }, {24.69, 29.59, 37.38, 31.99, 31.69 }, {155.31, 150.41, 142.62, 148.01, 148.31 }, {155.31, 150.41, 142.62, 148.01, 148.31 }, {155.31, 150.41, 142.62, 148.01, 148.31 }, {155.31, 150.41, 142.62, 148.01, 148.31 }, {155.31, 150.41, 142.62, 148.01, 148.31 } }; double polygonPhi[240][6] = { { 47.03, 54.00, 60.97, 58.62, 49.38 }, { 119.03, 126.00, 132.97, 130.62, 121.38 }, { 191.03, 198.00, 204.97, 202.62, 193.38 }, { 263.03, 270.00, 276.97, 274.62, 265.38 }, { 335.03, 342.00, 348.97, 346.62, 337.38 }, { 227.03, 229.38, 238.62, 240.97, 234.00 }, { 299.03, 301.38, 310.62, 312.97, 306.00 }, { 11.03, 13.38, 22.62, 24.97, 18.00 }, { 83.03, 85.38, 94.62, 96.97, 90.00 }, { 155.03, 157.38, 166.62, 168.97, 162.00 }, { 43.71, 49.38, 58.62, 64.29, 59.93, 48.07 }, { 115.71, 121.38, 130.62, 136.29, 131.93, 120.07 }, { 187.71, 193.38, 202.62, 208.29, 203.93, 192.07 }, { 259.71, 265.38, 274.62, 280.29, 275.93, 264.07 }, { 331.71, 337.38, 346.62, 352.29, 347.93, 336.07 }, { 244.29, 238.62, 229.38, 223.71, 228.07, 239.93 }, { 316.29, 310.62, 301.38, 295.71, 300.07, 311.93 }, { 28.29, 22.62, 13.38, 7.71, 12.07, 23.93 }, { 100.29, 94.62, 85.38, 79.71, 84.07, 95.93 }, { 172.29, 166.62, 157.38, 151.71, 156.07, 167.93 }, { 39.72, 47.03, 49.38, 43.71, 34.96, 33.51 }, { 111.72, 119.03, 121.38, 115.71, 106.96, 105.51 }, { 183.72, 191.03, 193.38, 187.71, 178.96, 177.51 }, { 255.72, 263.03, 265.38, 259.71, 250.96, 249.51 }, { 327.72, 335.03, 337.38, 331.71, 322.96, 321.51 }, { 223.71, 229.38, 227.03, 219.72, 213.51, 214.96 }, { 295.71, 301.38, 299.03, 291.72, 285.51, 286.96 }, { 7.71, 13.38, 11.03, 3.72, -2.46, -1.01 }, { 79.71, 85.38, 83.03, 75.72, 69.51, 70.96 }, { 151.71, 157.38, 155.03, 147.72, 141.51, 142.96 }, { 54.00, 54.00, 47.03, 39.72, 39.72, 47.03 }, { 126.00, 126.00, 119.03, 111.72, 111.72, 119.03 }, { 198.00, 198.00, 191.03, 183.72, 183.72, 191.03 }, { 270.00, 270.00, 263.03, 255.72, 255.72, 263.03 }, { 342.00, 342.00, 335.03, 327.72, 327.72, 335.03 }, { 219.72, 227.03, 234.00, 234.00, 227.03, 219.72 }, { 291.72, 299.03, 306.00, 306.00, 299.03, 291.72 }, { 3.72, 11.03, 18.00, 18.00, 11.03, 3.72 }, { 75.72, 83.03, 90.00, 90.00, 83.03, 75.72 }, { 147.72, 155.03, 162.00, 162.00, 155.03, 147.72 }, { 68.28, 60.97, 54.00, 54.00, 60.97, 68.28 }, { 140.28, 132.97, 126.00, 126.00, 132.97, 140.28 }, { 212.28, 204.97, 198.00, 198.00, 204.97, 212.28 }, { 284.28, 276.97, 270.00, 270.00, 276.97, 284.28 }, { 356.28, 348.97, 342.00, 342.00, 348.97, 356.28 }, { 234.00, 234.00, 240.97, 248.28, 248.28, 240.97 }, { 306.00, 306.00, 312.97, 320.28, 320.28, 312.97 }, { 18.00, 18.00, 24.97, 32.28, 32.28, 24.97 }, { 90.00, 90.00, 96.97, 104.28, 104.28, 96.97 }, { 162.00, 162.00, 168.97, 176.28, 176.28, 168.97 }, { 64.29, 58.62, 60.97, 68.28, 74.49, 73.04 }, { 136.29, 130.62, 132.97, 140.28, 146.49, 145.04 }, { 208.29, 202.62, 204.97, 212.28, 218.49, 217.04 }, { 280.29, 274.62, 276.97, 284.28, 290.49, 289.04 }, { 352.29, 346.62, 348.97, 356.28, 362.46, 361.01 }, { 248.28, 240.97, 238.62, 244.29, 253.04, 254.49 }, { 320.28, 312.97, 310.62, 316.29, 325.04, 326.49 }, { 32.28, 24.97, 22.62, 28.29, 37.04, 38.49 }, { 104.28, 96.97, 94.62, 100.29, 109.04, 110.49 }, { 176.28, 168.97, 166.62, 172.29, 181.04, 182.49 }, { 28.16, 27.12, 34.96, 43.71, 48.07, 40.39 }, { 100.16, 99.12, 106.96, 115.71, 120.07, 112.39 }, { 172.16, 171.12, 178.96, 187.71, 192.07, 184.39 }, { 244.16, 243.12, 250.96, 259.71, 264.07, 256.39 }, { 316.16, 315.12, 322.96, 331.71, 336.07, 328.39 }, { 208.16, 220.39, 228.07, 223.71, 214.96, 207.12 }, { 280.16, 292.39, 300.07, 295.71, 286.96, 279.12 }, { -7.81, 4.39, 12.07, 7.71, -1.03, -8.85 }, { 64.16, 76.39, 84.07, 79.71, 70.96, 63.12 }, { 136.16, 148.39, 156.07, 151.71, 142.96, 135.12 }, { 24.97, 32.28, 39.72, 39.72, 33.51, 25.56 }, { 96.97, 104.28, 111.72, 111.72, 105.51, 97.56 }, { 168.97, 176.28, 183.72, 183.72, 177.51, 169.56 }, { 240.97, 248.28, 255.72, 255.72, 249.51, 241.56 }, { 312.97, 320.28, 327.72, 327.72, 321.51, 313.56 }, { 204.97, 205.56, 213.51, 219.72, 219.72, 212.28 }, { 276.97, 277.56, 285.51, 291.72, 291.72, 284.28 }, { 348.97, 349.56, 357.51, 363.69, 363.70, 356.28 }, { 60.97, 61.56, 69.51, 75.72, 75.72, 68.28 }, { 132.97, 133.56, 141.51, 147.72, 147.72, 140.28 }, { 54.00, 60.97, 60.97, 54.00, 47.03, 47.03 }, { 126.00, 132.97, 132.97, 126.00, 119.03, 119.03 }, { 198.00, 204.97, 204.97, 198.00, 191.03, 191.03 }, { 270.00, 276.97, 276.97, 270.00, 263.03, 263.03 }, { 342.00, 348.97, 348.97, 342.00, 335.03, 335.03 }, { 234.00, 227.03, 227.03, 234.00, 240.97, 240.97 }, { 306.00, 299.03, 299.03, 306.00, 312.97, 312.97 }, { 18.00, 11.03, 11.03, 18.00, 24.97, 24.97 }, { 90.00, 83.03, 83.03, 90.00, 96.97, 96.97 }, { 162.00, 155.03, 155.03, 162.00, 168.97, 168.97 }, { 83.03, 82.44, 74.49, 68.28, 68.28, 75.72 }, { 155.03, 154.44, 146.49, 140.28, 140.28, 147.72 }, { 227.03, 226.44, 218.49, 212.28, 212.28, 219.72 }, { 299.03, 298.44, 290.49, 284.28, 284.28, 291.72 }, { 11.03, 10.44, 2.49, -3.69, -3.70, 3.72 }, { 263.03, 255.72, 248.28, 248.28, 254.49, 262.44 }, { 335.03, 327.72, 320.28, 320.28, 326.49, 334.44 }, { 47.03, 39.72, 32.28, 32.28, 38.49, 46.44 }, { 119.03, 111.72, 104.28, 104.28, 110.49, 118.44 }, { 191.03, 183.72, 176.28, 176.28, 182.49, 190.44 }, { 79.84, 67.61, 59.93, 64.29, 73.04, 80.88 }, { 151.84, 139.61, 131.93, 136.29, 145.04, 152.88 }, { 223.84, 211.61, 203.93, 208.29, 217.04, 224.88 }, { 295.84, 283.61, 275.93, 280.29, 289.04, 296.88 }, { 7.84, -4.37, -12.04, -7.69, 1.04, 8.88 }, { 259.84, 260.88, 253.04, 244.29, 239.93, 247.61 }, { 331.84, 332.88, 325.04, 316.29, 311.93, 319.61 }, { 43.84, 44.88, 37.04, 28.29, 23.93, 31.61 }, { 115.84, 116.88, 109.04, 100.29, 95.93, 103.61 }, { 187.84, 188.88, 181.04, 172.29, 167.93, 175.61 }, { 40.39, 48.07, 59.93, 67.61, 62.27, 45.73 }, { 112.39, 120.07, 131.93, 139.61, 134.27, 117.73 }, { 184.39, 192.07, 203.93, 211.61, 206.27, 189.73 }, { 256.39, 264.07, 275.93, 283.61, 278.27, 261.73 }, { 328.39, 336.07, 347.93, 355.61, 350.27, 333.73 }, { 220.39, 225.73, 242.27, 247.61, 239.93, 228.07 }, { 292.39, 297.73, 314.27, 319.61, 311.93, 300.07 }, { 4.39, 9.73, 26.27, 31.61, 23.93, 12.07 }, { 76.39, 81.73, 98.27, 103.61, 95.93, 84.07 }, { 148.39, 153.73, 170.27, 175.61, 167.93, 156.07 }, { 25.56, 33.51, 34.96, 27.12, 18.00, 18.00 }, { 97.56, 105.51, 106.96, 99.12, 90.00, 90.00 }, { 169.56, 177.51, 178.96, 171.12, 162.00, 162.00 }, { 241.56, 249.51, 250.96, 243.12, 234.00, 234.00 }, { 313.56, 321.51, 322.96, 315.12, 306.00, 306.00 }, { 205.56, 198.00, 198.00, 207.12, 214.96, 213.51 }, { 277.56, 270.00, 270.00, 279.12, 286.96, 285.51 }, { 349.56, 342.00, 342.00, 351.12, 358.96, 357.51 }, { 61.56, 54.00, 54.00, 63.12, 70.96, 69.51 }, { 133.56, 126.00, 126.00, 135.12, 142.96, 141.51 }, { 47.03, 47.03, 39.72, 32.28, 32.28, 39.72 }, { 119.03, 119.03, 111.72, 104.28, 104.28, 111.72 }, { 191.03, 191.03, 183.72, 176.28, 176.28, 183.72 }, { 263.03, 263.03, 255.72, 248.28, 248.28, 255.72 }, { 335.03, 335.03, 327.72, 320.28, 320.28, 327.72 }, { 227.03, 219.72, 212.28, 212.28, 219.72, 227.03 }, { 299.03, 291.72, 284.28, 284.28, 291.72, 299.03 }, { 11.03, 3.72, -3.48, -3.70, 3.72, 11.03 }, { 83.03, 75.72, 68.28, 68.28, 75.72, 83.03 }, { 155.03, 147.72, 140.28, 140.28, 147.72, 155.03 }, { 75.72, 68.28, 60.97, 60.97, 68.28, 75.72 }, { 147.72, 140.28, 132.97, 132.97, 140.28, 147.72 }, { 219.72, 212.28, 204.97, 204.97, 212.28, 219.72 }, { 291.72, 284.28, 276.97, 276.97, 284.28, 291.72 }, { 363.70, 356.28, 348.97, 348.97, 356.28, 363.70 }, { 255.72, 255.72, 248.28, 240.97, 240.97, 248.28 }, { 327.72, 327.72, 320.28, 312.97, 312.97, 320.28 }, { 39.72, 39.72, 32.28, 24.97, 24.97, 32.28 }, { 111.72, 111.72, 104.28, 96.97, 96.97, 104.28 }, { 183.72, 183.72, 176.28, 168.97, 168.97, 176.28 }, { 80.88, 73.04, 74.49, 82.44, 90.00, 90.00 }, { 152.88, 145.04, 146.49, 154.44, 162.00, 162.00 }, { 224.88, 217.04, 218.49, 226.44, 234.00, 234.00 }, { 296.88, 289.04, 290.49, 298.44, 306.00, 306.00 }, { 8.88, 1.04, 2.49, 10.44, 18.00, 18.00 }, { 260.88, 270.00, 270.00, 262.44, 254.49, 253.04 }, { 332.88, 342.00, 342.00, 334.44, 326.49, 325.04 }, { 44.88, 54.00, 54.00, 46.44, 38.49, 37.04 }, { 116.88, 126.00, 126.00, 118.44, 110.49, 109.04 }, { 188.88, 198.00, 198.00, 190.44, 182.49, 181.04 }, { 18.00, 7.84, 8.88, 18.00, 27.12, 28.16 }, { 90.00, 79.84, 80.88, 90.00, 99.12, 100.16 }, { 162.00, 151.84, 152.88, 162.00, 171.12, 172.16 }, { 234.00, 223.84, 224.88, 234.00, 243.12, 244.16 }, { 306.00, 295.84, 296.88, 306.00, 315.12, 316.16 }, { 198.00, 208.16, 207.12, 198.00, 188.88, 187.84 }, { 270.00, 280.16, 279.12, 270.00, 260.88, 259.84 }, { 342.00, 352.16, 351.12, 342.00, 332.88, 331.84 }, { 54.00, 64.16, 63.12, 54.00, 44.88, 43.84 }, { 126.00, 136.16, 135.12, 126.00, 116.88, 115.84 }, { 18.00, 24.97, 25.56, 18.00, 10.44, 11.03 }, { 90.00, 96.97, 97.56, 90.00, 82.44, 83.03 }, { 162.00, 168.97, 169.56, 162.00, 154.44, 155.03 }, { 234.00, 240.97, 241.56, 234.00, 226.44, 227.03 }, { 306.00, 312.97, 313.56, 306.00, 298.44, 299.03 }, { 198.00, 191.03, 190.44, 198.00, 205.56, 204.97 }, { 270.00, 263.03, 262.44, 270.00, 277.56, 276.97 }, { 342.00, 335.03, 334.44, 342.00, 349.56, 348.97 }, { 54.00, 47.03, 46.44, 54.00, 61.56, 60.97 }, { 126.00, 119.03, 118.44, 126.00, 133.56, 132.97 }, { 18.00, 18.00, 24.97, 32.28, 32.28, 24.97 }, { 90.00, 90.00, 96.97, 104.28, 104.28, 96.97 }, { 162.00, 162.00, 168.97, 176.28, 176.28, 168.97 }, { 234.00, 234.00, 240.97, 248.28, 248.28, 240.97 }, { 306.00, 306.00, 312.97, 320.28, 320.28, 312.97 }, { 198.00, 204.97, 212.28, 212.28, 204.97, 198.00 }, { 270.00, 276.97, 284.28, 284.28, 276.97, 270.00 }, { 342.00, 348.97, 356.28, 356.28, 348.97, 342.00 }, { 54.00, 60.97, 68.28, 68.28, 60.97, 54.00 }, { 126.00, 132.97, 140.28, 140.28, 132.97, 126.00 }, { 90.00, 83.03, 75.72, 75.72, 83.03, 90.00 }, { 162.00, 155.03, 147.72, 147.72, 155.03, 162.00 }, { 234.00, 227.03, 219.72, 219.72, 227.03, 234.00 }, { 306.00, 299.03, 291.72, 291.72, 299.03, 306.00 }, { 18.00, 11.03, 3.72, 3.72, 11.03, 18.00 }, { 270.00, 270.00, 263.03, 255.72, 255.72, 263.03 }, { 342.00, 342.00, 335.03, 327.72, 327.72, 335.03 }, { 54.00, 54.00, 47.03, 39.72, 39.72, 47.03 }, { 126.00, 126.00, 119.03, 111.72, 111.72, 119.03 }, { 198.00, 198.00, 191.03, 183.72, 183.72, 191.03 }, { 18.00, 28.16, 40.39, 45.73 }, { 90.00, 100.16, 112.39, 117.73 }, { 162.00, 172.16, 184.39, 189.73 }, { 234.00, 244.16, 256.39, 261.73 }, { 306.00, 316.16, 328.39, 333.73 }, { 270.00, 259.84, 247.61, 242.27 }, { 342.00, 331.84, 319.61, 314.27 }, { 54.00, 43.84, 31.61, 26.27 }, { 126.00, 115.84, 103.61, 98.27 }, { 198.00, 187.84, 175.61, 170.27 }, { 62.27, 67.61, 79.84, 90.00 }, { 134.27, 139.61, 151.84, 162.00 }, { 206.27, 211.61, 223.84, 234.00 }, { 278.27, 283.61, 295.84, 306.00 }, { -9.67, -4.36, 7.84, 18.00 }, { 225.73, 220.39, 208.16, 198.00 }, { 297.73, 292.39, 280.16, 270.00 }, { 9.73, 4.39, -7.83, -17.92 }, { 81.73, 76.39, 64.16, 54.00 }, { 153.73, 148.39, 136.16, 126.00 }, { 18.00, 54.00, 54.00, 45.73, 18.00 }, { 90.00, 126.00, 126.00, 117.73, 90.00 }, { 162.00, 198.00, 198.00, 189.73, 162.00 }, { 234.00, 270.00, 270.00, 261.73, 234.00 }, { 306.00, 342.00, 342.00, 333.73, 306.00 }, { 270.00, 234.00, 234.00, 242.27, 270.00 }, { 342.00, 306.00, 306.00, 314.27, 342.00 }, { 54.00, 18.00, 18.00, 26.27, 54.00 }, { 126.00, 90.00, 90.00, 98.27, 126.00 }, { 198.00, 162.00, 162.00, 170.27, 198.00 }, { 54.00, 90.00, 90.00, 62.27, 54.00 }, { 126.00, 162.00, 162.00, 134.27, 126.00 }, { 198.00, 234.00, 234.00, 206.27, 198.00 }, { 270.00, 306.00, 306.00, 278.27, 270.00 }, { -18.00, 18.00, 18.00, -9.70, -18.00 }, { 234.00, 198.00, 198.00, 225.73, 234.00 }, { 306.00, 270.00, 270.00, 297.73, 306.00 }, { 18.00, -18.00, -18.00, 9.70, 18.00 }, { 90.00, 54.00, 54.00, 81.73, 90.00 }, { 162.00, 126.00, 126.00, 153.73, 162.00 } }; // ---generatePolygons ---- int x[6]; int y[6]; //TPolyLine pline[240]; TPolyLine *pline = new TPolyLine[240];// = new TPolyline*[240]; for (int i=0 ; i<240 ; i++) { centerPhi[i] = 0; centerTheta[i] = 0; int num_vertices = 6; if (i<10) num_vertices = 5; else if (i>=200 && i<=219) num_vertices = 4; else if (i>=220 && i<=240) num_vertices = 5; for (int j=0 ; jDrawFrame(minX,minY,maxX,maxY,"Mercator Projection of CsI Crystals (as seen from the target)"); frameXY->SetXTitle("#phi (degrees)"); frameXY->SetYTitle("#theta (degrees)"); //frameXY->GetXAxis()->CenterTitle(); TLatex label; label.SetTextSize(0.03); label.SetTextAlign(22); char crystal_num[50]; const Int_t NRGBs = 5; const Int_t NCont = 255; Double_t stops[NRGBs] = { 0.00, 0.34, 0.61, 0.84, 1.00 }; Double_t red[NRGBs] = { 0.00, 0.00, 0.87, 1.00, 0.51 }; Double_t green[NRGBs] = { 0.00, 0.81, 1.00, 0.20, 0.00 }; Double_t blue[NRGBs] = { 0.51, 1.00, 0.12, 0.00, 0.00 }; int min_color = TColor::CreateGradientColorTable(NRGBs, stops, red, green, blue, NCont); gStyle->SetNumberContours(NCont); for (int i=0;i<240;i++){ pline[i].SetLineColor(1); pline[i].SetLineWidth(2); //pline[i].SetFillColor(min_color+i); can->cd(); pline[i].Draw("same"); pline[i].Draw("fsame"); sprintf(crystal_num, "%d", i); label.DrawLatex(centerPhi[i], centerTheta[i], crystal_num); gPad->Modified(); gPad->Update(); } TLine *topline = new TLine(90.0, 15.0, 90.0, 165.0); topline.SetLineStyle(2); topline.Draw("same"); TLatex toplabel; toplabel.SetTextSize(0.03); toplabel.SetTextAlign(22); toplabel.DrawLatex(90.0, 10.0, "Top"); TLine *bottomline = new TLine(270.0, 15.0, 270.0, 165.0); bottomline.SetLineStyle(2); bottomline.Draw("same"); TLatex botlabel; botlabel.SetTextSize(0.03); botlabel.SetTextAlign(22); botlabel.DrawLatex(270.0, 10.0, "Bottom"); TArrow *beamarr = new TArrow(180.0,175.0,180.0,165.0,0.01,">"); beamarr->SetFillColor(1); beamarr->SetFillStyle(1001); beamarr.Draw(); TLatex beamlabel; beamlabel.SetTextSize(0.03); beamlabel.SetTextAlign(22); beamlabel.DrawLatex(180.0, 160.0, "Beam"); gPad->Modified(); gPad->Update(); can->SaveAs("crystal_map.eps"); }