00001 00002 00003 // ************************************************************************** 00004 // * * 00005 // * ! ! ! A T T E N T I O N ! ! ! * 00006 // * * 00007 // * This file was created automatically by GaudiObjDesc, please do not * 00008 // * delete it or edit it by hand. * 00009 // * * 00010 // * If you want to change this file, first change the corresponding * 00011 // * xml-file and rerun the tools from GaudiObjDesc (or run make if you * 00012 // * are using it from inside a Gaudi-package). * 00013 // * * 00014 // ************************************************************************** 00015 00016 00017 00018 #ifndef TrEvent_TrMeasurement_H 00019 #define TrEvent_TrMeasurement_H 1 00020 00021 // Include files 00022 #include "Kernel/CLHEPStreams.h" 00023 #include "GaudiKernel/ObjectList.h" 00024 #include "GaudiKernel/ObjectVector.h" 00025 #include "GaudiKernel/StreamBuffer.h" 00026 00027 00037 class TrMeasurement 00038 { 00039 00040 public: 00041 00042 enum Type {OTMeasurement,STMeasurement,VeloRMeasurement,VeloPhiMeasurement}; 00043 00045 TrMeasurement() {} 00046 00048 virtual ~TrMeasurement() {} 00049 00051 virtual TrMeasurement* clone() const = 0; 00052 00054 Type type() const; 00055 00057 friend StreamBuffer& operator<< (StreamBuffer& s, const TrMeasurement& obj) 00058 { 00059 return obj.serialize(s); 00060 } 00061 00063 friend StreamBuffer& operator>> (StreamBuffer& s, TrMeasurement& obj) 00064 { 00065 return obj.serialize(s); 00066 } 00067 00069 friend std::ostream& operator<< (std::ostream& s, const TrMeasurement& obj) 00070 { 00071 return obj.fillStream(s); 00072 } 00073 00075 virtual StreamBuffer& serialize(StreamBuffer& s) const; 00076 00078 virtual StreamBuffer& serialize(StreamBuffer& s); 00079 00081 virtual std::ostream& fillStream(std::ostream& s) const; 00082 00083 protected: 00084 00085 private: 00086 00087 00088 }; 00089 00090 // ----------------------------------------------------------------------------- 00091 // end of class 00092 // ----------------------------------------------------------------------------- 00093 00094 00095 inline StreamBuffer& TrMeasurement::serialize(StreamBuffer& s) const 00096 { 00097 return s; 00098 } 00099 00100 inline StreamBuffer& TrMeasurement::serialize(StreamBuffer& s) 00101 { 00102 return s; 00103 } 00104 00105 inline std::ostream& TrMeasurement::fillStream(std::ostream& s) const 00106 { 00107 return s; 00108 } 00109 00110 00111 #endif