23 int main(
int argc,
char **argv)
37 JParser<> zap(
"Auxiliary program to merge detector files.");
41 zap[
't'] =
make_field(tcalset,
"tcal: t0 (time offsets) calibration set from file") =
"";
42 zap[
'p'] =
make_field(pcalset,
"pcal: position (x,y,z) calibration set from file") =
"";
43 zap[
'q'] =
make_field(rcalset,
"rcal: orientation (quaterions) calibration set from file") =
"";
48 catch(
const exception &error) {
49 FATAL(error.what() << endl);
69 copy(buffer.begin(), buffer.end(), back_inserter(
detector));
77 load(tcalset, buffer);
85 for (
const auto& module : buffer) {
86 for (
const auto& pmt : module) {
87 if (router.
hasPMT(pmt.getID()))
90 FATAL(
"Missing PMT " << pmt.getID() << endl);
100 load(pcalset, buffer);
108 for (
const auto& module : buffer) {
111 if (module.getFloor() != 0)
117 FATAL(
"Missing module " << module.getID() << endl);
126 load(rcalset, buffer);
134 for (
const auto& module : buffer) {
138 FATAL(
"Missing module " << module.getID() << endl);
Router for direct addressing of PMT data in detector data structure.
Utility class to parse command line options.
int main(int argc, char *argv[])
Router for direct addressing of module data in detector data structure.
static JRotation getRotation
Function object to get rotation matrix to go from first to second module.
bool hasPMT(const JObjectID &id) const
Has PMT.
Data structure for detector geometry and calibration.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
void store(const std::string &file_name, const JDetector &detector)
Store detector to output file.
Direct access to PMT in detector data structure.
General purpose messaging.
Direct access to module in detector data structure.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
Utility class to parse command line options.
const JModuleAddress & getAddress(const JObjectID &id) const
Get address of module.
bool hasModule(const JObjectID &id) const
Has module.
void copy(const Head &from, JHead &to)
Copy header from from to to.
do set_variable DETECTOR_TXT $WORKDIR detector
const JPMTAddress & getAddress(const JObjectID &id) const
Get address of PMT.