Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

MdcLayer Class Reference

#include <MdcLayer.h>

List of all members.

Public Member Functions

double cellHeight (void) const
double cellHeight (void) const
double cellWidth (double z) const
double cellWidth (void) const
double cellWidth (double z) const
double cellWidth (void) const
double dPhi (void) const
double dPhi (void) const
double dPhiz (void) const
double dPhiz (void) const
double dPhizDC (double z) const
double dPhizDC (double z) const
bool exist (void) const
bool exist (void) const
MdcSWiregetWire (int wire) const
MdcSWiregetWire (int wire) const
int layNum (void) const
int layNum (void) const
const TrajectorymakeHitTrajInGlobalCoords (int wire, double z=0) const
const TrajectorymakeHitTrajInGlobalCoords (int wire, double z=0) const
 MdcLayer (int lay, int nwir, MdcSWire **wires, const MdcDetector &theDet)
 MdcLayer (int lay, int nwir, MdcSWire **wires, const MdcDetector &theDet)
int nWires (void) const
int nWires (void) const
double phiEPOffset (void) const
double phiEPOffset (void) const
double phiOffset (void) const
double phiOffset (void) const
double phiWire (int cell) const
double phiWire (int cell) const
double phiWireDC (int cell, double z) const
double phiWireDC (int cell, double z) const
void print (std::ostream &o) const
void print (std::ostream &o) const
double radiusDC (double z) const
double radiusDC (double z) const
double rEnd (void) const
double rEnd (void) const
double rIn (void) const
double rIn (void) const
double rMid (void) const
double rMid (void) const
double rOut (void) const
double rOut (void) const
double sag (void) const
double sag (void) const
void setCellHeight (double height)
void setCellHeight (double height)
double stDip (void) const
double stDip (void) const
double stereo (void) const
double stereo (void) const
int subLayer (void) const
int subLayer (void) const
int superLayer (void) const
int superLayer (void) const
void View (int v)
int view (void) const
void View (int v)
int view (void) const
double xWire (int cell) const
double xWire (int cell) const
double yWire (int cell) const
double yWire (int cell) const
double zEnd (void) const
double zEnd (void) const
double zLength (void) const
double zLength (void) const
 ~MdcLayer ()
 ~MdcLayer ()

Private Attributes

double _cellHeight
double _delphi
bool _exist
int _layer
const MdcDetector_mdcDet
const MdcDetector_mdcDet
int _nwires
double _phiOffset
double _rend
double _rmid
double _stdip
double _stereo
int _view
MdcSWire ** _wires
MdcSWire ** _wires
double _zend


Constructor & Destructor Documentation

MdcLayer::MdcLayer int  lay,
int  nwir,
MdcSWire **  wires,
const MdcDetector theDet
 

00010   : _mdcDet(theDet), _exist(1),  _layer(lay), _nwires(nwir),
00011     _wires(wires)
00012 {
00013   if (_nwires == 0) _exist = 0;
00014   // set pointer to layer for wires
00015   for (int wire=0; wire<_nwires; wire++) {
00016     getWire(wire)->setLayerPtr(this);
00017 //    _cells.push_back(buildCell(wire));
00018   }
00019 
00020   // get nominal values from wire # 0
00021   _rend = wires[0]->rEnd();
00022   _rmid = wires[0]->rMid();
00023   _stdip = _rend - _rmid;
00024   // in the local (DC) system frame
00025   _zend = wires[0]->zEndDC();
00026   _stereo = wires[0]->stereo();
00027   // half twist angle
00028   _delphi = wires[0]->dPhiz();
00029   // stereo view
00030   if((_layer>=0 && _layer<=7)||(_layer>=20&&_layer<=35)){
00031     _view = (int)(_stereo/(fabs(_stereo)));
00032   } else {
00033     _view = 0;
00034   }
00035   _phiOffset = wires[0]->phiE();
00036 }

MdcLayer::~MdcLayer  )  [inline]
 

00022 {};

MdcLayer::MdcLayer int  lay,
int  nwir,
MdcSWire **  wires,
const MdcDetector theDet
 

MdcLayer::~MdcLayer  )  [inline]
 

00022 {};


Member Function Documentation

double MdcLayer::cellHeight void   )  const [inline]
 

00033 { return _cellHeight; }

double MdcLayer::cellHeight void   )  const [inline]
 

00033 { return _cellHeight; }

double MdcLayer::cellWidth double  z  )  const [inline]
 

00066 { return dPhi()*radiusDC(z)*cos(stereo()); }

double MdcLayer::cellWidth void   )  const [inline]
 

00064 { return dPhi()*rMid()*cos(stereo()); }

double MdcLayer::cellWidth double  z  )  const [inline]
 

00066 { return dPhi()*radiusDC(z)*cos(stereo()); }

double MdcLayer::cellWidth void   )  const [inline]
 

00064 { return dPhi()*rMid()*cos(stereo()); }

double MdcLayer::dPhi void   )  const [inline]
 

00061 { return Constants::twoPi/nWires(); }

double MdcLayer::dPhi void   )  const [inline]
 

00061 { return Constants::twoPi/nWires(); }

double MdcLayer::dPhiz void   )  const [inline]
 

00043 { return _delphi; }

double MdcLayer::dPhiz void   )  const [inline]
 

00043 { return _delphi; }

double MdcLayer::dPhizDC double  z  )  const [inline]
 

00050 { return phiWireDC(0, z); }

double MdcLayer::dPhizDC double  z  )  const [inline]
 

00050 { return phiWireDC(0, z); }

bool MdcLayer::exist void   )  const [inline]
 

00027 { return _exist; }

bool MdcLayer::exist void   )  const [inline]
 

00027 { return _exist; }

MdcSWire* MdcLayer::getWire int  wire  )  const [inline]
 

00052 { return _wires[wire]; }

MdcSWire* MdcLayer::getWire int  wire  )  const [inline]
 

00052 { return _wires[wire]; }

int MdcLayer::layNum void   )  const [inline]
 

00029 { return _layer; }

int MdcLayer::layNum void   )  const [inline]
 

00029 { return _layer; }

const Trajectory* MdcLayer::makeHitTrajInGlobalCoords int  wire,
double  z = 0
const
 

const Trajectory * MdcLayer::makeHitTrajInGlobalCoords int  wire,
double  z = 0
const
 

00133 {
00134   if ( wire >= 0 && wire < nWires() ) {
00135     return getWire(wire)->getTraj();
00136   } else {
00137     std::cout << "Error In makeHitTrajInGlobalCoords: wrong cell # "<< wire << "\n"
00138                  <<"  number of cells in this layer is " << nWires() << std::endl;
00139     return getWire(0)->getTraj();
00140   }
00141 }

int MdcLayer::nWires void   )  const [inline]
 

00030 { return _nwires; }

int MdcLayer::nWires void   )  const [inline]
 

00030 { return _nwires; }

double MdcLayer::phiEPOffset void   )  const [inline]
 

00049 { return _phiOffset; }

double MdcLayer::phiEPOffset void   )  const [inline]
 

00049 { return _phiOffset; }

double MdcLayer::phiOffset void   )  const [inline]
 

00047 { return phiWire(0); }

double MdcLayer::phiOffset void   )  const [inline]
 

00047 { return phiWire(0); }

double MdcLayer::phiWire int  cell  )  const
 

double MdcLayer::phiWire int  cell  )  const
 

00088 {
00089   // in the middle of the chamber
00090   if ( cell >= 0 && cell < nWires() ) {
00091     return getWire(cell)->phi();
00092   } else {
00093     std::cout  << "phiWire: wrong cell # " << cell << "\n"
00094                   << "  number of cells in this layer is " << nWires() 
00095                   << std::endl;
00096     return 0.;
00097   }
00098 }

double MdcLayer::phiWireDC int  cell,
double  z
const
 

double MdcLayer::phiWireDC int  cell,
double  z
const
 

00075 {
00076   if ( cell >= 0 && cell < nWires() ) {
00077     return getWire(cell)->phiDC(z);
00078   } else {
00079     std::cout << "phiWireDC: wrong cell # " << cell << "\n"
00080                   << "  number of cells in this layer is " << nWires() 
00081                   << std::endl;
00082     return 0.;
00083   }
00084 }

void MdcLayer::print std::ostream o  )  const
 

void MdcLayer::print std::ostream o  )  const
 

00042 {
00043   o<< setw(3)<<layNum()<<
00044     setw(3)<<view()<<
00045     setw(4)<<nWires()<<
00046     setw(3)<<superLayer()<<
00047     setw(3)<<subLayer()<<
00048     setw(10)<<stDip()<<
00049     setw(10)<<zEnd()<<
00050     setw(10)<<rMid()<<
00051     setw(10)<<rEnd()<<
00052     setw(10)<<rIn()<<
00053     setw(10)<<rOut()<<
00054     setw(10)<<stereo()<<
00055     setw(10)<<dPhiz()<<
00056     setw(7)<<zLength()<<
00057     setw(10)<<sag()<<
00058     setw(10)<<dPhi()<<
00059     setw(10)<<phiOffset()<<
00060     setw(10)<<phiEPOffset()<<
00061     setw(10)<<dPhizDC(0.)<<
00062     setw(10)<<radiusDC(0.)<<
00063     setw(10)<<phiWireDC(0,0.)<<
00064     setw(10)<<phiWire(0)<<
00065     setw(10)<<xWire(0)<<
00066     setw(10)<<yWire(0)<<
00067     setw(10)<<cellWidth()<<
00068     setw(10)<<cellWidth(0.)<<
00069     std::endl;
00070 }

double MdcLayer::radiusDC double  z  )  const [inline]
 

00051 { return getWire(0)->radiusDC(z); }

double MdcLayer::radiusDC double  z  )  const [inline]
 

00051 { return getWire(0)->radiusDC(z); }

double MdcLayer::rEnd void   )  const [inline]
 

00037 { return _rend; }

double MdcLayer::rEnd void   )  const [inline]
 

00037 { return _rend; }

double MdcLayer::rIn void   )  const [inline]
 

00038 { return rMid() - 0.5 * cellHeight(); }//yzhang del

double MdcLayer::rIn void   )  const [inline]
 

00038 { return rMid() - 0.5 * cellHeight(); }//yzhang del

double MdcLayer::rMid void   )  const [inline]
 

00036 { return _rmid; }

double MdcLayer::rMid void   )  const [inline]
 

00036 { return _rmid; }

double MdcLayer::rOut void   )  const [inline]
 

00039 { return rMid() + 0.5 * cellHeight(); }//yzhang del

double MdcLayer::rOut void   )  const [inline]
 

00039 { return rMid() + 0.5 * cellHeight(); }//yzhang del

double MdcLayer::sag void   )  const [inline]
 

00045 { return getWire(0)->getSag(); }

double MdcLayer::sag void   )  const [inline]
 

00045 { return getWire(0)->getSag(); }

void MdcLayer::setCellHeight double  height  )  [inline]
 

00077 { _cellHeight = height; }

void MdcLayer::setCellHeight double  height  )  [inline]
 

00077 { _cellHeight = height; }

double MdcLayer::stDip void   )  const [inline]
 

00034 { return _stdip; }

double MdcLayer::stDip void   )  const [inline]
 

00034 { return _stdip; }

double MdcLayer::stereo void   )  const [inline]
 

00042 { return _stereo; }

double MdcLayer::stereo void   )  const [inline]
 

00042 { return _stereo; }

int MdcLayer::subLayer void   )  const [inline]
 

00032 { return layNum()-4*(superLayer()-1);}

int MdcLayer::subLayer void   )  const [inline]
 

00032 { return layNum()-4*(superLayer()-1);}

int MdcLayer::superLayer void   )  const [inline]
 

00031 { return 1+((layNum()-1)/4);}

int MdcLayer::superLayer void   )  const [inline]
 

00031 { return 1+((layNum()-1)/4);}

void MdcLayer::View int  v  )  [inline]
 

00076 { _view = v; }

int MdcLayer::view void   )  const [inline]
 

00028 { return _view; }

void MdcLayer::View int  v  )  [inline]
 

00076 { _view = v; }

int MdcLayer::view void   )  const [inline]
 

00028 { return _view; }

double MdcLayer::xWire int  cell  )  const
 

double MdcLayer::xWire int  cell  )  const
 

00102 {
00103   // in the middle of the chamber
00104   if ( cell >= 0 && cell < nWires() ) {
00105     return getWire(cell)->xMid();
00106   } else {
00107     std::cout << "xWire: wrong cell # " << cell << "\n"
00108                   << "  number of cells in this layer is " << nWires() 
00109                   << std::endl;
00110     return 0.;
00111   }
00112 }

double MdcLayer::yWire int  cell  )  const
 

double MdcLayer::yWire int  cell  )  const
 

00116 {
00117   // in the middle of the chamber 
00118   if ( cell >= 0 && cell < nWires() ) {
00119     return getWire(cell)->yMid(); 
00120   } else {
00121     std::cout << "YWire: wrong cell # " << cell << "\n"
00122                   << "  number of cells in this layer is " << nWires() 
00123                   << std::endl;
00124     return 0.;
00125   }
00126 }

double MdcLayer::zEnd void   )  const [inline]
 

00035 { return _zend; }

double MdcLayer::zEnd void   )  const [inline]
 

00035 { return _zend; }

double MdcLayer::zLength void   )  const [inline]
 

00044 { return getWire(0)->zLength(); }

double MdcLayer::zLength void   )  const [inline]
 

00044 { return getWire(0)->zLength(); }


Member Data Documentation

double MdcLayer::_cellHeight [private]
 

double MdcLayer::_delphi [private]
 

bool MdcLayer::_exist [private]
 

int MdcLayer::_layer [private]
 

const MdcDetector& MdcLayer::_mdcDet [private]
 

const MdcDetector& MdcLayer::_mdcDet [private]
 

int MdcLayer::_nwires [private]
 

double MdcLayer::_phiOffset [private]
 

double MdcLayer::_rend [private]
 

double MdcLayer::_rmid [private]
 

double MdcLayer::_stdip [private]
 

double MdcLayer::_stereo [private]
 

int MdcLayer::_view [private]
 

MdcSWire** MdcLayer::_wires [private]
 

MdcSWire** MdcLayer::_wires [private]
 

double MdcLayer::_zend [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 16:26:31 2011 for BOSS6.5.5 by  doxygen 1.3.9.1