File indexing completed on 2025-08-05 08:19:25
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef TRENTOINITIAL_H
0017 #define TRENTOINITIAL_H
0018
0019 #include <tuple>
0020 #include <memory>
0021 #include <iostream>
0022 #include <boost/filesystem.hpp>
0023 #include <boost/filesystem/fstream.hpp>
0024 #include <boost/program_options.hpp>
0025
0026 #include "fwd_decl.h"
0027 #include "JetScapeModuleBase.h"
0028 #include "collider.h"
0029 #include "InitialState.h"
0030 #include "JetScapeLogger.h"
0031
0032 using OptDesc = po::options_description;
0033 using VarMap = po::variables_map;
0034 using namespace trento;
0035
0036 namespace Jetscape {
0037
0038 typedef struct {
0039 double impact_parameter;
0040 double num_participant;
0041 double num_binary_collisions;
0042 double total_entropy;
0043 std::map<int, double> ecc;
0044 std::map<int, double> psi;
0045 double xmid, ymid;
0046 } EventInfo;
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057 class TrentoInitial : public InitialState {
0058 public:
0059
0060 TrentoInitial();
0061 ~TrentoInitial();
0062
0063
0064 void Exec();
0065 void Clear();
0066 void InitTask();
0067
0068 struct RangeFailure : public std::runtime_error {
0069 using std::runtime_error::runtime_error;
0070 };
0071 EventInfo info_;
0072
0073 private:
0074 std::shared_ptr<trento::Collider> TrentoGen_;
0075 std::pair<double, double> GenCenTab(std::string proj, std::string targ,
0076 VarMap var_map, int cL, int cH);
0077
0078
0079
0080
0081 static RegisterJetScapeModule<TrentoInitial> reg;
0082 };
0083
0084 }
0085
0086 #endif