1
/* This file is part of MAUS: http://micewww.pp.rl.ac.uk:8080/projects/maus
3
* MAUS is free software: you can redistribute it and/or modify
4
* it under the terms of the GNU General Public License as published by
5
* the Free Software Foundation, either version 3 of the License, or
6
* (at your option) any later version.
8
* MAUS is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
13
* You should have received a copy of the GNU General Public License
14
* along with MAUS. If not, see <http://www.gnu.org/licenses/>.
19
/** @class MapCppTOFSlabHits
20
* Reconstruct TOF data and creat Slab hits
21
* by running over the TOF digits.
25
#ifndef _MAP_MAPCPPTOFSLABHITS_H_
26
#define _MAP_MAPCPPTOFSLABHITS_H_
31
#include "json/json.h"
32
#include "src/common_cpp/Utils/TOFChannelMap.hh"
35
class MapCppTOFSlabHits {
39
/** @brief Sets up the worker
41
* @param argJsonConfigDocument a JSON document with
44
bool birth(std::string argJsonConfigDocument);
46
/** @brief Shutdowns the worker
48
* This takes no arguments and does nothing.
52
/** @brief process JSON document
54
* @param document Receive a document with digits and return
55
* a document with slab hits.
57
std::string process(std::string document);
60
std::string _classname;
62
/// Vector to hold the names of all detectors to be processed.
63
std::vector<std::string> _stationKeys;
65
Json::Value fillSlabHit(Json::Value xDocDigit0, Json::Value xDocDigit1);
67
/** @brief makes slab hits
69
* @param xDocDetectorData Json document containing digits from
70
* one particle event in one individual detector.
72
Json::Value makeSlabHits(Json::Value xDocPartEvent);
74
double _tdcV1290_conversion_factor;