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

TMuiPseudoBLTO.h

Go to the documentation of this file.
00001 // Interface Object Class : TMuiPseudoBLT
00002 // Author: chun zhang
00003 // Data: 12/03/03
00004 // Description: Class for muon identifier road
00005 
00006 #ifndef _TMUIPseudoBLTO_H_
00007 #define _TMUIPseudoBLTO_H_
00008 
00009 // CINT compatible headers//
00010 //
00011 #include<TDataType.h>
00012 #include<PHKey.hh>
00013 #include<PHException.h>
00014 #include<MUIOO.h>
00015 
00016 
00018 
00019 
00028 class TMuiPseudoBLTO : public PHKey {
00029 
00030 public:
00031 
00033 
00034   
00036   TMuiPseudoBLTO(){;}  
00037   
00039   virtual ~TMuiPseudoBLTO(){;}
00040   
00042   TMuiPseudoBLTO(const Key& key) :
00043     PHKey(key){;}
00044   
00046   TMuiPseudoBLTO(const Key&,
00047                  UShort_t arm,
00048                  UShort_t index){;}
00049   
00051   
00053 
00054   
00056   virtual void fire_2D() {;}
00057 
00059   virtual void fire_1D1S() {;}
00060 
00062   virtual void fire_1D(const UShort_t iquad) {;}
00063 
00065   virtual void fire_1S(const UShort_t iquad) {;}
00066 
00068 
00069 
00070   
00072   virtual void fire_reco_2D() {;}
00073 
00075   virtual void fire_reco_1D1S() {;}
00076 
00078   virtual void fire_reco_1D(const UShort_t iquad) {;}
00079 
00081   virtual void fire_reco_1S(const UShort_t iquad) {;}
00082 
00084 
00086 
00087 
00089   virtual bool is_2D_fired() const { return false;}
00090 
00092   virtual bool is_1D1S_fired() const { return false;}
00093 
00095   virtual bool is_1D_fired(const UShort_t iquad) const { return false;}
00096 
00098   virtual bool is_1S_fired(const UShort_t iquad) const { return false;}
00099 
00101 
00103 
00104 
00105   virtual bool check_2D_trigger() const { return false;}
00106 
00108   virtual bool check_1D1S_trigger() const { return false;}
00109 
00111 
00113   virtual bool is_reco_2D_fired() const { return false;}
00114 
00116   virtual bool is_reco_1D1S_fired() const { return false;}
00117 
00119   virtual bool is_reco_1D_fired(const UShort_t iquad) const { return false;}
00120 
00122   virtual bool is_reco_1S_fired(const UShort_t iquad) const { return false;}
00123 
00125 
00127 
00128 
00129   virtual bool check_2D_with_reco() const { return false;}
00130 
00132   virtual bool check_1D1S_with_reco() const { return false;}
00133 
00135 
00137 
00138 
00139   virtual void set_arm( UShort_t arm) {}
00140 
00142   virtual void set_index( UShort_t index) {}
00143 
00145   virtual UShort_t get_arm() const {return 0;}
00146 
00148   virtual UShort_t get_index() const {return 0;}
00149 
00151 
00153 
00154 
00155   virtual void print(std::ostream& os = std::cout) const {}
00156 
00158 
00159   ClassDef(TMuiPseudoBLTO,1)
00160 
00161 };
00162 
00163 
00164 class TMuiPseudoBLTO_v1 : public TMuiPseudoBLTO {
00165 
00166 public:
00167 
00168   TMuiPseudoBLTO_v1();  
00169 
00170   virtual ~TMuiPseudoBLTO_v1(){;}
00171 
00172   TMuiPseudoBLTO_v1(const Key&,
00173                     UShort_t arm,
00174                     UShort_t index);  
00175 
00176 
00177   TMuiPseudoBLTO_v1(const TMuiPseudoBLTO*);  
00178 
00179   TMuiPseudoBLTO_v1(const TMuiPseudoBLTO&);  
00180 
00181   void fire_2D() { _is_2D = true;}
00182 
00183   void fire_1D1S() { _is_1D1S = true;}
00184 
00185   void fire_1D( const UShort_t iquad) {
00186     switch(iquad) 
00187       {
00188       case 0:
00189         _is_1D_quad0 = true;
00190         break;
00191       case 1:
00192         _is_1D_quad1 = true;
00193         break;
00194       case 2:
00195         _is_1D_quad2 = true;
00196         break;
00197       case 3:
00198         _is_1D_quad3 = true;
00199       }
00200   }
00201 
00202   void fire_1S( const UShort_t iquad) {
00203     switch(iquad) 
00204       {
00205       case 0:
00206         _is_1S_quad0 = true;
00207         break;
00208       case 1:
00209         _is_1S_quad1 = true;
00210         break;
00211       case 2:
00212         _is_1S_quad2 = true;
00213         break;
00214       case 3:
00215         _is_1S_quad3 = true;
00216       }
00217   }
00218   
00219   bool check_2D_trigger() const;
00220   bool check_1D1S_trigger() const;
00221 
00222   bool is_2D_fired() const { return _is_2D;}
00223   
00224   bool is_1D1S_fired() const { return _is_1D1S;}
00225 
00226   bool is_1D_fired(const UShort_t iquad) const {
00227     switch(iquad)
00228       {
00229       case 0:
00230         return _is_1D_quad0;
00231       case 1:
00232         return _is_1D_quad0;
00233       case 2:
00234         return _is_1D_quad0;
00235       case 3:
00236         return _is_1D_quad0;
00237       default:
00238         return false;
00239       }
00240   }
00241 
00242   bool is_1S_fired(const UShort_t iquad) const {
00243     switch(iquad)
00244       {
00245       case 0:
00246         return _is_1S_quad0;
00247       case 1:
00248         return _is_1S_quad0;
00249       case 2:
00250         return _is_1S_quad0;
00251       case 3:
00252         return _is_1S_quad0;
00253       default:
00254         return false;
00255       }
00256   }
00257 
00258   void fire_reco_2D() { _is_reco_2D = true;}
00259 
00260   void fire_reco_1D1S() { _is_reco_1D1S = true;}
00261 
00262   void fire_reco_1D( const UShort_t iquad) {
00263     switch(iquad) 
00264       {
00265       case 0:
00266         _is_reco_1D_quad0 = true;
00267         break;
00268       case 1:
00269         _is_reco_1D_quad1 = true;
00270         break;
00271       case 2:
00272         _is_reco_1D_quad2 = true;
00273         break;
00274       case 3:
00275         _is_reco_1D_quad3 = true;
00276       }
00277   }
00278 
00279   void fire_reco_1S( const UShort_t iquad) {
00280     switch(iquad) 
00281       {
00282       case 0:
00283         _is_reco_1S_quad0 = true;
00284         break;
00285       case 1:
00286         _is_reco_1S_quad1 = true;
00287         break;
00288       case 2:
00289         _is_reco_1S_quad2 = true;
00290         break;
00291       case 3:
00292         _is_reco_1S_quad3 = true;
00293       }
00294   }
00295 
00296   bool is_reco_2D_fired() const { return _is_reco_2D;}
00297 
00298   bool is_reco_1D1S_fired() const { return _is_reco_1D1S;}
00299 
00300   bool is_reco_1D_fired(const UShort_t iquad) const {
00301     switch(iquad)
00302       {
00303       case 0:
00304         return _is_reco_1D_quad0;
00305       case 1:
00306         return _is_reco_1D_quad0;
00307       case 2:
00308         return _is_reco_1D_quad0;
00309       case 3:
00310         return _is_reco_1D_quad0;
00311       default:
00312         return false;
00313       }
00314   }
00315 
00316   bool is_reco_1S_fired(const UShort_t iquad) const {
00317     switch(iquad)
00318       {
00319       case 0:
00320         return _is_reco_1S_quad0;
00321       case 1:
00322         return _is_reco_1S_quad0;
00323       case 2:
00324         return _is_reco_1S_quad0;
00325       case 3:
00326         return _is_reco_1S_quad0;
00327       default:
00328         return false;
00329       }
00330   }
00331   
00332   bool check_2D_with_reco() const { 
00333     if(_is_reco_2D == _is_2D) return true;
00334     return false;
00335   }
00336   
00337   bool check_1D1S_with_reco() const {
00338     if(_is_reco_1D1S == _is_1D1S) return true;
00339     return false;
00340   }
00341 
00342   void set_arm( UShort_t arm) { _arm=arm;}
00343 
00344   void set_index( UShort_t index) { _index=index;}
00345 
00346   UShort_t get_arm() const {return _arm;}
00347 
00348   UShort_t get_index() const {return _index;}
00349 
00350   void print(std::ostream& os = std::cout) const {
00351     MUIOO::PRINT(os,GetName());
00352     os << " arm:         " << _arm << std::endl;
00353     os << " index:       " << _index << std::endl;
00354     os << " is_2D:       " << _is_2D << std::endl;
00355     os << " is_1D1S:     " << _is_1D1S << std::endl;
00356     os << " is_1D_quad0: " << _is_1D_quad0 << std::endl;
00357     os << " is_1D_quad1: " << _is_1D_quad1 << std::endl;
00358     os << " is_1D_quad2: " << _is_1D_quad2 << std::endl;
00359     os << " is_1D_quad3: " << _is_1D_quad3 << std::endl;
00360     os << " is_1S_quad0: " << _is_1S_quad0 << std::endl;
00361     os << " is_1S_quad1: " << _is_1S_quad1 << std::endl;
00362     os << " is_1S_quad2: " << _is_1S_quad2 << std::endl;
00363     os << " is_1S_quad3: " << _is_1S_quad3 << std::endl;
00364     os << " trigger decisions from reconstructed hits. " << std::endl;
00365     os << " is_reco_2D:       " << _is_reco_2D << std::endl;
00366     os << " is_reco_1D1S:     " << _is_reco_1D1S << std::endl;
00367     os << " is_reco_1D_quad0: " << _is_reco_1D_quad0 << std::endl;
00368     os << " is_reco_1D_quad1: " << _is_reco_1D_quad1 << std::endl;
00369     os << " is_reco_1D_quad2: " << _is_reco_1D_quad2 << std::endl;
00370     os << " is_reco_1D_quad3: " << _is_reco_1D_quad3 << std::endl;
00371     os << " is_reco_1S_quad0: " << _is_reco_1S_quad0 << std::endl;
00372     os << " is_reco_1S_quad1: " << _is_reco_1S_quad1 << std::endl;
00373     os << " is_reco_1S_quad2: " << _is_reco_1S_quad2 << std::endl;
00374     os << " is_reco_1S_quad3: " << _is_reco_1S_quad3 << std::endl;
00375     MUIOO::PRINT(os,"**");
00376   }
00377   
00378 private:
00379   
00380   UShort_t _arm;
00381   UShort_t _index;
00382   
00383   bool _is_2D;
00384   bool _is_1D1S;
00385   bool _is_1D_quad0;
00386   bool _is_1D_quad1;
00387   bool _is_1D_quad2;
00388   bool _is_1D_quad3;
00389   bool _is_1S_quad0;
00390   bool _is_1S_quad1;
00391   bool _is_1S_quad2;
00392   bool _is_1S_quad3;
00393 
00394   bool _is_reco_2D;
00395   bool _is_reco_1D1S;
00396   bool _is_reco_1D_quad0;
00397   bool _is_reco_1D_quad1;
00398   bool _is_reco_1D_quad2;
00399   bool _is_reco_1D_quad3;
00400   bool _is_reco_1S_quad0;
00401   bool _is_reco_1S_quad1;
00402   bool _is_reco_1S_quad2;
00403   bool _is_reco_1S_quad3;
00404  
00405   ClassDef(TMuiPseudoBLTO_v1,1)
00406 };
00407 
00408 #endif /* _TMUIPSEUDOBLTO_H_ */
00409               
00410 
00411 
00412 
00413 
00414 
00415 
00416 
00417 

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