5#include <CLHEP/Units/PhysicalConstants.h>
6#include <CLHEP/Geometry/Point3D.h>
9#include "GaudiKernel/Algorithm.h"
17#include "GaudiKernel/IIncidentListener.h"
18#include "GaudiKernel/Service.h"
19#include "GaudiKernel/IInterface.h"
21#include "GaudiKernel/IDataProviderSvc.h"
22#include "GaudiKernel/IIncidentListener.h"
25class MdcGeomSvc :
public extends<Service, IMdcGeomSvc>,
virtual public IIncidentListener
29 MdcGeomSvc(
const std::string& name, ISvcLocator* svcloc );
35 void handle(
const Incident& inc);
62 void ReadTensionDataBase(std::vector<double> & wireTensionVec);
63 void ReadWirePosDataBase(std::vector<vector<double> > & wirePosVec);
64 void ReadAliParDataBase(vector<double>& Sx, vector<double>& Sy, vector<double>& Sz,
65 vector<double>& Rx, vector<double>& Ry, vector<double>& Rz);
67 const int getAlignParIndexEast(
int lyr)
const;
68 const int getAlignParIndexWest(
int lyr)
const;
81 std::string m_alignFilePath;
82 std::string m_wirePosFilePath;
83 std::string m_wireTensionFilePath;
86 vector <MdcGeoWire*> fWires;
87 vector <MdcGeoGeneral> fGenerals;
88 vector <MdcGeoLayer*> fLayers;
89 vector <MdcGeoSuper*> fSupers;
91 vector <MdcGeoEnd*> fEnd;
92 IDataProviderSvc* m_pCalibDataSvc;
static bool m_readAlignParDataBase
virtual StatusCode initialize()
static bool getSagFlag(void)
const MdcGeoSuper *const SuperLayer(unsigned id)
const MdcGeoWire *const Wire(unsigned id)
const MdcGeoGeneral *const GeneralLayer(unsigned id)
void handle(const Incident &inc)
this handle function is prepared for special use
const int getSuperLayerSize()
virtual StatusCode finalize()
const MdcGeoEnd *const End(unsigned id)
const MdcGeoLayer *const Layer(unsigned id)
const int getGeneralLayerSize()
const MdcGeoMisc *const Misc(void)
static bool m_nomcalignment