LDMX Software
DarkBremInteraction.h
2#include "Math/Vector3D.h"
3#include "SimCore/Event/SimParticle.h"
4
5namespace dqm {
32 public:
33 DarkBremInteraction(const std::string& n, framework::Process& p)
34 : framework::Producer(n, p) {}
48 virtual void produce(framework::Event& e) override;
49
50 void configure(framework::config::Parameters& parameters) override;
51
52 private:
85 std::map<std::string, int> known_materials_ = {
86 {"Carbon", 1},
87 {"PCB", 2}, // in v12, the motherboards were simple
88 // rectangles with 'PCB' in the name
89 {"Glue", 3},
90 {"Si", 4},
91 {"Al", 5},
92 {"W", 6},
93 {"target", 6},
94 {"trigger_pad", 7},
95 {"strongback", 5}, // strongback
96 // is made of
97 // aluminum
98 {"motherboard", 2}, // motherboards are PCB
99 {"support", 5}, // support box is aluminum
100 {"CFMix", 3}, // in v12, we called the Glue layers CFMix
101 {"C_volume", 1}, // in v12, we called the carbon cooling planes C but
102 // this is too general for substr matching
103 {"Air", 8}};
104
132 std::map<int, int> known_elements_ = {{1, 1}, {6, 2}, {8, 3}, {11, 4},
133 {14, 5}, {20, 6}, {29, 7}, {39, 8},
134 {71, 9}, {74, 10}};
135 std::string particle_coll_name_;
136 std::string particle_passname_;
137};
138
139} // namespace dqm
Base classes for all user event processing components to extend.
Go through the particle map and find the dark brem products, storing their vertex and the dark brem o...
void configure(framework::config::Parameters &parameters) override
Callback for the EventProcessor to configure itself from the given set of parameters.
std::map< std::string, int > known_materials_
the list of known materials assigning them to material ID numbers
virtual void produce(framework::Event &e) override
extract the kinematics of the dark brem interaction from the SimParticles
std::map< int, int > known_elements_
The list of known elements assigning them to the bins that we are putting them into.
Implements an event buffer system for storing event data.
Definition Event.h:42
Class which represents the process under execution.
Definition Process.h:37
Base class for a module which produces a data product.
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:29