/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Event/DstEvent/DstEvent-00-02-51/DstEvent/TofHitStatus.h

Go to the documentation of this file.
00001 #ifndef TOFHITSTATUS_H
00002 #define TOFHITSTATUS_H
00003 
00004 #include "DstEvent/DstTofTrack.h"
00005 
00006 class TofHitStatus {
00007 
00008  public:
00009 
00010   TofHitStatus();
00011   virtual ~TofHitStatus() {}
00012 
00013   void init();
00014   TofHitStatus& operator=(const DstTofTrack& source);
00015   TofHitStatus& operator=(const TofHitStatus& source);
00016   //  TofHitStatus& operator+(const TofHitStatus& source1, const TofHitStatus& source2 )
00017 
00018  public:
00019 
00020   unsigned int value()          const { return  m_status;   }
00021   //  void status( const bool raw, bool readout, bool counter, bool cluster,bool barrel, bool east, const unsigned int layer, unsigned int ncounter, unsigned int neast, unsigned int nwest ) const;
00022   bool  is_raw()                const { return  m_raw;      }
00023   bool  is_readout()            const { return  m_readout;  }
00024   bool  is_counter()            const { return  m_counter;  }
00025   bool  is_cluster()            const { return  m_cluster;  }
00026   bool  is_barrel()             const { return  m_barrel;   }
00027   bool  is_east()               const { return  m_east;     }
00028   unsigned int  layer()         const { return  m_layer;    }
00029   bool  is_overflow()           const { return  m_overflow; }
00030   bool  is_multihit()           const { return  m_multihit; }
00031   unsigned int  ncounter()      const { return  m_ncounter; }
00032   unsigned int  neast()         const { return  m_neast;    }
00033   unsigned int  nwest()         const { return  m_nwest;    }
00034   bool  is_mrpc()               const { return  m_mrpc;     }
00035 
00036   static bool  is_raw( unsigned int status );
00037   static bool  is_readout( unsigned int status );
00038   static bool  is_counter( unsigned int status );
00039   static bool  is_cluster( unsigned int status );
00040   static bool  is_barrel( unsigned int status );
00041   static bool  is_east( unsigned int status );
00042   static unsigned int  layer( unsigned int status );
00043   static bool  is_overflow( unsigned int status );
00044   static bool  is_multihit( unsigned int status );
00045   static unsigned int  ncounter( unsigned int status );
00046   static unsigned int  neast( unsigned int status );
00047   static unsigned int  nwest( unsigned int status );
00048   static unsigned int  part( unsigned int status );
00049   static bool  is_mrpc( unsigned int status );
00050 
00051  public:
00052 
00053   void setStatus( unsigned int status );
00054   void setRaw( bool raw );
00055   void setReadout( bool readout );
00056   void setCounter( bool counter );
00057   void setCluster( bool cluster );
00058   void setBarrel( bool barrel );
00059   void setEast( bool east );
00060   void setLayer( unsigned int layer );
00061   void setOverflow( bool overflow );
00062   void setMultihit( bool multihit );
00063   void setNCounter( unsigned int ncounter );
00064   void setNEast( unsigned int neast );
00065   void setNWest( unsigned int nwest );
00066   void setMRPC( bool mrpc );
00067 
00068   void setBarrelCluster( unsigned int layer );
00069   void setBarrelCounter( unsigned int layer );
00070   void setBarrelReadout( unsigned int layer, bool east );
00071   void setBarrelRaw( unsigned int layer, bool east );
00072   void setEndcapCluster( bool east );
00073   void setEndcapRaw( bool east );
00074   void setMRPCReadout( bool east );
00075   void setMRPCCluster( bool cluster, bool east );
00076   void setNoHit();
00077 
00078  private:
00079 
00080   unsigned int m_status;
00081   bool m_raw;
00082   bool m_readout;
00083   bool m_counter;
00084   bool m_cluster;
00085   bool m_barrel;
00086   bool m_east;
00087   unsigned int m_layer;
00088   bool m_overflow;
00089   bool m_multihit;
00090   unsigned int m_ncounter;
00091   unsigned int m_neast;
00092   unsigned int m_nwest;
00093   bool m_mrpc;
00094 
00095   static const unsigned int Raw_Index      = 0;
00096   static const unsigned int Raw_Mask       = 0x00000001;
00097   static const unsigned int Readout_Index  = 1;
00098   static const unsigned int Readout_Mask   = 0x00000002;
00099   static const unsigned int Counter_Index  = 2;
00100   static const unsigned int Counter_Mask   = 0x00000004;
00101   static const unsigned int Cluster_Index  = 3;
00102   static const unsigned int Cluster_Mask   = 0x00000008;
00103   static const unsigned int Barrel_Index   = 4;
00104   static const unsigned int Barrel_Mask    = 0x00000010;
00105   static const unsigned int East_Index     = 5;
00106   static const unsigned int East_Mask      = 0x00000020;
00107   static const unsigned int Layer_Index    = 6;
00108   static const unsigned int Layer_Mask     = 0x000000C0;
00109   static const unsigned int Overflow_Index = 8;
00110   static const unsigned int Overflow_Mask  = 0x00000100;
00111   static const unsigned int Multihit_Index = 9;
00112   static const unsigned int Multihit_Mask  = 0x00000200;
00113   static const unsigned int Ncounter_Index = 12;
00114   static const unsigned int Ncounter_Mask  = 0x0000F000;
00115   static const unsigned int Neast_Index    = 16;
00116   static const unsigned int Neast_Mask     = 0x000F0000;
00117   static const unsigned int Nwest_Index    = 20;
00118   static const unsigned int Nwest_Mask     = 0x00F00000;
00119   static const unsigned int N_Mask         = 0x0000000F;
00120   static const unsigned int MRPC_Index     = 24;
00121   static const unsigned int MRPC_Mask      = 0x01000000;
00122   static const unsigned int N_MRPC         = 0x00000001;
00123 
00124 };
00125 #endif    //TOFHITSTATUS_H

Generated on Tue Nov 29 22:58:23 2016 for BOSS_7.0.2 by  doxygen 1.4.7