00001 // Interface Object Class : TMuiMCHit 00002 // Author: J.L.Nagle 00003 // Date: 6/23/2003 00004 00005 #ifndef __TMUIMCHITO_H__ 00006 #define __TMUIMCHITO_H__ 00007 00008 #include<TDataType.h> 00009 #include<PHKey.hh> 00010 #include<TMuiMCTwoPack.h> 00011 #include<PHException.h> 00012 #include<PHPoint.h> 00013 00015 00016 00018 class TMuiMCHitO : public PHKey 00019 { 00020 00021 public: 00022 00024 typedef std::vector<TMuiMCTwoPack> twopack_list; 00025 00027 typedef twopack_list::const_iterator twopack_iterator; 00028 00030 00031 00032 TMuiMCHitO(){;} 00033 00035 TMuiMCHitO(const Key& key) : PHKey(key){;} 00036 00038 virtual ~TMuiMCHitO() {;} 00040 00042 00043 00044 virtual void add_twopack(UShort_t orient, UShort_t panel, UShort_t twopack_index){ } 00046 virtual void clear_twopack_list(){} 00048 virtual size_t get_n_twopack() const { return 0;} 00050 virtual const twopack_list* get_twopack_list() const { 00051 // Print a warning about leaked resource, in case it is called. 00052 // 00053 MUTOO::TRACE(DESCRIPTION("Resource leak from base")); 00054 return new twopack_list(); 00055 } 00057 virtual twopack_list* get_mutable_twopack_list() { 00058 // Print a warning about leaked resource, in case it is called. 00059 // 00060 MUTOO::TRACE(DESCRIPTION("Resource leak from base")); 00061 return new twopack_list(); 00062 } 00064 00066 00067 00068 virtual Int_t get_track_id() const {return 0;} 00070 virtual Float_t get_x() const {return 0;} 00072 virtual Float_t get_y() const {return 0;} 00074 virtual Float_t get_z() const {return 0;} 00076 virtual PHPoint get_coord() const { return PHPoint(); } 00078 virtual Float_t get_px() const {return 0;} 00080 virtual Float_t get_py() const {return 0;} 00082 virtual Float_t get_pz() const {return 0;} 00084 virtual Short_t get_pid() const {return 0;} 00086 virtual UShort_t get_file_key() const {return 0;} 00088 virtual void set_track_id(Int_t track_id) { } 00090 virtual void set_x(Float_t x) { } 00092 virtual void set_y(Float_t y) { } 00094 virtual void set_z(Float_t z) { } 00096 virtual void set_px(Float_t px) { } 00098 virtual void set_py(Float_t py) { } 00100 virtual void set_pz(Float_t pz) { } 00102 virtual void set_pid(Short_t pid) { } 00104 virtual void set_file_key(UShort_t file_key) { } 00105 00107 00109 00110 00111 virtual UShort_t get_arm() const {return 0;} 00113 virtual UShort_t get_plane() const {return 0;} 00115 virtual UShort_t get_index() const {return 0;} 00117 virtual void set_arm(UShort_t arm) { } 00119 virtual void set_plane(UShort_t plane) { } 00121 virtual void set_index(UShort_t index) { } 00122 00124 00126 00127 00128 virtual void print(std::ostream& os = std::cout) const {} 00130 00131 ClassDef(TMuiMCHitO,1) 00132 }; 00133 00134 #endif /* __TMUIMCHITO_H__*/ 00135 00136 00137