BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
MdcGeoWire.cxx
Go to the documentation of this file.
1#include "GaudiKernel/MsgStream.h"
2#include "GaudiKernel/Service.h"
3#include "GaudiKernel/SmartIF.h"
4
5#include "MdcGeomSvc/IMdcGeomSvc.h"
6#include "MdcGeomSvc/MdcGeoWire.h"
7
8// according to the mathematicial formula:
9// Sg = L^2*g*rhol/8*T
10// rhol is the linear density
11// rhol is fixed at 9.47E-3 g/m
12const double MdcGeoWire::Sag( void ) const {
13 SmartIF<IMdcGeomSvc> mdcGeomSvc = Gaudi::svcLocator()->service<IMdcGeomSvc>( "MdcGeomSvc" );
14
15 if ( mdcGeomSvc->getSagFlag() )
16 {
17 // unit of wire length is mm
18 const double L = ( fForward - fBackward ).mag();
19 // sag unit is mm
20 return ( L * L * 1.184E-6 / fTension );
21 }
22 // do not consider wire sagita
23 else return 0.;
24}
25
26// calculate the sag at length z
27// attention, the z is not the z-coordinate of the point
28// but the length from this point to the backward point
29const double MdcGeoWire::Sagz( const double z ) const {
30 return z * 0.; // FIXME
31}
const double Sag(void) const
const double Sagz(const double z) const