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/>.
18
/** @class MapCppTrackerRecon
19
* Digitize events by running Tracker electronics simulation.
23
#ifndef _SRC_MAP_MAPCPPTrackerPRSeed_H_
24
#define _SRC_MAP_MAPCPPTrackerPRSeed_H_
28
#include <json/json.h>
29
#include <CLHEP/Units/PhysicalConstants.h>
39
#include "Utils/Squeak.hh"
40
#include "Config/MiceModule.hh"
41
#include "src/common_cpp/Utils/CppErrorHandler.hh"
42
#include "src/common_cpp/Utils/JsonWrapper.hh"
44
#include "src/common_cpp/DataStructure/Spill.hh"
45
#include "src/common_cpp/DataStructure/SciFiEvent.hh"
46
#include "src/common_cpp/DataStructure/SciFiHelicalPRTrack.hh"
47
#include "src/common_cpp/DataStructure/SciFiStraightPRTrack.hh"
48
#include "src/common_cpp/Recon/SciFi/RealDataDigitization.hh"
49
#include "src/common_cpp/DataStructure/SciFiDigit.hh"
51
#include "src/common_cpp/API/MapBase.hh"
55
class MapCppTrackerPRSeed : public MapBase<Data> {
57
MapCppTrackerPRSeed();
59
~MapCppTrackerPRSeed();
62
/** Sets up the worker
64
* \param argJsonConfigDocument a JSON document with
67
void _birth(const std::string& argJsonConfigDocument);
69
/** Shutdowns the worker
71
* This takes no arguments and does nothing
75
/** process MAUS spill object
77
* Receive a document with MC hits and return
78
* a document with digits
79
* \param document a MAUS data object for a MICE spill
81
void _process(Data* document) const;
85
SciFiSeed* _make_helical_seed(SciFiHelicalPRTrack* h) const;
86
SciFiSeed* _make_straight_seed(SciFiStraightPRTrack* s) const;
88
/// This will contain the configuration
89
Json::Value _configJSON;
90
/// This will contain the root value after parsing
94
/// Cut value for npe.