/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/TrkReco/TrkReco-00-08-59-patch4-slc6tag/src/TMDCLayer.cxx

Go to the documentation of this file.
00001 //-----------------------------------------------------------------------------
00002 // $Id: TMDCLayer.cxx,v 1.5 2010/03/31 09:58:59 liucy Exp $
00003 //-----------------------------------------------------------------------------
00004 // Filename : TMDCLayer.cc
00005 // Section  : Tracking MDC
00006 // Owner    : Yoshi Iwasaki
00007 // Email    : yoshihito.iwasaki@kek.jp
00008 //-----------------------------------------------------------------------------
00009 // Description : A class to represent a wire layer.
00010 //               See http://bsunsrv1.kek.jp/~yiwasaki/tracking/
00011 //-----------------------------------------------------------------------------
00012 
00013 #define TMDCLayer_INLINE_DEFINE_HERE
00014 //#include "panther/panther.h"
00015 //#include MDC_H
00016 //#include "MdcRecGeo/MdcGeoLayer.h"
00017 #include "MdcGeomSvc/MdcGeoLayer.h"
00018 #include "TrkReco/TMDC.h"
00019 #include "TrkReco/TMDCLayer.h"
00020 #include "TrkReco/TMDCUtil.h"
00021 
00022 TMDCLayer::TMDCLayer(const MdcGeoLayer * l) {
00023     _geo = l;
00024     _id = l->Id();
00025     _superLayerId = TMDC::superLayerId(l);
00026     _localLayerId = TMDC::localLayerId(l);
00027     //liucy&jialk origin uses slant to judge type now directly uses superLayerId to judge
00028     if(_id>=36||(_id>=8&&_id<=19)) _type=0;
00029     else _type=1;
00030 //    _offset = l->Offset();
00031 //    _cellSize = l->PCSiz();
00032     //  Unit from rad to cell for _offset; and from mm to cm for cellSize
00033 //    _offset = l->Offset()/(2. * M_PI/l->NCell());
00034     //    unit of offset is rad, which is diff from belle
00035     _offset = l->Offset();    
00036     _cellSize = l->PCSiz()/10; 
00037     
00038     _nWires = (unsigned) l->NCell();
00039     _axialStereoLayerId = TMDC::axialStereoLayerId(l);
00040 }
00041 
00042 TMDCLayer::~TMDCLayer() {
00043 }
00044 
00045 void
00046 TMDCLayer::dump(const std::string & msg, const std::string & pre) const {
00047     std::cout << pre;
00048     std::cout << "layer " << _id;
00049     std::cout << ", super layer " << _superLayerId;
00050     std::cout << ", local layer " << _localLayerId;
00051     if (axial()) std::cout << ", axial ";
00052     else         std::cout << ", stereo ";
00053     std::cout << _axialStereoLayerId;
00054     std::cout << ", " << _nWires << " wires";
00055     std::cout << std::endl;
00056 }
00057 
00058 const TMDCWire * const
00059 TMDCLayer::wire(int id) const {
00060     if (_nWires == 0) return 0;
00061 
00062     if (id < 0)
00063         while (id < 0)
00064             id += _nWires;
00065 
00066     if (id >= _nWires)
00067         id %= _nWires;
00068 
00069     return (* this)[id];
00070 }
00071 

Generated on Tue Nov 29 23:14:15 2016 for BOSS_7.0.2 by  doxygen 1.4.7