Go to the documentation of this file.00001 #ifndef FORIA_TRUTHPARTICLE_HH
00002 #define FORIA_TRUTHPARTICLE_HH
00003
00004 #include "ForIA/IFourMomentum.hh"
00005
00006 #include "ForIA/TruthParticle.fh"
00007
00008 #include "boost/smart_ptr.hpp"
00009
00010 #include <vector>
00011
00012 namespace ForIA{
00013
00014 class TruthParticle : public IFourMomentum{
00015
00016 public:
00017
00018 TruthParticle();
00019
00020 double eta()const;
00021 double theta()const;
00022 double phi()const;
00023 double ET()const;
00024 double PT()const;
00025 double E()const;
00026 double m()const;
00027
00029 double px()const;
00031 double py()const;
00033 double pz()const;
00034
00035 int pdgId()const;
00036 double charge()const;
00037 int barcode()const;
00038 int status()const;
00039
00040 int motherPdgId()const;
00041
00042 private:
00043
00044 friend class DataConverter;
00045
00046 mutable double m_eta;
00047 mutable double m_theta;
00048 double m_phi;
00049 mutable double m_et;
00050 double m_pt;
00051 mutable double m_e;
00052
00053 double m_mass;
00054
00055 mutable double m_px;
00056 mutable double m_py;
00057 mutable double m_pz;
00058 mutable bool m_gotpx;
00059 mutable bool m_gotpy;
00060 mutable bool m_gotpz;
00061
00062 int m_pdg;
00063 double m_charge;
00064 int m_barcode;
00065 int m_status;
00066
00067 int m_motherPdg;
00068
00069 mutable bool m_haveTheta;
00070 mutable bool m_haveEta;
00071 mutable bool m_haveET;
00072 mutable bool m_haveE;
00073 bool m_haveMass;
00074 bool m_haveMotherPdgId;
00075
00076 };
00077
00078 }
00079
00080 #endif