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 {
00013
00014 class IKinematic;
00015 MsgStream& operator << ( MsgStream&, const IKinematic& );
00016 MsgStream& operator << ( MsgStream&, const IKinematic * const );
00036 class IKinematic
00037 {
00038
00039 public:
00040
00041 virtual HepLorentzVector momentum() const = 0 ;
00042 virtual double eta() const = 0 ;
00043 virtual double phi() const = 0 ;
00044 virtual double pT() const = 0 ;
00045 virtual double eT() const = 0 ;
00046 virtual double mT() const = 0 ;
00047
00048 };
00049
00050 }
00051 #endif
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065