Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

TMuiClusterO.h

Go to the documentation of this file.
00001 // Interface Object Class : TMuiClusterO
00002 // Author: Jason Newby
00003 // Data: 02/12/03
00004 // Description: Class for muon identifier road
00005 
00006 #ifndef _TMUICLUSTERO_H_
00007 #define _TMUICLUSTERO_H_
00008 
00009 // CINT compatible headers//
00010 //
00011 #include<TDataType.h>
00012 #include<PHKey.hh>
00013 #include<PHException.h>
00014 #include<MUIOO.h>
00015 #include<PHPoint.h>
00016 #include<PHLine.h>
00017 
00018 
00020 
00021 
00033 class TMuiClusterO : public PHKey {
00034 
00035 public:
00036 
00038 
00039   
00041   TMuiClusterO(){;}  
00042   
00044   virtual ~TMuiClusterO(){;}
00045   
00047   TMuiClusterO(const Key& key) :
00048     PHKey(key){;}
00049   
00051   TMuiClusterO(const Key&,
00052                UShort_t arm,
00053                UShort_t plane,
00054                UShort_t panel,
00055                UShort_t orientation,
00056                UShort_t index){;}
00057   
00059 
00060 
00062   virtual void set_size(UShort_t size) {}
00064   virtual void set_centroidpos(const PHPoint& point) {}
00066   virtual void set_centroidsigma(const PHPoint& point) {}
00067   
00069   virtual UShort_t get_size() const {return 0;}
00071   virtual PHPoint get_centroidpos() const {return PHPoint();}
00073   virtual PHPoint get_centroidsigma() const {return PHPoint();}
00074   
00076   virtual void set_coord(const PHLine& line) {}
00078   virtual void set_coord_end(const PHPoint& point) {}
00080   virtual void set_coord_begin(const PHPoint& point) {}
00081 
00083   virtual PHLine get_coord() const{return PHLine();}
00085   virtual PHPoint get_coord_end() const { return PHPoint();}
00087   virtual PHPoint get_coord_begin() const { return PHPoint();}
00088 
00090 
00092 
00093 
00094   virtual void set_arm( UShort_t arm) {}
00096   virtual void set_plane( UShort_t plane) {}
00098   virtual void set_panel( UShort_t panel) {}
00100   virtual void set_orientation( UShort_t orientation) {}
00101 
00103   virtual UShort_t get_arm() const {return 0;}
00105   virtual UShort_t get_plane() const {return 0;}
00107   virtual UShort_t get_panel() const {return 0;}
00109   virtual UShort_t get_orientation() const {return 0;}
00111   virtual UShort_t get_index() const {return 0;}
00112 
00114 
00116 
00117 
00118   virtual void print(std::ostream& os = std::cout) const {}
00119 
00121 
00122   ClassDef(TMuiClusterO,1)
00123 
00124 };
00125 
00127 class TMuiClusterO_v1 : public TMuiClusterO {
00128 
00129 public:
00130 
00131   TMuiClusterO_v1();  
00132 
00133   virtual ~TMuiClusterO_v1(){;}
00134 
00135   TMuiClusterO_v1(const Key&,
00136                   UShort_t arm,
00137                   UShort_t plane,
00138                   UShort_t panel,
00139                   UShort_t orientation,
00140                   UShort_t index);  
00141 
00142   TMuiClusterO_v1(const TMuiClusterO*);  
00143   TMuiClusterO_v1(const TMuiClusterO&);  
00144 
00145   void set_arm( UShort_t arm) { _arm=arm;}
00146   void set_plane( UShort_t plane) { _plane=plane;}
00147   void set_panel( UShort_t panel) { _panel=panel;}
00148   void set_orientation( UShort_t orientation) { _orientation=orientation;}
00149   void set_index( UShort_t index) { _index=index;}
00150 
00151   UShort_t get_arm() const {return _arm;}
00152   UShort_t get_plane() const {return _plane;}
00153   UShort_t get_panel() const {return _panel;}
00154   UShort_t get_orientation() const {return _orientation;}
00155   UShort_t get_index() const {return _index;}
00156 
00157   void set_size(UShort_t size) {_size=size;}
00158   void set_centroidpos(const PHPoint& point);
00159   void set_centroidsigma(const PHPoint& point);
00160   
00161   UShort_t get_size() const {return 0;}
00162   PHPoint get_centroidpos() const;
00163   PHPoint get_centroidsigma() const;
00164   
00165   void print(std::ostream& os = std::cout) const {
00166     MUIOO::PRINT(os,GetName());
00167     os << " index: " << _index << std::endl;
00168     os << " arm: " << _arm << std::endl;
00169     os << " plane: " << _plane << std::endl;
00170     os << " panel: " << _panel << std::endl;
00171     os << " orientation: " << _orientation << std::endl;
00172     os << " centroidpos: (" << _centroidpos[0] << ","
00173        << _centroidpos[1] << ","
00174        << _centroidpos[2] <<")" << std::endl;
00175    MUIOO::PRINT(os,"**");
00176   }
00177   
00178 private:
00179   
00180   UShort_t _arm;
00181   UShort_t _plane;
00182   UShort_t _panel;
00183   UShort_t _orientation;
00184   UShort_t _size;
00185   UShort_t _index;
00186   
00187   enum {POINT_SIZE=3};
00188   double _centroidpos[POINT_SIZE]; 
00189   double _centroidsigma[POINT_SIZE]; 
00190 
00191   ClassDef(TMuiClusterO_v1,1)
00192 };
00193 
00195 class TMuiClusterO_v2 : public TMuiClusterO {
00196 
00197 public:
00198 
00199   TMuiClusterO_v2();  
00200 
00201   virtual ~TMuiClusterO_v2(){;}
00202 
00203   TMuiClusterO_v2(const Key&,
00204                   UShort_t arm,
00205                   UShort_t plane,
00206                   UShort_t panel,
00207                   UShort_t orientation,
00208                   UShort_t index);  
00209 
00210   TMuiClusterO_v2(const TMuiClusterO*);  
00211   TMuiClusterO_v2(const TMuiClusterO&);  
00212 
00213   void set_arm( UShort_t arm) { _arm=arm;}
00214   void set_plane( UShort_t plane) { _plane=plane;}
00215   void set_panel( UShort_t panel) { _panel=panel;}
00216   void set_orientation( UShort_t orientation) { _orientation=orientation;}
00217   void set_index( UShort_t index) { _index=index;}
00218 
00219   UShort_t get_arm() const {return _arm;}
00220   UShort_t get_plane() const {return _plane;}
00221   UShort_t get_panel() const {return _panel;}
00222   UShort_t get_orientation() const {return _orientation;}
00223   UShort_t get_index() const {return _index;}
00224 
00225   void set_size(UShort_t size) {_size=size;}
00226   void set_centroidpos(const PHPoint& point);
00227   void set_centroidsigma(const PHPoint& point);
00228 
00229   UShort_t get_size() const {return 0;}
00230   PHPoint get_centroidpos() const;
00231   PHPoint get_centroidsigma() const;
00232 
00233   void set_coord(const PHLine& line);
00234   void set_coord_end(const PHPoint& point);
00235   void set_coord_begin(const PHPoint& point);
00236 
00237   PHLine get_coord() const;
00238   PHPoint get_coord_end() const;
00239   PHPoint get_coord_begin() const;
00240 
00241   void print(std::ostream& os = std::cout) const {
00242     MUIOO::PRINT(os,GetName());
00243     os << " index: " << _index << std::endl;
00244     os << " arm: " << _arm << std::endl;
00245     os << " plane: " << _plane << std::endl;
00246     os << " panel: " << _panel << std::endl;
00247     os << " orientation: " << _orientation << std::endl;
00248     os << " centroidpos: (" << _centroidpos[0] << ","
00249        << _centroidpos[1] << ","
00250        << _centroidpos[2] <<")" << std::endl;
00251     os << " centroidsigma: (" << _centroidsigma[0] << ","
00252        << _centroidsigma[1] << ","
00253        << _centroidsigma[2] <<")" << std::endl;
00254     os << " x1: " << _point_1[0] << " y1: " << _point_1[1] 
00255        << " z1: " << _point_1[2] << std::endl;
00256     os << " x2: " << _point_2[0] << " y2: " << _point_2[1] 
00257        << " z2: " << _point_2[2] << std::endl;
00258    MUIOO::PRINT(os,"**");
00259   }
00260   
00261 private:
00262   
00263   UShort_t _arm;
00264   UShort_t _plane;
00265   UShort_t _panel;
00266   UShort_t _orientation;
00267   UShort_t _size;
00268   UShort_t _index;
00269   
00270   enum {POINT_SIZE=3};
00271   double _centroidpos[POINT_SIZE]; 
00272   double _centroidsigma[POINT_SIZE]; 
00273   double _point_1[POINT_SIZE]; 
00274   double _point_2[POINT_SIZE];
00275 
00276   ClassDef(TMuiClusterO_v2,1)
00277 };
00278 
00279 #endif /* _TMUICLUSTERO_H_ */

MUIOO: PHENIX Muon Identifier Analysis Framework. Documentation by doxygen
Last modified: