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 
0016 #ifndef JetClass_h
0017 #define JetClass_h
0018 
0019 #include <stdio.h>
0020 #include <math.h>
0021 #include "JetScapeParticles.h"
0022 #include "JetScapeConstants.h"
0023 #include "FourVector.h"
0024 #include "fjcore.hh"
0025 
0026 #include <vector>
0027 #include <iostream>
0028 #include <sstream>
0029 #include <iomanip>
0030 
0031 using std::ostream;
0032 
0033 namespace Jetscape {
0034 
0035 // class Parton;
0036 class Vertex;
0037 class FourVector;
0038 
0039 /**************************************************************************************************/
0040 
0041 //  JET CLASS
0042 
0043 /*************************************************************************************************/
0044 
0045 //dummy for now figure out after graph structure ...
0046 
0047 class Jet {
0048   Jet(){};
0049   ~Jet(){};
0050 };
0051 
0052 /**************************************************************************************************/
0053 
0054 //  VERTEX CLASS
0055 
0056 /*************************************************************************************************/
0057 
0058 class Vertex {
0059 
0060 public:
0061   Vertex() { x_in_.Set(0, 0, 0, 0); }
0062   Vertex(double x, double y, double z, double t) { x_in_.Set(x, y, z, t); }
0063   Vertex(FourVector &x) { set_location(x); }
0064   virtual ~Vertex();
0065 
0066   void set_location(FourVector &x) { x_in_ = x; }
0067 
0068   FourVector &x_in() { return (x_in_); }
0069 
0070   friend ostream &operator<<(ostream &output, Vertex &vertex) {
0071     output << vertex.x_in().x() << " " << vertex.x_in().y() << " "
0072            << vertex.x_in().z() << " " << vertex.x_in().t();
0073     return output;
0074   }
0075 
0076 protected:
0077   FourVector x_in_; //location of the vertex
0078   // parents and siblings from Graph structure later ...
0079 };
0080 
0081 }; // namespace Jetscape
0082 
0083 #endif /* JetClass_h */