File indexing completed on 2024-11-16 09:02:06
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef INCLUDE_EICSMEAR_ERHIC_VIRTUALPARTICLE_H_
0011 #define INCLUDE_EICSMEAR_ERHIC_VIRTUALPARTICLE_H_
0012
0013 #include <TLorentzVector.h>
0014 #include <TVector3.h>
0015
0016 #include "eicsmear/erhic/Pid.h"
0017
0018 namespace erhic {
0019
0020
0021
0022
0023 class VirtualParticle : public TObject {
0024 public:
0025
0026
0027
0028 virtual ~VirtualParticle() { }
0029
0030
0031
0032
0033 virtual Pid Id() const = 0;
0034
0035
0036
0037
0038 virtual TLorentzVector Get4Vector() const = 0;
0039
0040
0041
0042
0043 virtual Double_t GetPx() const = 0;
0044
0045
0046
0047
0048 virtual Double_t GetPy() const = 0;
0049
0050
0051
0052
0053 virtual Double_t GetPz() const = 0;
0054
0055
0056
0057
0058 virtual Double_t GetE() const = 0;
0059
0060
0061
0062
0063 virtual Double_t GetP() const = 0;
0064
0065
0066
0067
0068 virtual Double_t GetM() const = 0;
0069
0070
0071
0072
0073 virtual Double_t GetPt() const = 0;
0074
0075
0076
0077
0078 virtual Double_t GetTheta() const = 0;
0079
0080
0081
0082
0083 virtual Double_t GetPhi() const = 0;
0084
0085
0086
0087
0088 virtual Double_t GetRapidity() const = 0;
0089
0090
0091
0092
0093 virtual Double_t GetEta() const = 0;
0094
0095
0096
0097
0098
0099 virtual TVector3 GetVertex() const = 0;
0100
0101
0102
0103
0104
0105 virtual UShort_t GetStatus() const = 0;
0106
0107
0108
0109
0110 virtual UShort_t GetParentIndex() const = 0;
0111
0112
0113
0114
0115 virtual void SetVertex(const TVector3& ) = 0;
0116
0117
0118
0119
0120
0121 virtual void Set4Vector(const TLorentzVector& ) = 0;
0122
0123 ClassDef(erhic::VirtualParticle, 1)
0124 };
0125
0126 }
0127
0128 #endif