/* ======================================================================== *\ ! ! * ! * This file is part of MARS, the MAGIC Analysis and Reconstruction ! * Software. It is distributed to you in the hope that it can be a useful ! * and timesaving tool in analysing Data of imaging Cerenkov telescopes. ! * It is distributed WITHOUT ANY WARRANTY. ! * ! * Permission to use, copy, modify and distribute this software and its ! * documentation for any purpose is hereby granted without fee, ! * provided that the above copyright notice appear in all copies and ! * that both that copyright notice and this permission notice appear ! * in supporting documentation. It is provided "as is" without express ! * or implied warranty. ! * ! ! ! Author(s): Harald Kornmayer 1/2001 (harald@mppmu.mpg.de) ! Author(s): Thomas Bretz 12/2000 (tbretz@uni-sw.gwdg.de) ! ! Copyright: MAGIC Software Development, 2000-2001 ! ! \* ======================================================================== */ #include "MGeomCamMagic.h" #include "TCanvas.h" #include "MLog.h" ClassImp(MGeomCamMagic) MGeomCamMagic::MGeomCamMagic(const char *name) : MGeomCam(577, name, "Geometry information of Magic Camera") { CreateCam(); CreateNN(); } void MGeomCamMagic::Draw(Option_t *) { TCanvas *can = new TCanvas("can", "Camera Geometry", 4 ) ; can->Range(-600, -600, 600, 600 ) ; MGeomCam::Draw(); } void MGeomCamMagic::CreateCam() { // // fill the geometry class with the coordinates of the MAGIC camera // *fLog << " Creating Magic geometry " << endl ; // // here define the hardwire things of the magic telescope // const Float_t xtemp[577] = { +000.000, 30.000, 15.000, -15.000, -30.000, -15.000, 15.000, 60.000, // 0 +045.000, 30.000, 0.000, -30.000, -45.000, -60.000, -45.000, -30.000, // 8 +000.000, 30.000, 45.000, 90.000, 75.000, 60.000, 45.000, 15.000, // 16 -015.000, -45.000, -60.000, -75.000, -90.000, -75.000, -60.000, -45.000, // 24 -015.000, 15.000, 45.000, 60.000, 75.000, 120.000, 105.000, 90.000, // 32 +075.000, 60.000, 30.000, 0.000, -30.000, -60.000, -75.000, -90.000, // 40 -105.000, -120.000, -105.000, -90.000, -75.000, -60.000, -30.000, 0.000, // 48 +030.000, 60.000, 75.000, 90.000, 105.000, 150.000, 135.000, 120.000, // 56 +105.000, 90.000, 75.000, 45.000, 15.000, -15.000, -45.000, -75.000, // 64 -090.000, -105.000, -120.000, -135.000, -150.000, -135.000, -120.000, -105.000, // 72 -090.000, -75.000, -45.000, -15.000, 15.000, 45.000, 75.000, 90.000, // 80 +105.000, 120.000, 135.000, 180.000, 165.000, 150.000, 135.000, 120.000, // 88 +105.000, 90.000, 60.000, 30.000, 0.000, -30.000, -60.000, -90.000, // 96 -105.000, -120.000, -135.000, -150.000, -165.000, -180.000, -165.000, -150.000, // 104 -135.000, -120.000, -105.000, -90.000, -60.000, -30.000, 0.000, 30.000, // 112 +060.000, 90.000, 105.000, 120.000, 135.000, 150.000, 165.000, 210.000, // 120 +195.000, 180.000, 165.000, 150.000, 135.000, 120.000, 105.000, 75.000, // 128 +045.000, 15.000, -15.000, -45.000, -75.000, -105.000, -120.000, -135.000, // 136 -150.000, -165.000, -180.000, -195.000, -210.000, -195.000, -180.000, -165.000, // 144 -150.000, -135.000, -120.000, -105.000, -75.000, -45.000, -15.000, 15.000, // 152 +045.000, 75.000, 105.000, 120.000, 135.000, 150.000, 165.000, 180.000, // 160 +195.000, 240.000, 225.000, 210.000, 195.000, 180.000, 165.000, 150.000, // 168 +135.000, 120.000, 90.000, 60.000, 30.000, 0.000, -30.000, -60.000, // 176 -090.000, -120.000, -135.000, -150.000, -165.000, -180.000, -195.000, -210.000, // 184 -225.000, -240.000, -225.000, -210.000, -195.000, -180.000, -165.000, -150.000, // 192 -135.000, -120.000, -90.000, -60.000, -30.000, 0.000, 30.000, 60.000, // 200 +090.000, 120.000, 135.000, 150.000, 165.000, 180.000, 195.000, 210.000, // 208 +225.000, 270.000, 255.000, 240.000, 225.000, 210.000, 195.000, 180.000, // 216 +165.000, 150.000, 135.000, 105.000, 75.000, 45.000, 15.000, -15.000, // 224 -045.000, -75.000, -105.000, -135.000, -150.000, -165.000, -180.000, -195.000, // 232 -210.000, -225.000, -240.000, -255.000, -270.000, -255.000, -240.000, -225.000, // 240 -210.000, -195.000, -180.000, -165.000, -150.000, -135.000, -105.000, -75.000, // 248 -045.000, -15.000, 15.000, 45.000, 75.000, 105.000, 135.000, 150.000, // 256 +165.000, 180.000, 195.000, 210.000, 225.000, 240.000, 255.000, 300.000, // 264 +285.000, 270.000, 255.000, 240.000, 225.000, 210.000, 195.000, 180.000, // 272 +165.000, 150.000, 120.000, 90.000, 60.000, 30.000, 0.000, -30.000, // 280 -060.000, -90.000, -120.000, -150.000, -165.000, -180.000, -195.000, -210.000, // 288 -225.000, -240.000, -255.000, -270.000, -285.000, -300.000, -285.000, -270.000, // 296 -255.000, -240.000, -225.000, -210.000, -195.000, -180.000, -165.000, -150.000, // 304 -120.000, -90.000, -60.000, -30.000, 0.000, 30.000, 60.000, 90.000, // 312 +120.000, 150.000, 165.000, 180.000, 195.000, 210.000, 225.000, 240.000, // 320 +255.000, 270.000, 285.000, 330.000, 315.000, 300.000, 285.000, 270.000, // 328 +255.000, 240.000, 225.000, 210.000, 195.000, 180.000, 165.000, 135.000, // 336 +105.000, 75.000, 45.000, 15.000, -15.000, -45.000, -75.000, -105.000, // 344 -135.000, -165.000, -180.000, -195.000, -210.000, -225.000, -240.000, -255.000, // 352 -270.000, -285.000, -300.000, -315.000, -330.000, -315.000, -300.000, -285.000, // 360 -270.000, -255.000, -240.000, -225.000, -210.000, -195.000, -180.000, -165.000, // 368 -135.000, -105.000, -75.000, -45.000, -15.000, 15.000, 45.000, 75.000, // 376 +105.000, 135.000, 165.000, 180.000, 195.000, 210.000, 225.000, 240.000, // 384 +255.000, 270.000, 285.000, 300.000, 315.000, 360.000, 330.000, 300.000, // 392 +270.000, 240.000, 210.000, 150.000, 90.000, 30.000, -30.000, -90.000, // 400 -150.000, -210.000, -240.000, -270.000, -300.000, -330.000, -360.000, -360.000, // 408 -330.000, -300.000, -270.000, -240.000, -210.000, -150.000, -90.000, -30.000, // 416 +030.000, 90.000, 150.000, 210.000, 240.000, 270.000, 300.000, 330.000, // 424 +360.000, 420.000, 390.000, 360.000, 330.000, 300.000, 270.000, 240.000, // 432 +180.000, 120.000, 60.000, 0.000, -60.000, -120.000, -180.000, -240.000, // 440 -270.000, -300.000, -330.000, -360.000, -390.000, -420.000, -420.000, -390.000, // 448 -360.000, -330.000, -300.000, -270.000, -240.000, -180.000, -120.000, -60.000, // 456 +000.000, 60.000, 120.000, 180.000, 240.000, 270.000, 300.000, 330.000, // 464 +360.000, 390.000, 420.000, 480.000, 450.000, 420.000, 390.000, 360.000, // 472 +330.000, 300.000, 270.000, 210.000, 150.000, 90.000, 30.000, -30.000, // 480 -090.000, -150.000, -210.000, -270.000, -300.000, -330.000, -360.000, -390.000, // 488 -420.000, -450.000, -480.000, -480.000, -450.000, -420.000, -390.000, -360.000, // 496 -330.000, -300.000, -270.000, -210.000, -150.000, -90.000, -30.000, 30.000, // 504 +090.000, 150.000, 210.000, 270.000, 300.000, 330.000, 360.000, 390.000, // 512 +420.000, 450.000, 480.000, 540.000, 510.000, 480.000, 450.000, 420.000, // 520 +390.000, 360.000, 330.000, 300.000, 240.000, 180.000, 120.000, 60.000, // 528 +000.000, -60.000, -120.000, -180.000, -240.000, -300.000, -330.000, -360.000, // 536 -390.000, -420.000, -450.000, -480.000, -510.000, -540.000, -540.000, -510.000, // 544 -480.000, -450.000, -420.000, -390.000, -360.000, -330.000, -300.000, -240.000, // 552 -180.000, -120.000, -60.000, 0.000, 60.000, 120.000, 180.000, 240.000, // 560 +300.000, 330.000, 360.000, 390.000, 420.000, 450.000, 480.000, 510.000, // 568 +540.000 // 576 }; const Float_t ytemp[577] = { +000.000, 0.000, 25.981, 25.981, 0.000, -25.981, -25.981, 0.000, // 0 +025.981, 51.961, 51.961, 51.961, 25.981, 0.000, -25.981, -51.961, // 8 -051.961, -51.961, -25.981, 0.000, 25.981, 51.961, 77.942, 77.942, // 16 +077.942, 77.942, 51.961, 25.981, 0.000, -25.981, -51.961, -77.942, // 24 -077.942, -77.942, -77.942, -51.961, -25.981, 0.000, 25.981, 51.961, // 32 +077.942, 103.923, 103.923, 103.923, 103.923, 103.923, 77.942, 51.961, // 40 +025.981, 0.000, -25.981, -51.961, -77.942, -103.923, -103.923, -103.923, // 48 -103.923, -103.923, -77.942, -51.961, -25.981, 0.000, 25.981, 51.961, // 56 +077.942, 103.923, 129.904, 129.904, 129.904, 129.904, 129.904, 129.904, // 64 +103.923, 77.942, 51.961, 25.981, 0.000, -25.981, -51.961, -77.942, // 72 -103.923, -129.904, -129.904, -129.904, -129.904, -129.904, -129.904, -103.923, // 80 -077.942, -51.961, -25.981, 0.000, 25.981, 51.961, 77.942, 103.923, // 88 +129.904, 155.885, 155.885, 155.885, 155.885, 155.885, 155.885, 155.885, // 96 +129.904, 103.923, 77.942, 51.961, 25.981, 0.000, -25.981, -51.961, // 104 -077.942, -103.923, -129.904, -155.885, -155.885, -155.885, -155.885, -155.885, // 112 -155.885, -155.885, -129.904, -103.923, -77.942, -51.961, -25.981, 0.000, // 120 +025.981, 51.961, 77.942, 103.923, 129.904, 155.885, 181.865, 181.865, // 128 +181.865, 181.865, 181.865, 181.865, 181.865, 181.865, 155.885, 129.904, // 136 +103.923, 77.942, 51.961, 25.981, 0.000, -25.981, -51.961, -77.942, // 144 -103.923, -129.904, -155.885, -181.865, -181.865, -181.865, -181.865, -181.865, // 152 -181.865, -181.865, -181.865, -155.885, -129.904, -103.923, -77.942, -51.961, // 160 -025.981, 0.000, 25.981, 51.961, 77.942, 103.923, 129.904, 155.885, // 168 +181.865, 207.846, 207.846, 207.846, 207.846, 207.846, 207.846, 207.846, // 176 +207.846, 207.846, 181.865, 155.885, 129.904, 103.923, 77.942, 51.961, // 184 +025.981, 0.000, -25.981, -51.961, -77.942, -103.923, -129.904, -155.885, // 192 -181.865, -207.846, -207.846, -207.846, -207.846, -207.846, -207.846, -207.846, // 200 -207.846, -207.846, -181.865, -155.885, -129.904, -103.923, -77.942, -51.961, // 208 -025.981, 0.000, 25.981, 51.961, 77.942, 103.923, 129.904, 155.885, // 216 +181.865, 207.846, 233.827, 233.827, 233.827, 233.827, 233.827, 233.827, // 224 +233.827, 233.827, 233.827, 233.827, 207.846, 181.865, 155.885, 129.904, // 232 +103.923, 77.942, 51.961, 25.981, 0.000, -25.981, -51.961, -77.942, // 240 -103.923, -129.904, -155.885, -181.865, -207.846, -233.827, -233.827, -233.827, // 248 -233.827, -233.827, -233.827, -233.827, -233.827, -233.827, -233.827, -207.846, // 256 -181.865, -155.885, -129.904, -103.923, -77.942, -51.961, -25.981, 0.000, // 264 +025.981, 51.961, 77.942, 103.923, 129.904, 155.885, 181.865, 207.846, // 272 +233.827, 259.808, 259.808, 259.808, 259.808, 259.808, 259.808, 259.808, // 280 +259.808, 259.808, 259.808, 259.808, 233.827, 207.846, 181.865, 155.885, // 288 +129.904, 103.923, 77.942, 51.961, 25.981, 0.000, -25.981, -51.961, // 296 -077.942, -103.923, -129.904, -155.885, -181.865, -207.846, -233.827, -259.808, // 304 -259.808, -259.808, -259.808, -259.808, -259.808, -259.808, -259.808, -259.808, // 312 -259.808, -259.808, -233.827, -207.846, -181.865, -155.885, -129.904, -103.923, // 320 -077.942, -51.961, -25.981, 0.000, 25.981, 51.961, 77.942, 103.923, // 328 +129.904, 155.885, 181.865, 207.846, 233.827, 259.808, 285.788, 285.788, // 336 +285.788, 285.788, 285.788, 285.788, 285.788, 285.788, 285.788, 285.788, // 344 +285.788, 285.788, 259.808, 233.827, 207.846, 181.865, 155.885, 129.904, // 352 +103.923, 77.942, 51.961, 25.981, 0.000, -25.981, -51.961, -77.942, // 360 -103.923, -129.904, -155.885, -181.865, -207.846, -233.827, -259.808, -285.788, // 368 -285.788, -285.788, -285.788, -285.788, -285.788, -285.788, -285.788, -285.788, // 376 -285.788, -285.788, -285.788, -259.808, -233.827, -207.846, -181.865, -155.885, // 384 -129.904, -103.923, -77.942, -51.961, -25.981, 34.641, 86.603, 138.564, // 392 +190.526, 242.487, 294.449, 329.090, 329.090, 329.090, 329.090, 329.090, // 400 +329.090, 294.449, 242.487, 190.526, 138.564, 86.603, 34.641, -34.641, // 408 -086.603, -138.564, -190.526, -242.487, -294.449, -329.090, -329.090, -329.090, // 416 -329.090, -329.090, -329.090, -294.449, -242.487, -190.526, -138.564, -86.603, // 424 -034.641, 34.641, 86.603, 138.564, 190.526, 242.487, 294.449, 346.410, // 432 +381.051, 381.051, 381.051, 381.051, 381.051, 381.051, 381.051, 346.410, // 440 +294.449, 242.487, 190.526, 138.564, 86.603, 34.641, -34.641, -86.603, // 448 -138.564, -190.526, -242.487, -294.449, -346.410, -381.051, -381.051, -381.051, // 456 -381.051, -381.051, -381.051, -381.051, -346.410, -294.449, -242.487, -190.526, // 464 -138.564, -86.603, -34.641, 34.641, 86.603, 138.564, 190.526, 242.487, // 472 +294.449, 346.410, 398.372, 433.013, 433.013, 433.013, 433.013, 433.013, // 480 +433.013, 433.013, 433.013, 398.372, 346.410, 294.449, 242.487, 190.526, // 488 +138.564, 86.603, 34.641, -34.641, -86.603, -138.564, -190.526, -242.487, // 496 -294.449, -346.410, -398.372, -433.013, -433.013, -433.013, -433.013, -433.013, // 504 -433.013, -433.013, -433.013, -398.372, -346.410, -294.449, -242.487, -190.526, // 512 -138.564, -86.603, -34.641, 34.641, 86.603, 138.564, 190.526, 242.487, // 520 +294.449, 346.410, 398.372, 450.333, 484.974, 484.974, 484.974, 484.974, // 528 +484.974, 484.974, 484.974, 484.974, 484.974, 450.333, 398.372, 346.410, // 536 +294.449, 242.487, 190.526, 138.564, 86.603, 34.641, -34.641, -86.603, // 544 -138.564, -190.526, -242.487, -294.449, -346.410, -398.372, -450.333, -484.974, // 552 -484.974, -484.974, -484.974, -484.974, -484.974, -484.974, -484.974, -484.974, // 560 -450.333, -398.372, -346.410, -294.449, -242.487, -190.526, -138.564, -86.603, // 568 -034.641 // 576 }; const Float_t rtemp[577] = { 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 0 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 8 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 16 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 24 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 32 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 40 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 48 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 56 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 64 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 72 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 80 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 88 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 96 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 104 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 112 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 120 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 128 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 136 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 144 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 152 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 160 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 168 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 176 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 184 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 192 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 200 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 208 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 216 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 224 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 232 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 240 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 248 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 256 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 264 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 272 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 280 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 288 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 296 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 304 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 312 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 320 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 328 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 336 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 344 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 352 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 360 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 368 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 376 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, 30.00, // 384 30.00, 30.00, 30.00, 30.00, 30.00, 60.00, 60.00, 60.00, // 392 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 400 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 408 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 416 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 424 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 432 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 440 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 448 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 456 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 464 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 472 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 480 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 488 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 496 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 504 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 512 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 520 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 528 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 536 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 544 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 552 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 560 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, 60.00, // 568 60.00 }; // 576 // // fill the pixels list with this data // for (UInt_t i=0; i