Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HadronPrinter.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file HadronPrinter.h
1 /*******************************************************************************
2  * Copyright (c) The JETSCAPE Collaboration, 2020
3  *
4  * Modular, task-based framework for simulating all aspects of heavy-ion collisions
5  *
6  * For the list of contributors see AUTHORS.
7  *
8  * Report issues at https://github.com/JETSCAPE/JETSCAPE/issues
9  *
10  * or via email to bugs.jetscape@gmail.com
11  *
12  * Distributed under the GNU General Public License 3.0 (GPLv3 or later).
13  * See COPYING for details.
14  ******************************************************************************/
15 
16 
17 #ifndef HADRONPRINTER_H
18 #define HADRONPRINTER_H
19 
20 #include "JetClass.h"
21 //#include <vector>
22 #include <string>
23 #include<fstream>
24 #include "JetScapeModuleBase.h"
25 //#include "PartonShower.h"
26 //#include "sigslot.h"
27 
28 namespace Jetscape {
29 
31  public std::enable_shared_from_this<HadronPrinter>
32 {
33 
34  public:
35 
36  HadronPrinter();
37  virtual ~HadronPrinter();
38 
39  virtual void Init();
40  virtual void Exec() final;
41  virtual void Clear();
42  virtual void WriteTask(weak_ptr<JetScapeWriter> w);
43 
45 
46  void SetFinalHadrons(vector<shared_ptr<Hadron>>& hadrons){
47  finalHadrons = hadrons;
49  }
50 
51  void PrintFinalHadron();
52 
53  private:
54 
55  vector<shared_ptr<Hadron>> finalHadrons;
56  std::ofstream fHadronOutfile;
57 
58  // Allows the registration of the module so that it is available to be used by the Jetscape framework.
60 };
61 
62 } // end namespace Jetscape
63 
64 
65 #endif