/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/MdcPatRec/TrkBase/TrkBase-00-01-12/src/TrkView.cxx

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 // File and Version Information:
00003 //      $Id: TrkView.cxx,v 1.1.1.1 2005/04/21 06:01:42 zhangy Exp $
00004 //
00005 //  Description:
00006 //  Class TrkView.
00007 //
00008 // Environment:
00009 //      Software developed for the BaBar Detector at the SLAC B-Factory.
00010 //
00011 // Copyright Infomation;
00012 //      Copyright (C) 2002      Lawrence Berkeley Laboratory
00013 //
00014 // Author(s): Dave Brown 10/25/02
00015 //
00016 //------------------------------------------------------------------------
00017 
00018 #include "TrkBase/TrkView.h"
00019 
00020 const unsigned short
00021 TrkView::_xyview(0x1);
00022 const unsigned short
00023 TrkView::_zview(0x2);
00024 const unsigned short
00025 TrkView::_bothview(0x3);
00026 
00027 TrkView::TrkView(TrkEnums::TrkViewInfo view) :
00028   _view(0)
00029 {
00030   addView(view);
00031 }
00032 
00033 TrkView::TrkView(unsigned short& pat) :
00034   _view( (pat & _bothview))
00035 {
00036 }
00037 
00038 TrkView::TrkView(const TrkView& other) : _view(other._view)
00039 {}
00040 
00041 TrkView& 
00042 TrkView::operator =(const TrkView& other) {
00043   if(this != &other){
00044     _view = other._view;
00045   }
00046   return *this;
00047 }
00048 
00049 TrkView::~TrkView()
00050 {}
00051 
00052 void 
00053 TrkView::addView(TrkEnums::TrkViewInfo view) {
00054   switch (view) {
00055   case TrkEnums::noView: default:
00056     break;
00057   case TrkEnums::xyView:
00058     _view |= _xyview;
00059     break;
00060   case TrkEnums::zView:
00061     _view |= _zview;
00062     break;
00063   case TrkEnums::bothView:
00064     _view |= _bothview;
00065     break;
00066   }
00067 }
00068 
00069 TrkEnums::TrkViewInfo 
00070 TrkView::view() const {
00071   switch (_view) {
00072   case 0: default:
00073     return TrkEnums::noView;
00074   case _xyview:
00075     return TrkEnums::xyView;
00076   case _zview:
00077     return TrkEnums::zView;
00078   case _bothview:
00079     return TrkEnums::bothView;
00080   } 
00081 }
00082 
00083 bool
00084 TrkView::contains(const TrkView& other) const {
00085   return (other.viewData() & _view) == other.viewData();
00086 }
00087 
00088 bool
00089 TrkView::operator ==(const TrkView& other) const {
00090   return other.viewData() == _view;
00091 }
00092 
00093 bool
00094 TrkView::operator != (const TrkView& other) const {
00095   return other.viewData() !=  _view;
00096 }
00097 
00098 bool
00099 TrkView::contains(TrkEnums::TrkViewInfo view ) const {
00100   TrkView other(view);
00101   return contains(other);
00102 }
00103 

Generated on Tue Nov 29 23:13:41 2016 for BOSS_7.0.2 by  doxygen 1.4.7