00001
00002
00003
00004
00005 #ifndef ATLFAST_IKINEMATIC_H
00006 #define ATLFAST_IKINEMATIC_H
00007
00008 class MsgStream;
00009
00010 class HepLorentzVector;
00011
00012 namespace Atlfast {
00033 class IKinematic;
00034 MsgStream& operator << ( MsgStream&, const IKinematic& );
00035 MsgStream& operator << ( MsgStream&, const IKinematic * const );
00036
00037 class IKinematic
00038 {
00039
00040 public:
00041
00042 virtual HepLorentzVector momentum() const = 0 ;
00043 virtual double eta() const = 0 ;
00044 virtual double phi() const = 0 ;
00045 virtual double pT() const = 0 ;
00046 virtual double eT() const = 0 ;
00047 virtual double mT() const = 0 ;
00048
00049 };
00050
00051 }
00052 #endif
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066