File indexing completed on 2026-09-27 09:14:59
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #ifndef PCSIM_GEN_LA_GENERATOR_LOADED
0021 #define PCSIM_GEN_LA_GENERATOR_LOADED
0022
0023 #include <lager/core/generator.hh>
0024 #include <lager/gen/initial/generator.hh>
0025 #include <lager/gen/lA/generator.hh>
0026 #include <lager/gen/lA_event.hh>
0027 #include <lager/proc/decay/lA.hh>
0028 #include <lager/proc/detector/detector.hh>
0029 #include <lager/proc/reconstruction/lA.hh>
0030 #include <memory>
0031
0032 namespace lager {
0033
0034 class lA_generator : public event_generator<lA_event, lA_data> {
0035 public:
0036 using base_type = event_generator<lA_event, lA_data>;
0037
0038 lA_generator(const configuration& cf, const string_path& path,
0039 std::shared_ptr<TRandom> r);
0040
0041 protected:
0042 virtual lA_data generate_initial() const;
0043 virtual void build_event(lA_event& e) const;
0044
0045 private:
0046
0047 std::shared_ptr<initial::vertex_generator> vertex_gen_;
0048 std::shared_ptr<initial::beam_generator> lepton_gen_;
0049 std::shared_ptr<initial::beam_generator> ion_gen_;
0050 std::shared_ptr<initial::target_generator> target_gen_;
0051 std::shared_ptr<initial::photon_generator> photon_gen_;
0052
0053 std::shared_ptr<decay::lA> decay_proc_;
0054 std::shared_ptr<detector::detector> detector_proc_;
0055 std::shared_ptr<reconstruction::lA> rc_proc_;
0056 };
0057
0058 }
0059
0060 #endif