40
40
#include "TRandom.h"
41
41
#include "Config/MiceModule.hh"
43
#include "API/MapBase.hh"
46
class MapCppKLMCDigitizer {
47
class MapCppKLMCDigitizer : public MapBase<Json::Value> {
48
bool birth(std::string argJsonConfigDocument);
52
std::string process(std::string document);
54
bool check_sanity_mc(std::string document);
56
double calculate_nphe_at_pmt(double dist, double edep);
58
std::vector<Json::Value> make_kl_digits(Json::Value hits);
49
MapCppKLMCDigitizer();
52
void _birth(const std::string& argJsonConfigDocument);
56
void _process(Json::Value* document) const;
58
int calculate_nphe_at_pmt(double dist, double edep) const;
60
Json::Value check_sanity_mc(const Json::Value& document) const;
62
std::vector<Json::Value> make_kl_digits(Json::Value hits, Json::Value& root) const;
60
64
Json::Value fill_kl_evt(int evnum,
61
std::vector<Json::Value> _alldigits);
63
bool check_param(Json::Value* hit1, Json::Value* hit2);
65
// Calculates the time of the calorimeter trigger.
66
double calcTriggerTime(Json::Value hits);
65
std::vector<Json::Value> _alldigits) const;
67
bool check_param(Json::Value* hit1, Json::Value* hit2) const;
69
70
MiceModule* geo_module;
70
71
std::vector<const MiceModule*> kl_modules;
72
std::string _classname;
73
73
Json::Value _configJSON;