LDMX Software
TrigScintFirmwareHitProducer.h
Go to the documentation of this file.
1
7#ifndef TRIGSCINT_TRIGSCINTFIRMWAREHITPRODUCER_H
8#define TRIGSCINT_TRIGSCINTFIRMWAREHITPRODUCER_H
9
10/*~~~~~~~~~~*/
11/* ROOT */
12/*~~~~~~~~~~*/
13#include "TRandom3.h"
14
15// LDMX
16#include "DetDescr/TrigScintID.h"
19#include "TrigScint/Event/TrigScintHit.h"
20#include "TrigScint/Event/TrigScintQIEDigis.h"
21
22/*~~~~~~~~~~~~~~~*/
23/* Framework */
24/*~~~~~~~~~~~~~~~*/
25#include "Framework/Configure/Parameters.h"
27
28/*~~~~~~~~~~~*/
29/* TrigScint */
30/*~~~~~~~~~~~*/
31#include "TrigScint/Firmware/objdef.h"
32#include "TrigScint/SimQIE.h"
33
34namespace trigscint {
35
41 public:
42 TrigScintFirmwareHitProducer(const std::string& name,
44 : Producer(name, process) {}
45
47
48 void produce(framework::Event& event) override;
49
54 private:
56 std::string input_collection_;
57
60 std::string input_pass_name_;
61
64 std::string output_collection_;
65
67 double gain_{1e6};
68
70 double pedestal_{6.0};
71
73 double mev_per_mip_{1.40};
74
76 double pe_per_mip_{13.5};
77
80
81 std::string test_collection_;
82
83 bool do_test_{true};
84};
85
86} // namespace trigscint
87
88#endif /* TRIGSCINT_TRIGSCINTFIRMWAREHITPRODUCER_H */
Class providing string constants for the event model.
Base classes for all user event processing components to extend.
Utility used to generate noise hits_.
Implements an event buffer system for storing event data.
Definition Event.h:42
Class which represents the process under execution.
Definition Process.h:36
Base class for a module which produces a data product.
Producer(const std::string &name, Process &process)
Class constructor.
virtual void process(Event &event) final
Processing an event for a Producer is calling produce.
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:29
std::string output_collection_
Name of the output collection that will be used to stored the digitized trigger scintillator hits.
void configure(framework::config::Parameters &ps) override
Callback for the EventProcessor to configure itself from the given set of parameters.
int sample_of_interest_
Total number of photoelectrons per MIP.
void produce(framework::Event &event) override
Process the event and put new data products into it.
std::string input_collection_
add a hit at index idx to a cluster
std::string input_pass_name_
Name of the pass that the input collection is on (empty string means take any pass)
double pe_per_mip_
Total number of photoelectrons per MIP.