Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-27 09:14:59

0001 // lAger: General Purpose l/A-event Generator
0002 // Copyright (C) 2016-2021 Sylvester Joosten <sjoosten@anl.gov>
0003 // 
0004 // This file is part of lAger.
0005 // 
0006 // lAger is free software: you can redistribute it and/or modify
0007 // it under the terms of the GNU General Public License as published by
0008 // the Free Shoftware Foundation, either version 3 of the License, or
0009 // (at your option) any later version.
0010 // 
0011 // lAger is distributed in the hope that it will be useful,
0012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
0013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0014 // GNU General Public License for more details.
0015 // 
0016 // You should have received a copy of the GNU General Public License
0017 // along with lAger.  If not, see <https://www.gnu.org/licenses/>.
0018 // 
0019 
0020 #ifndef LAGER_PROC_RECONSTRUCTION_LA_LOADED
0021 #define LAGER_PROC_RECONSTRUCTION_LA_LOADED
0022 
0023 #include <lager/gen/lA_event.hh>
0024 #include <lager/proc/reconstruction/reconstruction.hh>
0025 
0026 namespace lager {
0027 namespace reconstruction {
0028 // =============================================================================
0029 // RECONSTRUCT ADDITIONAL PARTICLES IN A GAMMA_P EVENT
0030 //
0031 // also handles trigger-level cuts
0032 //
0033 // Note: sets the event weight to zero for events that don't pass the cut
0034 //       (will then be removed by the event_generator)
0035 // =============================================================================
0036 
0037 class lA : public reconstruction<lA_event> {
0038 public:
0039   using base_type = reconstruction<lA_event>;
0040   lA(const configuration& conf, const string_path& path,
0041            std::shared_ptr<TRandom> r);
0042   virtual void process(lA_event& e) const;
0043 
0044 private:
0045   const bool require_leading_{false};
0046   const bool veto_leading_{false};
0047   const bool require_scat_{false};
0048   const bool veto_scat_{false};
0049   const bool require_recoil_{false};
0050   const bool veto_recoil_{false};
0051 };
0052 
0053 } // namespace reconstruction
0054 } // namespace lager
0055 
0056 #endif