00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef ATLFAST_IKINEMATICBASE_H
00017 #define ATLFAST_IKINEMATICBASE_H
00018
00019 #ifndef STD_STRING_H
00020 #include <string>
00021 #define STD_STRING_H
00022 #endif
00023
00024 #ifndef ATLFAST_IKINEMATIC_H
00025 #include "AtlfastEvent/IKinematic.h"
00026 #endif
00027
00028 #ifndef ATLFAST_AOOBASE_H
00029 #include "AtlfastEvent/AOObase.h"
00030 #endif
00031
00032
00033
00034
00035
00036
00037
00038 #ifndef FOURMOM_P4EETAPHIMBASE_H
00039 #include "FourMom/P4EEtaPhiMBase.h"
00040 #endif
00041
00042 namespace Atlfast {
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062 class IKinematicBase:
00063 virtual public IKinematic,
00064 protected AOObase,
00065 private P4EEtaPhiMBase{
00066 public:
00067
00068 IKinematicBase(const std::string& coordinates="PhiEtaPtE"):
00069 AOObase(),
00070 m_coordinates(coordinates){
00071 }
00072 virtual ~IKinematicBase();
00073
00075 virtual void print(const std::string&, std::string s="") const ;
00076
00077 private:
00078 void dumpPhiEtaPtE(const std::string&)const;
00079 void dumpPxPyPzE(const std::string&)const;
00080 std::string m_coordinates;
00081 };
00082
00083
00084 }
00085
00086 #endif
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099