00001 // Interface Object Class : TMuiRoadO 00002 // Author: Jason Newby 00003 // Data: 02/12/03 00004 // Description: Class for muon identifier road 00005 00006 #ifndef _TMUIROADO_H_ 00007 #define _TMUIROADO_H_ 00008 00009 // CINT compatible headers// 00010 // 00011 #include<TDataType.h> 00012 #include<PHKey.hh> 00013 #include<PHException.h> 00014 #include<TMutFitPar.hh> 00015 #include<MUIOO.h> 00016 #include<PHPoint.h> 00017 00018 00020 00021 00037 class TMuiRoadO : public PHKey { 00038 00039 public: 00040 00042 00043 00045 TMuiRoadO(){;} 00046 00048 virtual ~TMuiRoadO(){;} 00049 00051 TMuiRoadO(const Key& key) : 00052 PHKey(key){;} 00053 00055 TMuiRoadO(const Key&, 00056 UShort_t arm, 00057 UShort_t index){;} 00058 00060 00062 00063 00065 virtual TMutFitPar get_fit_par() const { return TMutFitPar();} 00066 00068 virtual const TMutFitPar* get_const_fitpar() const { return 0;} 00069 00071 virtual void set_fit_par(const TMutFitPar& fit_par) {} 00072 00074 00076 00077 00082 virtual PHPoint get_gap0_point() const { return PHPoint(); } 00083 00085 virtual void set_depth( UShort_t depth) {} 00086 00088 virtual void set_nhit( UShort_t nhit) {} 00089 00091 virtual void set_max_hit_plane( UShort_t maxhit ) {} 00092 00094 virtual void set_road_quality( Float_t quality) {} 00095 00097 virtual void set_ghost_flag( UShort_t ghostflag) {} 00098 00100 virtual void set_gapbit( UShort_t gapbit) {} 00101 00103 virtual void set_group( UShort_t group) {} 00104 00106 virtual void set_golden( UShort_t golden) {} 00107 00109 virtual void set_freedom( UShort_t freedom) {} 00110 00112 virtual UShort_t get_depth() const { return 0;} 00113 00115 virtual UShort_t get_nhit() const {return 0;} 00116 00118 virtual UShort_t get_max_hit_plane() const {return 0;} 00119 00121 virtual Float_t get_road_quality() const {return 0;} 00122 00124 virtual UShort_t get_freedom() const {return 0;} 00125 00127 virtual UShort_t get_ghost_flag() const {return 0;} 00128 00130 virtual UShort_t get_gapbit() const {return 0;} 00131 00133 virtual UShort_t get_group() const {return 0;} 00134 00136 virtual UShort_t get_golden() const {return 0;} 00137 00139 00141 00142 00143 virtual void set_arm( UShort_t arm) {} 00144 00146 virtual void set_index( UShort_t index) {} 00147 00149 virtual UShort_t get_arm() const {return 0;} 00150 00152 virtual UShort_t get_index() const {return 0;} 00153 00155 00157 00158 00159 virtual void print(std::ostream& os = std::cout) const {} 00160 00162 00163 ClassDef(TMuiRoadO,1) 00164 00165 }; 00166 00167 00168 class TMuiRoadO_v1 : public TMuiRoadO { 00169 00170 public: 00171 00172 TMuiRoadO_v1(); 00173 00174 virtual ~TMuiRoadO_v1(){;} 00175 00176 TMuiRoadO_v1(const Key&, 00177 UShort_t arm, 00178 UShort_t index); 00179 00180 00181 TMuiRoadO_v1(const TMuiRoadO*); 00182 00183 TMuiRoadO_v1(const TMuiRoadO&); 00184 00185 TMutFitPar get_fit_par() const {return _fit_par;} 00186 const TMutFitPar* get_const_fitpar() const {return &_fit_par;} 00187 00188 00189 PHPoint get_gap0_point() const; 00190 00191 void set_fit_par(const TMutFitPar& fit_par) {_fit_par = fit_par;} 00192 00193 void set_depth( UShort_t depth) { _depth=depth;} 00194 00195 void set_nhit( UShort_t nhit) { _nhit=nhit;} 00196 00197 void set_max_hit_plane( UShort_t maxhit ) { _max_hit_plane=maxhit;} 00198 00199 void set_road_quality( Float_t quality) { _road_quality=quality;} 00200 00201 void set_ghost_flag( UShort_t ghostflag) { _ghost_flag=ghostflag;} 00202 00203 void set_gapbit( UShort_t gapbit) { _gapbit=gapbit;} 00204 00205 void set_group( UShort_t group) { _group=group;} 00206 00207 void set_golden( UShort_t golden) { _golden=golden;} 00208 00209 void set_freedom( UShort_t freedom) { _freedom=freedom;} 00210 00211 UShort_t get_depth() const { return _depth;} 00212 00213 UShort_t get_nhit() const { return _nhit;} 00214 00215 UShort_t get_max_hit_plane() const { return _max_hit_plane;} 00216 00217 Float_t get_road_quality() const { return _road_quality;} 00218 00219 UShort_t get_freedom() const { return _freedom;} 00220 00221 UShort_t get_ghost_flag() const {return _ghost_flag;} 00222 00223 UShort_t get_gapbit() const {return _gapbit;} 00224 00225 UShort_t get_group() const {return _group;} 00226 00227 UShort_t get_golden() const {return _golden;} 00228 00229 void set_arm( UShort_t arm) { _arm=arm;} 00230 00231 void set_index( UShort_t index) { _index=index;} 00232 00233 UShort_t get_arm() const {return _arm;} 00234 00235 UShort_t get_index() const {return _index;} 00236 00237 void print(std::ostream& os = std::cout) const { 00238 MUIOO::PRINT(os,GetName()); 00239 os << " arm: " << _arm << std::endl; 00240 os << " index: " << _index << std::endl; 00241 os << " depth: " << _depth << std::endl; 00242 os << " quality: " << _road_quality << std::endl; 00243 os << " freedom: " << _freedom << std::endl; 00244 os << " ghostflag: " << _ghost_flag << std::endl; 00245 os << " group: " << _group << std::endl; 00246 os << " golden: " << _golden << std::endl; 00247 os << " nhit: " << _nhit << std::endl; 00248 os << " chi_square: " << _fit_par.get_chi_square() << " " << std::endl; 00249 os << " ref position: " << _fit_par.get_x() << " " << 00250 _fit_par.get_y() << " " << 00251 _fit_par.get_z() << " " << std::endl; 00252 00253 os << " ref direction: " 00254 << _fit_par.get_dxdz() << " " 00255 << _fit_par.get_dydz() << " " 00256 << std::endl; 00257 00258 os << " gap0 point: " 00259 << get_gap0_point().getX() << " " 00260 << get_gap0_point().getY() << " " 00261 << get_gap0_point().getZ() << std::endl; 00262 00263 MUIOO::PRINT(os,"**"); 00264 } 00265 00266 private: 00267 00268 UShort_t _arm; 00269 UShort_t _index; 00270 00271 TMutFitPar _fit_par; 00272 00273 UShort_t _depth; 00274 UShort_t _nhit; 00275 UShort_t _max_hit_plane; 00276 Float_t _road_quality; 00277 UShort_t _freedom; 00278 UShort_t _ghost_flag; 00279 UShort_t _gapbit; 00280 UShort_t _group; 00281 UShort_t _golden; 00282 00283 ClassDef(TMuiRoadO_v1,1) 00284 }; 00285 00286 #endif /* _TMUIROADO_H_ */ 00287 00288 00289 00290 00291 00292 00293 00294 00295