Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:19:17

0001 /*******************************************************************************
0002  * Copyright (c) The JETSCAPE Collaboration, 2018
0003  *
0004  * Modular, task-based framework for simulating all aspects of heavy-ion collisions
0005  *
0006  * For the list of contributors see AUTHORS.
0007  *
0008  * Report issues at https://github.com/JETSCAPE/JETSCAPE/issues
0009  *
0010  * or via email to bugs.jetscape@gmail.com
0011  *
0012  * Distributed under the GNU General Public License 3.0 (GPLv3 or later).
0013  * See COPYING for details.
0014  ******************************************************************************/
0015 // This is a general basic class for hadronic afterburner
0016 
0017 #ifndef AFTERBURNER_H
0018 #define AFTERBURNER_H
0019 
0020 #include "JetScapeModuleBase.h"
0021 #include "SoftParticlization.h"
0022 #include "sigslot.h"
0023 
0024 namespace Jetscape {
0025 
0026 /// Interface to hadronic afterburner
0027 class Afterburner : public JetScapeModuleBase {
0028 public:
0029   Afterburner() {
0030     VERBOSE(8);
0031     SetId("Afterburner");
0032   }
0033 
0034   ~Afterburner() {
0035     VERBOSE(8);
0036     disconnect_all();
0037   }
0038 
0039   virtual void Init();
0040   virtual void Exec();
0041 
0042 protected:
0043   /// Gather all hadrons from soft particlization and fragmentation
0044   std::vector<std::vector<std::shared_ptr<Hadron>>> GatherAfterburnerHadrons();
0045   /// Get the events of soft particlization hadrons
0046   std::vector<std::vector<std::shared_ptr<Hadron>>> GetSoftParticlizationHadrons();
0047   /// Get the list of fragmentation hadrons
0048   std::vector<std::shared_ptr<Hadron>> GetFragmentationHadrons();
0049 
0050   std::vector<std::vector<std::shared_ptr<Hadron>>> dummy;
0051   std::uniform_real_distribution<double> ZeroOneDistribution;
0052   // rng for the Kaon-L / Kaon-S switch to K0 / Anti-K0
0053   std::shared_ptr<std::uniform_int_distribution<int>> rand_int_ptr_;
0054 };
0055 
0056 } // end namespace Jetscape
0057 
0058 #endif // AFTERBURNER_H