/* Copyright (c) 2019, Anthony Latorre * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) * any later version. * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ #ifndef PMT_H #define PMT_H /* FIXME: The OWL PMTs normal vector isn't defined in pmt.txt! * * I'm not sure why, but for now we shouldn't use the OWL tubes in the * likelihood calculation. */ #define MAX_PMTS 10000 /* Radius of the PMT concentrator (cm). */ #define PMT_RADIUS 13.5 /* PMT types from snoman.ratdb. */ #define PMT_NORMAL 1 #define PMT_OWL 2 #define PMT_LG 3 #define PMT_BUTT 4 #define PMT_NECK 5 #define PMT_CALIBRATION 5 #define PMT_SPARE 10 #define PMT_INVALID 11 typedef struct pmt { /* PMT position (cm). */ double pos[3]; /* PMT normal vector (points from the center of the PMT towards the * photocathode). */ double normal[3]; int pmt_type; } pmt; extern pmt pmts[MAX_PMTS]; int load_pmt_info(); #endif