#ifndef OAGEOMINFO_TUTTESTGEOM_HXX #define OAGEOMINFO_TUTTESTGEOM_HXX #include #include #include #include #include #include #include namespace COMET { class ICDCGeom; class ICDCWireInfo; } namespace TestGeom { typedef std::vector WireInfo; typedef std::map WirePairs; void LoadGeometry(std::string geomPath); void ResetGeometry(); void GetNWiresInLayers(std::map& nWireLay); void GetWireLengthByLayer(std::map& wireLenLay); void FillSenseWires(COMET::ICDCGeom& cdcGeom, WireInfo& wireInfo); void FillFieldWires(COMET::ICDCGeom& cdcGeom, WireInfo& wireInfo); void FillParamWires(COMET::ICDCGeom& cdcGeom, std::string& paramFile, bool signalWires, WireInfo& wireInfo); void ForceXPosAgree(const WireInfo& goodXPos, WireInfo& badXPos); bool FillWirePairs(WireInfo& aWires, WireInfo& bWires, WirePairs& abPairs); bool CompareWires(WireInfo& aWires, WireInfo& bWires); bool CompareWiresLong(WireInfo& aWires, WireInfo& bWires); bool CompareWireInfoPtr(COMET::ICDCWireInfo* aWire, COMET::ICDCWireInfo* bWire); void GetRPhi(COMET::ICDCWireInfo* aWire, double& aRadius, double& aPhi); bool SmallerWireId(COMET::ICDCWireInfo* aWire, COMET::ICDCWireInfo* bWire); bool SortWireInfoPtr(COMET::ICDCWireInfo* aWire, COMET::ICDCWireInfo* bWire); void PrintWires(const WireInfo& aWires, int frequency=100); TVector3 ConvertLocalCDCtoGlobal(TVector3 inVect); TVector3 ConvertGlobaltoLocalCDC(TVector3 inVect); }; #endif // OAGEOMINFO_TUTTESTGEOM_HXX