From 2d76a62831f91f03833029a7ec1ff2befc406b51 Mon Sep 17 00:00:00 2001 From: Riccardo Maria Bianchi <riccardo.maria.bianchi@cern.ch> Date: Thu, 6 Feb 2020 01:31:04 +0100 Subject: [PATCH 1/7] First implementation of the LAr SpecialShape I/O --- CMakeLists.txt | 1 + GeoModelRead/CMakeLists.txt | 2 +- GeoModelRead/src/ReadGeoModel.cpp | 20 +- GeoModelWrite/CMakeLists.txt | 2 +- GeoModelWrite/src/WriteGeoModel.cpp | 10 +- GeoSpecialShapes/CMakeLists.txt | 44 ++ .../GeoSpecialShapes/LArCustomShape.h | 123 ++++ .../GeoSpecialShapes/LArGeoCheckerDict.h | 19 + .../GeoSpecialShapes/LArWheelCalculator.h | 232 +++++++ .../LArWheelCalculatorEnums.h | 25 + .../GeoSpecialShapes/selection.xml | 3 + .../GeoSpecialShapes/selectionEnums.xml | 7 + GeoSpecialShapes/GeoSpecialShapes/sincos.h | 110 ++++ GeoSpecialShapes/build/CMakeCache.txt | 384 ++++++++++++ .../CMakeFiles/3.10.3/CMakeCXXCompiler.cmake | 75 +++ .../3.10.3/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 4288 bytes .../build/CMakeFiles/3.10.3/CMakeSystem.cmake | 15 + .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 576 +++++++++++++++++ .../CMakeFiles/3.10.3/CompilerIdCXX/a.out | Bin 0 -> 8600 bytes .../CMakeDirectoryInformation.cmake | 16 + .../build/CMakeFiles/CMakeOutput.log | 381 +++++++++++ .../GeoSpecialShapes.dir/DependInfo.cmake | 31 + .../GeoSpecialShapes.dir/build.make | 331 ++++++++++ .../GeoSpecialShapes.dir/cmake_clean.cmake | 18 + .../GeoSpecialShapes.dir/depend.make | 2 + .../GeoSpecialShapes.dir/flags.make | 10 + .../CMakeFiles/GeoSpecialShapes.dir/link.txt | 1 + .../GeoSpecialShapes.dir/progress.make | 11 + .../build/CMakeFiles/Makefile.cmake | 108 ++++ GeoSpecialShapes/build/CMakeFiles/Makefile2 | 108 ++++ .../build/CMakeFiles/TargetDirectories.txt | 7 + .../build/CMakeFiles/cmake.check_cache | 1 + .../build/CMakeFiles/feature_tests.bin | Bin 0 -> 8376 bytes .../build/CMakeFiles/feature_tests.cxx | 405 ++++++++++++ .../build/CMakeFiles/progress.marks | 1 + GeoSpecialShapes/build/Makefile | 468 ++++++++++++++ GeoSpecialShapes/build/cmake_install.cmake | 75 +++ GeoSpecialShapes/doc/packagedoc.h | 17 + GeoSpecialShapes/src/LArCustomShape.cxx | 191 ++++++ GeoSpecialShapes/src/LArWheelCalculator.cxx | 589 ++++++++++++++++++ .../src/LArWheelCalculatorGeometry.cxx | 138 ++++ .../DistanceCalculatorFactory.cxx | 29 + .../DistanceCalculatorFactory.h | 34 + .../DistanceCalculatorSaggingOff.cxx | 526 ++++++++++++++++ .../DistanceCalculatorSaggingOff.h | 53 ++ .../DistanceCalculatorSaggingOn.cxx | 180 ++++++ .../DistanceCalculatorSaggingOn.h | 52 ++ .../FanCalculatorFactory.cxx | 28 + .../FanCalculatorFactory.h | 34 + .../IDistanceCalculator.h | 44 ++ .../LArWheelCalculator_Impl/IFanCalculator.h | 42 ++ .../ModuleFanCalculator.cxx | 112 ++++ .../ModuleFanCalculator.h | 39 ++ .../WheelFanCalculator.h | 273 ++++++++ .../LArWheelCalculator_Impl/sincos_poly.cxx | 247 ++++++++ cmake/GeoModelIOPackaging.cmake | 2 +- 56 files changed, 6246 insertions(+), 6 deletions(-) create mode 100644 GeoSpecialShapes/CMakeLists.txt create mode 100644 GeoSpecialShapes/GeoSpecialShapes/LArCustomShape.h create mode 100644 GeoSpecialShapes/GeoSpecialShapes/LArGeoCheckerDict.h create mode 100644 GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculator.h create mode 100644 GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculatorEnums.h create mode 100644 GeoSpecialShapes/GeoSpecialShapes/selection.xml create mode 100644 GeoSpecialShapes/GeoSpecialShapes/selectionEnums.xml create mode 100644 GeoSpecialShapes/GeoSpecialShapes/sincos.h create mode 100644 GeoSpecialShapes/build/CMakeCache.txt create mode 100644 GeoSpecialShapes/build/CMakeFiles/3.10.3/CMakeCXXCompiler.cmake create mode 100644 GeoSpecialShapes/build/CMakeFiles/3.10.3/CMakeDetermineCompilerABI_CXX.bin create mode 100644 GeoSpecialShapes/build/CMakeFiles/3.10.3/CMakeSystem.cmake create mode 100644 GeoSpecialShapes/build/CMakeFiles/3.10.3/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100644 GeoSpecialShapes/build/CMakeFiles/3.10.3/CompilerIdCXX/a.out create mode 100644 GeoSpecialShapes/build/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 GeoSpecialShapes/build/CMakeFiles/CMakeOutput.log create mode 100644 GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/DependInfo.cmake create mode 100644 GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/build.make create mode 100644 GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/cmake_clean.cmake create mode 100644 GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/depend.make create mode 100644 GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/flags.make create mode 100644 GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/link.txt create mode 100644 GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/progress.make create mode 100644 GeoSpecialShapes/build/CMakeFiles/Makefile.cmake create mode 100644 GeoSpecialShapes/build/CMakeFiles/Makefile2 create mode 100644 GeoSpecialShapes/build/CMakeFiles/TargetDirectories.txt create mode 100644 GeoSpecialShapes/build/CMakeFiles/cmake.check_cache create mode 100644 GeoSpecialShapes/build/CMakeFiles/feature_tests.bin create mode 100644 GeoSpecialShapes/build/CMakeFiles/feature_tests.cxx create mode 100644 GeoSpecialShapes/build/CMakeFiles/progress.marks create mode 100644 GeoSpecialShapes/build/Makefile create mode 100644 GeoSpecialShapes/build/cmake_install.cmake create mode 100644 GeoSpecialShapes/doc/packagedoc.h create mode 100644 GeoSpecialShapes/src/LArCustomShape.cxx create mode 100644 GeoSpecialShapes/src/LArWheelCalculator.cxx create mode 100644 GeoSpecialShapes/src/LArWheelCalculatorGeometry.cxx create mode 100644 GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx create mode 100644 GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.h create mode 100644 GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx create mode 100644 GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.h create mode 100644 GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx create mode 100644 GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.h create mode 100644 GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx create mode 100644 GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.h create mode 100644 GeoSpecialShapes/src/LArWheelCalculator_Impl/IDistanceCalculator.h create mode 100644 GeoSpecialShapes/src/LArWheelCalculator_Impl/IFanCalculator.h create mode 100644 GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx create mode 100644 GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.h create mode 100644 GeoSpecialShapes/src/LArWheelCalculator_Impl/WheelFanCalculator.h create mode 100644 GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx diff --git a/CMakeLists.txt b/CMakeLists.txt index 97b8f5b..09c9fa1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,6 +27,7 @@ add_subdirectory( GeoModelDBManager ) add_subdirectory( TFPersistification ) add_subdirectory( GeoModelRead ) add_subdirectory( GeoModelWrite ) +add_subdirectory( GeoSpecialShapes ) # Create and install the version description of the project. include( CMakePackageConfigHelpers ) diff --git a/GeoModelRead/CMakeLists.txt b/GeoModelRead/CMakeLists.txt index e436dff..fb19722 100644 --- a/GeoModelRead/CMakeLists.txt +++ b/GeoModelRead/CMakeLists.txt @@ -12,7 +12,7 @@ file( GLOB HEADERS GeoModelRead/*.h ) # Set up the library. add_library( GeoModelRead SHARED ${HEADERS} ${SOURCES} ) target_link_libraries( GeoModelRead PUBLIC Qt5::Core -GeoModelCore::GeoModelKernel GeoModelDBManager TFPersistification ) +GeoModelCore::GeoModelKernel GeoModelDBManager TFPersistification GeoSpecialShapes ) target_include_directories( GeoModelRead PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:include> ) diff --git a/GeoModelRead/src/ReadGeoModel.cpp b/GeoModelRead/src/ReadGeoModel.cpp index f70a36c..ed97e24 100644 --- a/GeoModelRead/src/ReadGeoModel.cpp +++ b/GeoModelRead/src/ReadGeoModel.cpp @@ -13,6 +13,10 @@ // TFPersistification includes #include "TFPersistification/TransFunctionInterpreter.h" +// GeoSpecialShapes +#include "GeoSpecialShapes/LArCustomShape.h" + + // GeoModelKernel #include "GeoModelKernel/GeoTransform.h" #include "GeoModelKernel/GeoAlignableTransform.h" @@ -813,7 +817,7 @@ GeoShape* ReadGeoModel::buildShape(QString shapeId) if (varName == "NVertices") NVertices = varValue.toUInt(); } - + // and now loop over the rest of the list, to get the parameters of all Z planes for (int it=2; it < NVertices; it++) @@ -857,7 +861,6 @@ GeoShape* ReadGeoModel::buildShape(QString shapeId) if(error) qFatal("GeoGenericTrap shape error!!! Aborting..."); return gTrap; } - else if (type == "SimplePolygonBrep") { //qInfo() << "Reading-in: SimplePolygonBrep: "; // debug // shape parameters @@ -1369,6 +1372,19 @@ GeoShape* ReadGeoModel::buildShape(QString shapeId) // build and return the GeoShapeShift instance return new GeoShapeUnion(shapeA, shapeB); } + //LAr custom shape + else if(type == "CustomShape") { + std::string name = ""; + // get parameters from DB string + QStringList shapePars = parameters.split(";"); + foreach( QString par, shapePars) { + QStringList vars = par.split("="); + QString varName = vars[0]; + QString varValue = vars[1]; + if (varName == "name") name = varValue.toStdString(); + } + return new LArCustomShape(name); + } else { // QString msg = "WARNING!! - Shape '" + type + "' not implemented yet!!! Returning a dummy cube."; // qWarning(msg.toStdString().c_str()); diff --git a/GeoModelWrite/CMakeLists.txt b/GeoModelWrite/CMakeLists.txt index 603d120..43e97d8 100644 --- a/GeoModelWrite/CMakeLists.txt +++ b/GeoModelWrite/CMakeLists.txt @@ -7,7 +7,7 @@ file( GLOB HEADERS GeoModelWrite/*.h ) # Set up the library. add_library( GeoModelWrite SHARED ${HEADERS} ${SOURCES} ) target_link_libraries( GeoModelWrite PUBLIC Qt5::Core -GeoModelCore::GeoModelKernel GeoModelDBManager TFPersistification ) + GeoModelCore::GeoModelKernel GeoModelDBManager TFPersistification GeoSpecialShapes ) target_include_directories( GeoModelWrite PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:include> ) diff --git a/GeoModelWrite/src/WriteGeoModel.cpp b/GeoModelWrite/src/WriteGeoModel.cpp index 49042e2..a76a392 100644 --- a/GeoModelWrite/src/WriteGeoModel.cpp +++ b/GeoModelWrite/src/WriteGeoModel.cpp @@ -7,6 +7,8 @@ // TFPersistification includes #include "TFPersistification/TransFunctionPersistifier.h" +// GeoSpecialShapes +#include "GeoSpecialShapes/LArCustomShape.h" // GeoModelKernel includes #include "GeoModelKernel/GeoNodePath.h" @@ -765,7 +767,7 @@ QVariant WriteGeoModel::storeTranform(const GeoTransform* node) tr(0,3)=dx; tr(1,3)=dy; tr(2,3)=dz; - + // explicitely set the last row: (0,0,0,1) tr(3,0)=0; tr(3,1)=0; @@ -1099,6 +1101,12 @@ QString WriteGeoModel::getShapeParameters(const GeoShape* shape) } shapePars = pars.join(";"); } + //LAr custom shape + else if(shape->typeID() == LArCustomShape::getClassTypeID()) { + const LArCustomShape* shapeIn = dynamic_cast<const LArCustomShape*> (shape); + if (nullptr==shapeIn) throw std::runtime_error("TypeID did not match cast for custom shape"); + shapePars = "name=" + QString::fromStdString(shapeIn->name()); + } else { std::cout << "\n\tWARNING!!! - Shape '" << shapeType.toStdString() << "' needs to be persistified!!\n\n"; m_objectsNotPersistified << shapeType; diff --git a/GeoSpecialShapes/CMakeLists.txt b/GeoSpecialShapes/CMakeLists.txt new file mode 100644 index 0000000..6b72d31 --- /dev/null +++ b/GeoSpecialShapes/CMakeLists.txt @@ -0,0 +1,44 @@ + +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + +################################################################################ +# Package: GeoSpecialShapes +################################################################################ + +find_package(CLHEP) + +# Use the GNU install directory names. +include( GNUInstallDirs ) # it defines CMAKE_INSTALL_LIBDIR + +# Find the header and source files. +file( GLOB SOURCES src/*.cxx src/LArWheelCalculator_Impl/*.cxx ) +file( GLOB HEADERS GeoSpecialShapes/*.h src/LArWheelCalculator_Impl/*.h) + +# Set the library. +add_library( GeoSpecialShapes SHARED ${HEADERS} ${SOURCES} ) +target_link_libraries( GeoSpecialShapes PUBLIC ${CLHEP_LIBRARIES} +PRIVATE GeoModelCore::GeoModelKernel ) +target_include_directories( GeoSpecialShapes PUBLIC + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> + $<INSTALL_INTERFACE:include> ) +source_group( "GeoSpecialShapes" FILES ${HEADERS} ) +source_group( "src" FILES ${SOURCES} ) +set_target_properties( GeoSpecialShapes PROPERTIES + VERSION ${PROJECT_VERSION} + SOVERSION ${PROJECT_VERSION_MAJOR} ) + + +# Install the library. +install( TARGETS GeoSpecialShapes + EXPORT ${PROJECT_NAME}-export + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + COMPONENT Runtime + NAMELINK_SKIP ) +install( TARGETS GeoSpecialShapes + EXPORT ${PROJECT_NAME}-export + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + COMPONENT Development + NAMELINK_ONLY ) +install( FILES ${HEADERS} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/GeoSpecialShapes + COMPONENT Development ) diff --git a/GeoSpecialShapes/GeoSpecialShapes/LArCustomShape.h b/GeoSpecialShapes/GeoSpecialShapes/LArCustomShape.h new file mode 100644 index 0000000..3a24f3c --- /dev/null +++ b/GeoSpecialShapes/GeoSpecialShapes/LArCustomShape.h @@ -0,0 +1,123 @@ +/* + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef LArCustomShape_h +#define LArCustomShape_h + +#include <string> +#include <map> + +//#ifndef XAOD_STANDALONE +// #include "GaudiKernel/ServiceHandle.h" +// #include "GaudiKernel/StatusCode.h" +// #include "StoreGate/StoreGateSvc.h" +//#endif // XAOD_STANDALONE + +#include "GeoModelKernel/GeoShape.h" +#include "GeoSpecialShapes/LArWheelCalculator.h" +#include "GeoSpecialShapes/LArWheelCalculatorEnums.h" + +// Forward declaration +class GeoShapeAction; + +/// @class LArCustomShape +/// @brief The GeoModel representation of the custom LAr endcap shapes. +/// +class LArCustomShape : public GeoShape +{ + + public: + // #ifndef XAOD_STANDALONE + // typedef ServiceHandle<StoreGateSvc> StoreGateSvc_t; + // #endif // XAOD_STANDALONE + typedef std::pair<LArG4::LArWheelCalculator_t, int> CalcDef_t; + typedef std::map<std::string, CalcDef_t> ShapeCalc_typemap; + + // The custom shape has only one property: a string that contains + // the name of the particular shape. In the GeoModel->Geant4 + // conversion, this name will be matched against a list of custom + // classes that inherit from G4VSolid to get the correct custom + // solid. + LArCustomShape(const std::string& shapeName); + + /// Return the calculator: + const LArWheelCalculator *calculator() const; + + /// Returns the volume of the shape, for mass inventory + virtual double volume() const; + + /// Returns the shape type, as a string. + virtual const std::string& type() const; + + /// Returns the shape type, as a coded integer. + virtual ShapeType typeID() const; + + /// For type identification. + static const std::string& getClassType(); + + /// For type identification. + static ShapeType getClassTypeID(); + + /// Return the shape name, supplied in the constructor. + virtual const std::string& name() const; + + /// Executes a GeoShapeAction + virtual void exec(GeoShapeAction* action) const; + +//#ifndef XAOD_STANDALONE +// /** @brief The standard @c StoreGateSvc/DetectorStore +// * Returns (kind of) a pointer to the @c StoreGateSvc +// */ +// StoreGateSvc_t& detStore() const; +//#endif // XAOD_STANDALONE + + protected: + + virtual ~LArCustomShape(); + + private: + //#if defined XAOD_STANDALONE + int createCalculator(const CalcDef_t & cdef); + //#else // XAOD_STANDALONE + // StatusCode createCalculator(const CalcDef_t & cdef); + //#endif + + // Prohibited operations. + LArCustomShape(const LArCustomShape &right); + const LArCustomShape & operator=(const LArCustomShape &right); + + /// General GeoModel shape attributes. + static const std::string s_classType; + static const ShapeType s_classTypeID; + static const ShapeCalc_typemap s_calculatorTypes; + + /// Properties of the custom shape. + const std::string m_shapeName; + + /// The calculator: + const LArWheelCalculator *m_calculator; + + //#ifndef XAOD_STANDALONE + /// Pointer to StoreGate (detector store by default) + // mutable StoreGateSvc_t m_detStore; + //#endif // XAOD_STANDALONE + +}; + +inline const std::string& LArCustomShape::getClassType() { + return s_classType; +} + +inline ShapeType LArCustomShape::getClassTypeID() { + return s_classTypeID; +} + +//#ifndef XAOD_STANDALONE +// inline ServiceHandle<StoreGateSvc>& LArCustomShape::detStore() const { +// return m_detStore; +// } +//#endif // XAOD_STANDALONE + + +#endif // LArCustomShape_h diff --git a/GeoSpecialShapes/GeoSpecialShapes/LArGeoCheckerDict.h b/GeoSpecialShapes/GeoSpecialShapes/LArGeoCheckerDict.h new file mode 100644 index 0000000..3d19fcc --- /dev/null +++ b/GeoSpecialShapes/GeoSpecialShapes/LArGeoCheckerDict.h @@ -0,0 +1,19 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +/** + * @file LArGeoCheckerDict.h + * + * @brief This file includes the class for dictionary definitions + * + * @author Dmitriy Maximov <Dmitriy.Maximov@cern.ch> + * + * $Id: LArGeoCheckerDict.h 653855 2015-03-13 09:00:06Z dmaximov $ + */ +#ifndef GeoSpecialShapes_LArGeoCheckerDICT_H +#define GeoSpecialShapes_LArGeoCheckerDICT_H + +#include "GeoSpecialShapes/LArWheelCalculator.h" + +#endif // GeoSpecialShapes_LArGeoCheckerDICT_H diff --git a/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculator.h b/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculator.h new file mode 100644 index 0000000..c89c87e --- /dev/null +++ b/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculator.h @@ -0,0 +1,232 @@ +/* + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef GEOSPECIALSHAPES_LARWHEELCALCULATOR_H +#define GEOSPECIALSHAPES_LARWHEELCALCULATOR_H + +#include <vector> + +#include "CLHEP/Vector/ThreeVector.h" +//#ifndef XAOD_STANDALONE +// #include "AthenaKernel/CLASS_DEF.h" +//#endif // XAOD_STANDALONE + +#include "GeoSpecialShapes/LArWheelCalculatorEnums.h" +// Physical constants +#include "GeoModelKernel/Units.h" +#define SYSTEM_OF_UNITS GeoModelKernelUnits + +#define LARWC_SINCOS_POLY 5 +#define LARWC_DTNF_NEW + +class IRDBRecordset; +//class RDBParamRecords; + +//#define HARDDEBUG + +// Forward declarations +namespace LArWheelCalculator_Impl { + class IDistanceCalculator; + class DistanceCalculatorSaggingOff; + class DistanceCalculatorSaggingOn; + + class IFanCalculator; + class ModuleFanCalculator; + template <typename SaggingType> class WheelFanCalculator; + template <typename SaggingType> class DistanceToTheNeutralFibre_OfFan; +} + +/// @class LArWheelCalculator +/// This class separates some of the geometry details of the LAr +/// endcap. +/// 26-May-2009 AMS: remove all previous comments from here as obsoleted +/// +class LArWheelCalculator +{ + + friend class LArWheelCalculator_Impl::DistanceCalculatorSaggingOff; + friend class LArWheelCalculator_Impl::DistanceCalculatorSaggingOn; + friend class LArWheelCalculator_Impl::ModuleFanCalculator; + template <typename SaggingType> friend class LArWheelCalculator_Impl::WheelFanCalculator; + template <typename SaggingType> friend class LArWheelCalculator_Impl::DistanceToTheNeutralFibre_OfFan; + + public: + + LArWheelCalculator(LArG4::LArWheelCalculator_t a_wheelType, int zside = 1); + virtual ~LArWheelCalculator(); + + LArWheelCalculator (const LArWheelCalculator&) = delete; + LArWheelCalculator& operator= (const LArWheelCalculator&) = delete; + + static const char *LArWheelCalculatorTypeString(LArG4::LArWheelCalculator_t); + static double GetFanHalfThickness(LArG4::LArWheelCalculator_t); + + // "Get constant" methods: + double GetWheelThickness() const { return m_WheelThickness; } + double GetdWRPtoFrontFace() const { return m_dWRPtoFrontFace; } + double GetStraightStartSection() const { return m_StraightStartSection; } + virtual LArG4::LArWheelCalculator_t type() const { return m_type; } + // "zShift" is the z-distance (cm) that the EM endcap is shifted + // (due to cabling, etc.) + int GetAtlasZside() const { return m_AtlasZside; } + double zShift() const { return m_zShift; } + double GetFanFoldRadius() const { return m_FanFoldRadius; } + double GetZeroFanPhi() const { return m_ZeroFanPhi; } + int GetNumberOfWaves() const { return m_NumberOfWaves; } + int GetNumberOfHalfWaves() const { return m_NumberOfHalfWaves; } + int GetNumberOfFans() const { return m_NumberOfFans; } + + double GetActiveLength() const { return m_ActiveLength; } + double GetFanStepOnPhi() const { return m_FanStepOnPhi; } + double GetHalfWaveLength() const { return m_HalfWaveLength; } + double GetQuarterWaveLength() const { return m_QuarterWaveLength; } + double GetWheelRefPoint() const { return m_zWheelRefPoint; } + double GetFanHalfThickness() const { return m_FanHalfThickness; } + + bool GetisModule() const { return m_isModule; } + bool GetisElectrode() const { return m_isElectrode; } + bool GetisInner() const { return m_isInner; } + bool GetisBarrette() const { return m_isBarrette; } + bool GetisBarretteCalib() const { return m_isBarretteCalib; } + + double GetWheelInnerRadius(double *) const; + void GetWheelOuterRadius(double *) const; + + double GetElecFocaltoWRP() const { return m_dElecFocaltoWRP; } + // "set constant" method: + + int GetFirstFan() const { return m_FirstFan; } + int GetLastFan() const { return m_LastFan; } + + int GetStartGapNumber() const { return m_ZeroGapNumber; } + void SetStartGapNumber(int n) { m_ZeroGapNumber = n; } + + /// @name geometry methods + /// @{ + + /// Determines the nearest to the input point fan. + /// Rotates point p to the localFan coordinates and returns the + /// fan number to out_fan_number parameter. + double DistanceToTheNearestFan(CLHEP::Hep3Vector &p, int & out_fan_number) const; + + /// Calculates aproximate, probably underestimate, distance to the + /// neutral fibre of the vertical fan. Sign of return value means + /// side of the fan; negative - lower phi. + double DistanceToTheNeutralFibre(const CLHEP::Hep3Vector &p, int fan_number) const; + + CLHEP::Hep3Vector NearestPointOnNeutralFibre(const CLHEP::Hep3Vector &p, + int fan_number) const; + std::vector<double> NearestPointOnNeutralFibre_asVector(const CLHEP::Hep3Vector &p, + int fan_number) const; + int GetPhiGap(const CLHEP::Hep3Vector &p) const { return GetPhiGapAndSide(p).first; } + int PhiGapNumberForWheel(int) const; + std::pair<int, int> GetPhiGapAndSide(const CLHEP::Hep3Vector &p) const; + double AmplitudeOfSurface(const CLHEP::Hep3Vector& P, int side, int fan_number) const; + + /// @} + + private: + LArG4::LArWheelCalculator_t m_type; + + int m_AtlasZside; + bool m_SaggingOn; // ! + bool m_phiRotation; + bool m_slant_use_default; + double m_slant_parametrization[5]; // pol4 + double m_sin_parametrization[7]; // up to pol6 + double m_cos_parametrization[7]; + std::vector<std::vector<double> > m_sagging_parameter; // ! + //double m_WheelThickness; + // double m_HalfWheelThickness; + //double m_zWheelFrontFace, m_zWheelBackFace; + + // N.B. all const values copied from the DB@ + // https://atlas-geometry-db.web.cern.ch/atlas-geometry-db/ + const double m_ActiveLength = 510 * SYSTEM_OF_UNITS::mm; //mm + const double m_StraightStartSection = 2 * SYSTEM_OF_UNITS::mm; //mm + const double m_dWRPtoFrontFace = 11 * SYSTEM_OF_UNITS::mm; //mm + const double m_HalfGapBetweenWheels = .15 * SYSTEM_OF_UNITS::cm; //cm + const double m_zWheelRefPoint = 368.95* SYSTEM_OF_UNITS::cm; //cm + const double m_dMechFocaltoWRP = 369.1 * SYSTEM_OF_UNITS::cm; //cm + const double m_dElecFocaltoWRP = 368.9 * SYSTEM_OF_UNITS::cm; //cm + const double m_rOuterCutoff = 203.4 * SYSTEM_OF_UNITS::cm; //cm + const double m_eta_hi = 3.2 * SYSTEM_OF_UNITS::cm; //cm 3.2 ----> (1 is 2.5) + const double m_eta_mid = 2.5 * SYSTEM_OF_UNITS::cm; //cm 2.5 ----> (1 is 1.375) + const double m_eta_low = 1.375 * SYSTEM_OF_UNITS::cm; //cm 2.5 ----> (1 is 1.375) + const double m_zShift = 4.5 * SYSTEM_OF_UNITS::cm; //cm + + const double m_WheelThickness = m_ActiveLength + 2.*m_StraightStartSection; + const double m_HalfWheelThickness = m_WheelThickness * 0.5; + const double m_zWheelFrontFace = m_dMechFocaltoWRP + m_dWRPtoFrontFace; + const double m_zWheelBackFace = m_zWheelFrontFace + m_WheelThickness; + + ///// + double m_QuarterWaveLength; + double m_HalfWaveLength; + double m_FanFoldRadius; + double m_ZeroFanPhi; + double m_ZeroFanPhi_ForDetNeaFan; + double m_FanStepOnPhi; + int m_NumberOfWaves; + int m_NumberOfHalfWaves; + int m_NumberOfFans; + //int m_HalfNumberOfFans; removed because unused. DM 2015-07-30 + double m_FanHalfThickness; + int m_ZeroGapNumber; + int m_FirstFan; + int m_LastFan; + + bool m_isModule; + bool m_isElectrode; + bool m_isInner; + bool m_isBarrette; + bool m_isBarretteCalib; + + // int m_fan_number; // break thread-safety -> removed DM 2015-07-30 + + void outer_wheel_init(); + void inner_wheel_init(); + void module_init(); + + public: + + /*void set_m_fan_number(const int &fan_number) + { + m_fan_number = fan_number; + if(m_fan_number < 0) m_fan_number += m_NumberOfFans; + m_fan_number += m_ZeroGapNumber; + if(m_fan_number >= m_NumberOfFans) m_fan_number -= m_NumberOfFans; + }*/ + int adjust_fan_number(int fan_number) const { + int res_fan_number = fan_number; + if(res_fan_number < 0) res_fan_number += m_NumberOfFans; + res_fan_number += m_ZeroGapNumber; + if(res_fan_number >= m_NumberOfFans) res_fan_number -= m_NumberOfFans; + return res_fan_number; + } + + /// Calculates wave slant angle using parametrization for current wheel + /// for given distance from calorimeter axis + double parameterized_slant_angle(double) const; + + private: + + void parameterized_sincos(const double, double &, double &) const; + void parameterized_sin(const double, double &, double &) const; + + private: + + LArWheelCalculator_Impl::IDistanceCalculator *m_distanceCalcImpl; + LArWheelCalculator_Impl::IFanCalculator *m_fanCalcImpl; + + void fill_sincos_parameterization(); +}; + +//#ifndef XAOD_STANDALONE + //using the macro below we can assign an identifier (and a version) + //This is required and checked at compile time when you try to record/retrieve +// CLASS_DEF(LArWheelCalculator , 900345678 , 1) +//#endif // XAOD_STANDALONE + +#endif // GEOSPECIALSHAPES_LARWHEELCALCULATOR_H diff --git a/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculatorEnums.h b/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculatorEnums.h new file mode 100644 index 0000000..dcea707 --- /dev/null +++ b/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculatorEnums.h @@ -0,0 +1,25 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef GEOSPECIALSHAPES_LARWHEELCALCULATORENUMS_H +#define GEOSPECIALSHAPES_LARWHEELCALCULATORENUMS_H + +namespace LArG4 { + + enum LArWheelCalculator_t { + InnerAbsorberWheel, OuterAbsorberWheel, + InnerElectrodWheel, OuterElectrodWheel, + InnerAbsorberModule, OuterAbsorberModule, + InnerElectrodModule, OuterElectrodModule, + BackInnerBarretteWheel, BackOuterBarretteWheel, + BackInnerBarretteWheelCalib, BackOuterBarretteWheelCalib, + BackInnerBarretteModule, BackOuterBarretteModule, + BackInnerBarretteModuleCalib, BackOuterBarretteModuleCalib, + InnerGlueWheel, OuterGlueWheel, + InnerLeadWheel, OuterLeadWheel + }; + + struct ROOT6_NamespaceAutoloadHook_WheelCalc{}; +} +#endif diff --git a/GeoSpecialShapes/GeoSpecialShapes/selection.xml b/GeoSpecialShapes/GeoSpecialShapes/selection.xml new file mode 100644 index 0000000..d5a4c1f --- /dev/null +++ b/GeoSpecialShapes/GeoSpecialShapes/selection.xml @@ -0,0 +1,3 @@ +<lcgdict> + <class name="LArWheelCalculator" /> +</lcgdict> diff --git a/GeoSpecialShapes/GeoSpecialShapes/selectionEnums.xml b/GeoSpecialShapes/GeoSpecialShapes/selectionEnums.xml new file mode 100644 index 0000000..cd2c4ad --- /dev/null +++ b/GeoSpecialShapes/GeoSpecialShapes/selectionEnums.xml @@ -0,0 +1,7 @@ +<lcgdict> + + <enum pattern="LArG4::*"/> + <class name="LArG4::ROOT6_NamespaceAutoloadHook_WheelCalc" /> + +</lcgdict> + diff --git a/GeoSpecialShapes/GeoSpecialShapes/sincos.h b/GeoSpecialShapes/GeoSpecialShapes/sincos.h new file mode 100644 index 0000000..4f51983 --- /dev/null +++ b/GeoSpecialShapes/GeoSpecialShapes/sincos.h @@ -0,0 +1,110 @@ +// This file's extension implies that it's C, but it's really -*- C++ -*-. + +/* + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +*/ + +// $Id: sincos.h,v 1.1 2008-11-24 04:34:07 ssnyder Exp $ + +/** + * @file CxxUtils/sincos.h + * @author scott snyder + * @date Nov 2008, from older D0 code. + * @brief Helper to simultaneously calculate sin and cos of the same angle. + */ + + +#ifndef SINCOS_H +#define SINCOS_H + + +#include <cmath> + + +//namespace CxxUtils { + + +/** + * @brief Helper to simultaneously calculate sin and cos of the same angle. + * + * Instantiate an instance of this object, passing the angle to the + * constructor. The sin and cos are then available as the sn and cs + * members. In addition, the apply() method may be used to calculate + * a*sin(x) + b*cos(x). + * + * Implementation notes: + * + * The i386/x87 architecture has an instruction to do this. + * So, on that platform, we use that instruction directly. + * It seems to be a win to use it even if we're using SSE math, + * so we'll use it for x86_64 too. + * Otherwise, we'll use sincos() if it's available (it's a GNU extension). + * Otherwise, just call sin() and cos() separately. + * + * Note that the fsincos instruction only works correctly + * if the input angle is in the range -2^63 ... 2^63. + * This is not likely to be an issue for us. + * + * Why prefer using the fsincos instruction directly to calling + * the sincos() library function? + * + * - It turns out to be a little difficult to ensure that + * sincos() actually gets inlined. In general, one needs -ffast-math + * (which isn't on for standard Atlas builds), but even that's not always + * sufficient. + * + * - The library version includes extra code that we + * don't really need to handle the case where + * abs(angle) > 2^63. (Runtime penalty, though, is + * moving the FPU status word to $eax and one + * taken branch.) + * + * - Most importantly, though, the library function + * takes pointers into which the results are stored. + * Playing with this, i was unable to prevent the + * calculated values from being spilled to memory. + * With the definition used below, we don't necessarily + * spill to memory. A sequence like + * + * sincos sc (ang); + * double a = sc.apply (x, y) + * + * can be calculated entirely in the FPU register file, + * with no spills. + */ +struct sincos +{ + // cppcheck-suppress uninitMemberVar ; false positive + /// Calculate sine and cosine of x. + sincos (double x) +#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) + // Inline assembly version. Uses x87 FPU. + { __asm __volatile__ ("fsincos\n\t" : "=t" (cs), "=u" (sn) : "0" (x)); } +#elif defined(__USE_GNU) + // Version using the GNU sincos() function. + { ::sincos(x, &sn, &cs); } +#else + // Generic version. + : sn (std::sin (x)), cs (std::cos (x)) {} +#endif + + /// @f$\sin(x)@f$ + double sn; + + /// @f$\cos(x)@f$ + double cs; + + /// @f$a\sin(x) + b\cos(x)@f$ + double apply (double a, double b) const { return a*sn + b*cs; } + + /// @f$a\sin^2(x) + b\sin(x)\cos(x) + c\cos^2(x)@f$ + double apply2 (double a, double b, double c) const + { return a*sn*sn + b*sn*cs + c*cs*cs; } +}; + + +//} // namespace CxxUtils + + +#endif //not SINCOS_H + diff --git a/GeoSpecialShapes/build/CMakeCache.txt b/GeoSpecialShapes/build/CMakeCache.txt new file mode 100644 index 0000000..cc51c8a --- /dev/null +++ b/GeoSpecialShapes/build/CMakeCache.txt @@ -0,0 +1,384 @@ +# This is the CMakeCache file. +# For build in directory: /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build +# It was generated by CMake: /opt/local/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a program. +CMAKE_AR:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar + +//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or +// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. +CMAKE_BUILD_TYPE:STRING= + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ + +//Flags used by the compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the compiler during release builds for minimum +// size. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the compiler during release builds with debug info. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Flags used by the linker. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF + +//User executables (bin) +CMAKE_INSTALL_BINDIR:PATH=bin + +//Read-only architecture-independent data (DATAROOTDIR) +CMAKE_INSTALL_DATADIR:PATH= + +//Read-only architecture-independent data root (share) +CMAKE_INSTALL_DATAROOTDIR:PATH=share + +//Documentation root (DATAROOTDIR/doc/PROJECT_NAME) +CMAKE_INSTALL_DOCDIR:PATH= + +//C header files (include) +CMAKE_INSTALL_INCLUDEDIR:PATH=include + +//Info documentation (DATAROOTDIR/info) +CMAKE_INSTALL_INFODIR:PATH= + +//Object code libraries (lib) +CMAKE_INSTALL_LIBDIR:PATH=lib + +//Program executables (libexec) +CMAKE_INSTALL_LIBEXECDIR:PATH=libexec + +//Locale-dependent data (DATAROOTDIR/locale) +CMAKE_INSTALL_LOCALEDIR:PATH= + +//Modifiable single-machine data (var) +CMAKE_INSTALL_LOCALSTATEDIR:PATH=var + +//Man documentation (DATAROOTDIR/man) +CMAKE_INSTALL_MANDIR:PATH= + +//Path to a program. +CMAKE_INSTALL_NAME_TOOL:FILEPATH=/usr/bin/install_name_tool + +//C header files for non-gcc (/usr/include) +CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/Users/mariba/Atlas/standaloneGeo2G4/install + +//Run-time variable data (LOCALSTATEDIR/run) +CMAKE_INSTALL_RUNSTATEDIR:PATH= + +//System admin executables (sbin) +CMAKE_INSTALL_SBINDIR:PATH=sbin + +//Modifiable architecture-independent data (com) +CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com + +//Read-only single-machine data (etc) +CMAKE_INSTALL_SYSCONFDIR:PATH=etc + +//Path to a program. +CMAKE_LINKER:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make + +//Flags used by the linker during the creation of modules. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=CMAKE_OBJCOPY-NOTFOUND + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/objdump + +//Build architectures for OSX +CMAKE_OSX_ARCHITECTURES:STRING= + +//Minimum OS X version to target for deployment (at runtime); newer +// APIs weak linked. Set to empty string for default value. +CMAKE_OSX_DEPLOYMENT_TARGET:STRING= + +//The product will be built against the headers and libraries located +// inside the indicated SDK. +CMAKE_OSX_SYSROOT:PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=GeoSpecialShapes + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib + +//Flags used by the linker during the creation of dll's. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//The directory containing a CMake configuration file for Eigen3. +Eigen3_DIR:PATH=/usr/local/share/eigen3/cmake + +//The directory containing a CMake configuration file for GeoModelCore. +GeoModelCore_DIR:PATH=/Users/mariba/Atlas/standaloneGeo2G4/install/lib/cmake/GeoModelCore + +//Value Computed by CMake +GeoSpecialShapes_BINARY_DIR:STATIC=/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build + +//Dependencies for the target +GeoSpecialShapes_LIB_DEPENDS:STATIC=general;GeoMaterial2G4;general;GeoModel2G4;general;GeoModelCore::GeoModelKernel; + +//Value Computed by CMake +GeoSpecialShapes_SOURCE_DIR:STATIC=/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=10 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=3 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/opt/local/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/opt/local/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/opt/local/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Path to cache edit program executable. +CMAKE_EDIT_COMMAND:INTERNAL=/opt/local/bin/ccmake +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes +//ADVANCED property for variable: CMAKE_INSTALL_BINDIR +CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATADIR +CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR +CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR +CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR +CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INFODIR +CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR +CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR +CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR +CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR +CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_MANDIR +CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_NAME_TOOL +CMAKE_INSTALL_NAME_TOOL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR +CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR +CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR +CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR +CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR +CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/opt/local/share/cmake-3.10 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Details about finding GeoModelCore +FIND_PACKAGE_MESSAGE_DETAILS_GeoModelCore:INTERNAL=[/Users/mariba/Atlas/standaloneGeo2G4/install/lib/cmake/GeoModelCore][v2.0.0()] +//CMAKE_INSTALL_PREFIX during last run +_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/Users/mariba/Atlas/standaloneGeo2G4/install + diff --git a/GeoSpecialShapes/build/CMakeFiles/3.10.3/CMakeCXXCompiler.cmake b/GeoSpecialShapes/build/CMakeFiles/3.10.3/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..5c100e5 --- /dev/null +++ b/GeoSpecialShapes/build/CMakeFiles/3.10.3/CMakeCXXCompiler.cmake @@ -0,0 +1,75 @@ +set(CMAKE_CXX_COMPILER "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "AppleClang") +set(CMAKE_CXX_COMPILER_VERSION "10.0.1.10010046") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "98") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") + +set(CMAKE_CXX_PLATFORM_ID "Darwin") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + +set(CMAKE_AR "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar") +set(CMAKE_CXX_COMPILER_AR "") +set(CMAKE_RANLIB "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "") +set(CMAKE_LINKER "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld") +set(CMAKE_COMPILER_IS_GNUCXX ) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) +set(CMAKE_COMPILER_IS_MINGW ) +set(CMAKE_COMPILER_IS_CYGWIN ) +if(CMAKE_COMPILER_IS_CYGWIN) + set(CYGWIN 1) + set(UNIX 1) +endif() + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +if(CMAKE_COMPILER_IS_MINGW) + set(MINGW 1) +endif() +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP) +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "c++") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks") diff --git a/GeoSpecialShapes/build/CMakeFiles/3.10.3/CMakeDetermineCompilerABI_CXX.bin b/GeoSpecialShapes/build/CMakeFiles/3.10.3/CMakeDetermineCompilerABI_CXX.bin new file mode 100644 index 0000000000000000000000000000000000000000..9e1ac450765d6b05920ffa94798f6f963b679dad GIT binary patch literal 4288 zcmeHKO=}ZT6n)dQ_*If_6h)CJC~7g8sz^{bilYfFZP5zSQl3pRB?I}8WCjx@(2a{A zN*DeBLGU+-3lUv(sVmnmbR!XTSBi+|yu36s^#j-PE}Xo3X6`%hzBAd}w;Nx6Y!kwY z39&LHgh&7-kozKuOo)9z7LaoG;#Ftfxi-V6(XgWQw~RU&6iPYg+?<P+sQqKnXF_xI zCPo0Xq(VyHZTgyE*{XL77ogs0T|z!QC?{D7Qz;9zYGWX{Rqu(`+pRZ|NA$vC$fXRb zcf4v*de!Bc;?es)*Lw7nK~CTQ6a)XKa?_K}<y_x8_!IF>`}Il-(Kq#8^TYVQw$A^$ zK!<hgX)llg=Y5-4+4C-77GO}HU@gB-_&m^mia4s0z$lOo8ufJ9%cqO2auJ-dA7CGo z3+KPxvokNAzH7bz{OnQr6rLpkb!L305CC)aKZ(7zP9R6in{f>Hrw;!Q;o!M8z<0dI z@Qzi;Sc6{BPhosKHIYJ7US9Q?3DsL0A7M|l{(7t7yOq=>y#>`m90k~qji2pUk84hU zO&AA^1I7X4fN{V$U>q<G7zd04|AzxNvYk(B&Uap>(_YVZg0E{%mn>Td*0T>s4j@gu zykN)L-A=pv!09f&Sq(>S`pV3?hIiMkEz9C<zrJ8+7P+0X4)-#`D`yzaIA^dDkM+F6 zoU_p=c8;mtAe6Br=IbF@DM`2K76RXuC3mUl*2SU9l2;W+dc)m^gQ{GJesU5#j(7d} zm}Lp8H_WiNJ&N~w>Gz72Wh#=Glz%-_sxvwM$%Y@~Wge3>T9I;oYT_&>Y8kRZ>HGw9 C8JY(G literal 0 HcmV?d00001 diff --git a/GeoSpecialShapes/build/CMakeFiles/3.10.3/CMakeSystem.cmake b/GeoSpecialShapes/build/CMakeFiles/3.10.3/CMakeSystem.cmake new file mode 100644 index 0000000..a2525ab --- /dev/null +++ b/GeoSpecialShapes/build/CMakeFiles/3.10.3/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Darwin-18.5.0") +set(CMAKE_HOST_SYSTEM_NAME "Darwin") +set(CMAKE_HOST_SYSTEM_VERSION "18.5.0") +set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") + + + +set(CMAKE_SYSTEM "Darwin-18.5.0") +set(CMAKE_SYSTEM_NAME "Darwin") +set(CMAKE_SYSTEM_VERSION "18.5.0") +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/GeoSpecialShapes/build/CMakeFiles/3.10.3/CompilerIdCXX/CMakeCXXCompilerId.cpp b/GeoSpecialShapes/build/CMakeFiles/3.10.3/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..2d66298 --- /dev/null +++ b/GeoSpecialShapes/build/CMakeFiles/3.10.3/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,576 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif + /* __INTEL_COMPILER = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) +# define COMPILER_ID "Fujitsu" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__ARMCC_VERSION) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) +# define COMPILER_ID "MIPSpro" +# if defined(_SGI_COMPILER_VERSION) + /* _SGI_COMPILER_VERSION = VRP */ +# define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100) +# define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10) +# define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10) +# else + /* _COMPILER_VERSION = VRP */ +# define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100) +# define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10) +# define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__sgi) +# define COMPILER_ID "MIPSpro" + +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXE) || defined(__CRAYXC) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) +# define PLATFORM_ID "IRIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number components. */ +#ifdef COMPILER_VERSION_MAJOR +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + + +#if defined(_MSC_VER) && defined(_MSVC_LANG) +#define CXX_STD _MSVC_LANG +#else +#define CXX_STD __cplusplus +#endif + +const char* info_language_dialect_default = "INFO" ":" "dialect_default[" +#if CXX_STD > 201402L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXE) || defined(__CRAYXC) + require += info_cray[argc]; +#endif + require += info_language_dialect_default[argc]; + (void)argv; + return require; +} diff --git a/GeoSpecialShapes/build/CMakeFiles/3.10.3/CompilerIdCXX/a.out b/GeoSpecialShapes/build/CMakeFiles/3.10.3/CompilerIdCXX/a.out new file mode 100644 index 0000000000000000000000000000000000000000..a5dafb114b35eed175337579b13d3e47ac1aa82c GIT binary patch literal 8600 zcmeHNOKTKC5UzC-jT(}uD2fIr0Y!~$b~O=S2NScpK}mu}5SQ3Yb|=Ze?8Dg^ABR8? z#DpN`m}7o`zrlkdUKITidW+z}g9H)3>gmbOY!dV;bg{MFUv+hL&DVX{>Do_g-+u2P zN+gNqwh>VWbgYT!85!si9fIbdLW~Vu&)&=48f9x-5^=aG;yCkg6k<GkcRcPQ=kvl* zQ5d;VGZZOF5yG<`dkUawjJMK;hk@NyE{wyu($qwAYDhLh6l$Jpm#3AnG2Y(xAl@A{ z&NwQ}SyT|OQm)k#Y>Zb`@h+)JjAQvlgP|{kUw&kli^48XRV0q{_e#a%Jz`<pm{Twk zeDgjmLxmU`7$1m?fbZBog!>WM2b__>N6s&ro>`y2RXihfK^&gHmDJDK&Eb(7*`eX^ zj2I1h0kbU2WQq8EsIIhk;~b~CXAreW%jRD#7@xxsb9E59WCZ>lT{x$}yP;!H7LL!l z9oo1aO#dV}hMW?$LVNw1+w0hqy~QU^5t!vLl=JxT?%4j1&o2~SUOW2v+>g$+Gq4#@ zUZ2`_N#(xeGWjNP3VpRj>_I2+SR9AXeN=c|=7q=jnVWVlAxxs43-T%S^rSK=BxO&^ zJkLk`6Kh{^OymBypVU07lp0i1;7xQK%K6M20iP!oW`4D31~dbj0nLDBKr^5j&<tn> z{>H$a+``xQ*<b9oF#9vN;D3LgU1gM8?7xCvu(?9^XZ!2R+mo}a3$v@a#pbip=(91c zjBv@l=zoeyG0#IAJQuU86K{t{u8m$SR7zFbvE2MXwdz<`9kV<=L2{((nBG*yE#-$y z7cXYYYPyA)yy_Qi)3FMkC|Xmd?|AtO=O;MfKw{CwL(8q%m2y5UC6i7Co%DJqlggyi z`1GAa4CG5kRGetbzvub)eji%aeRv0C;Xc17v|?t5oXysHhe7y$ds@9m4ytxUwd|us zGoTsJ3}^;41DXNNfM!55pc&8%Xa+O`nt}hDfj!+6R9X`Pb@rqv%?RtURq#Da%vfg8 za_L0Lw99mw>(7EReAkeql}=O;!#fh14(~+B;d>Bzz}F?dIc<rCs}Opaq&WlgQ5{Tj z$u&vKM!+9OWbvVGxU>lC<h)*cBB*fk{l@{u_(MPkOpLn}=At9xw894!9#yzS;roo? z82(Ry>#u;kj1&Wv@r@kF>bsB+7j)O3J%C$2a4@{ikC0q)*;mv&e^N}MvJZ-dxOX#i KMl!5!gy;|3yA@3U literal 0 HcmV?d00001 diff --git a/GeoSpecialShapes/build/CMakeFiles/CMakeDirectoryInformation.cmake b/GeoSpecialShapes/build/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..e769147 --- /dev/null +++ b/GeoSpecialShapes/build/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/GeoSpecialShapes/build/CMakeFiles/CMakeOutput.log b/GeoSpecialShapes/build/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000..1ddbbe2 --- /dev/null +++ b/GeoSpecialShapes/build/CMakeFiles/CMakeOutput.log @@ -0,0 +1,381 @@ +The system is: Darwin - 18.5.0 - x86_64 +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is AppleClang, found in "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/3.10.3/CompilerIdCXX/a.out" + +Determining if the CXX compiler works passed with the following output: +Change Dir: /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/CMakeTmp + +Run Build Command:"/usr/bin/make" "cmTC_79ceb/fast" +/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_79ceb.dir/build.make CMakeFiles/cmTC_79ceb.dir/build +Building CXX object CMakeFiles/cmTC_79ceb.dir/testCXXCompiler.cxx.o +/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -o CMakeFiles/cmTC_79ceb.dir/testCXXCompiler.cxx.o -c /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTC_79ceb +/opt/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_79ceb.dir/link.txt --verbose=1 +/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/cmTC_79ceb.dir/testCXXCompiler.cxx.o -o cmTC_79ceb + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/CMakeTmp + +Run Build Command:"/usr/bin/make" "cmTC_8505b/fast" +/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_8505b.dir/build.make CMakeFiles/cmTC_8505b.dir/build +Building CXX object CMakeFiles/cmTC_8505b.dir/CMakeCXXCompilerABI.cpp.o +/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -o CMakeFiles/cmTC_8505b.dir/CMakeCXXCompilerABI.cpp.o -c /opt/local/share/cmake-3.10/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTC_8505b +/opt/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8505b.dir/link.txt --verbose=1 +/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names -v -Wl,-v CMakeFiles/cmTC_8505b.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_8505b +Apple LLVM version 10.0.1 (clang-1001.0.46.4) +Target: x86_64-apple-darwin18.5.0 +Thread model: posix +InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin + "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -lto_library /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libLTO.dylib -dynamic -arch x86_64 -macosx_version_min 10.14.0 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -o cmTC_8505b -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_8505b.dir/CMakeCXXCompilerABI.cpp.o -lc++ -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.1/lib/darwin/libclang_rt.osx.a +@(#)PROGRAM:ld PROJECT:ld64-450.3 +BUILD 18:45:16 Apr 4 2019 +configured to support archs: armv6 armv7 armv7s arm64 arm64e arm64_32 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em +Library search paths: + /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib +Framework search paths: + /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/ + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:"/usr/bin/make" "cmTC_8505b/fast"] + ignore line: [/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_8505b.dir/build.make CMakeFiles/cmTC_8505b.dir/build] + ignore line: [Building CXX object CMakeFiles/cmTC_8505b.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -o CMakeFiles/cmTC_8505b.dir/CMakeCXXCompilerABI.cpp.o -c /opt/local/share/cmake-3.10/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTC_8505b] + ignore line: [/opt/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8505b.dir/link.txt --verbose=1] + ignore line: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names -v -Wl,-v CMakeFiles/cmTC_8505b.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_8505b ] + ignore line: [Apple LLVM version 10.0.1 (clang-1001.0.46.4)] + ignore line: [Target: x86_64-apple-darwin18.5.0] + ignore line: [Thread model: posix] + ignore line: [InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin] + link line: [ "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -lto_library /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libLTO.dylib -dynamic -arch x86_64 -macosx_version_min 10.14.0 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -o cmTC_8505b -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_8505b.dir/CMakeCXXCompilerABI.cpp.o -lc++ -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.1/lib/darwin/libclang_rt.osx.a] + arg [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld] ==> ignore + arg [-demangle] ==> ignore + arg [-lto_library] ==> ignore, skip following value + arg [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libLTO.dylib] ==> skip value of -lto_library + arg [-dynamic] ==> ignore + arg [-arch] ==> ignore + arg [x86_64] ==> ignore + arg [-macosx_version_min] ==> ignore + arg [10.14.0] ==> ignore + arg [-syslibroot] ==> ignore + arg [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk] ==> ignore + arg [-o] ==> ignore + arg [cmTC_8505b] ==> ignore + arg [-search_paths_first] ==> ignore + arg [-headerpad_max_install_names] ==> ignore + arg [-v] ==> ignore + arg [CMakeFiles/cmTC_8505b.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lc++] ==> lib [c++] + arg [-lSystem] ==> lib [System] + arg [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.1/lib/darwin/libclang_rt.osx.a] ==> lib [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.1/lib/darwin/libclang_rt.osx.a] + Library search paths: [;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib] + Framework search paths: [;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/] + remove lib [System] + remove lib [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.1/lib/darwin/libclang_rt.osx.a] + collapse library dir [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib] ==> [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib] + collapse framework dir [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/] ==> [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks] + implicit libs: [c++] + implicit dirs: [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib] + implicit fwks: [/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks] + + + + +Detecting CXX [-std=c++1z] compiler features compiled with the following output: +Change Dir: /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/CMakeTmp + +Run Build Command:"/usr/bin/make" "cmTC_a9954/fast" +/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_a9954.dir/build.make CMakeFiles/cmTC_a9954.dir/build +Building CXX object CMakeFiles/cmTC_a9954.dir/feature_tests.cxx.o +/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -std=c++1z -o CMakeFiles/cmTC_a9954.dir/feature_tests.cxx.o -c /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/feature_tests.cxx +Linking CXX executable cmTC_a9954 +/opt/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a9954.dir/link.txt --verbose=1 +/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/cmTC_a9954.dir/feature_tests.cxx.o -o cmTC_a9954 + + + Feature record: CXX_FEATURE:1cxx_aggregate_default_initializers + Feature record: CXX_FEATURE:1cxx_alias_templates + Feature record: CXX_FEATURE:1cxx_alignas + Feature record: CXX_FEATURE:1cxx_alignof + Feature record: CXX_FEATURE:1cxx_attributes + Feature record: CXX_FEATURE:1cxx_attribute_deprecated + Feature record: CXX_FEATURE:1cxx_auto_type + Feature record: CXX_FEATURE:1cxx_binary_literals + Feature record: CXX_FEATURE:1cxx_constexpr + Feature record: CXX_FEATURE:1cxx_contextual_conversions + Feature record: CXX_FEATURE:1cxx_decltype + Feature record: CXX_FEATURE:1cxx_decltype_auto + Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types + Feature record: CXX_FEATURE:1cxx_default_function_template_args + Feature record: CXX_FEATURE:1cxx_defaulted_functions + Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers + Feature record: CXX_FEATURE:1cxx_delegating_constructors + Feature record: CXX_FEATURE:1cxx_deleted_functions + Feature record: CXX_FEATURE:1cxx_digit_separators + Feature record: CXX_FEATURE:1cxx_enum_forward_declarations + Feature record: CXX_FEATURE:1cxx_explicit_conversions + Feature record: CXX_FEATURE:1cxx_extended_friend_declarations + Feature record: CXX_FEATURE:1cxx_extern_templates + Feature record: CXX_FEATURE:1cxx_final + Feature record: CXX_FEATURE:1cxx_func_identifier + Feature record: CXX_FEATURE:1cxx_generalized_initializers + Feature record: CXX_FEATURE:1cxx_generic_lambdas + Feature record: CXX_FEATURE:1cxx_inheriting_constructors + Feature record: CXX_FEATURE:1cxx_inline_namespaces + Feature record: CXX_FEATURE:1cxx_lambdas + Feature record: CXX_FEATURE:1cxx_lambda_init_captures + Feature record: CXX_FEATURE:1cxx_local_type_template_args + Feature record: CXX_FEATURE:1cxx_long_long_type + Feature record: CXX_FEATURE:1cxx_noexcept + Feature record: CXX_FEATURE:1cxx_nonstatic_member_init + Feature record: CXX_FEATURE:1cxx_nullptr + Feature record: CXX_FEATURE:1cxx_override + Feature record: CXX_FEATURE:1cxx_range_for + Feature record: CXX_FEATURE:1cxx_raw_string_literals + Feature record: CXX_FEATURE:1cxx_reference_qualified_functions + Feature record: CXX_FEATURE:1cxx_relaxed_constexpr + Feature record: CXX_FEATURE:1cxx_return_type_deduction + Feature record: CXX_FEATURE:1cxx_right_angle_brackets + Feature record: CXX_FEATURE:1cxx_rvalue_references + Feature record: CXX_FEATURE:1cxx_sizeof_member + Feature record: CXX_FEATURE:1cxx_static_assert + Feature record: CXX_FEATURE:1cxx_strong_enums + Feature record: CXX_FEATURE:1cxx_template_template_parameters + Feature record: CXX_FEATURE:1cxx_thread_local + Feature record: CXX_FEATURE:1cxx_trailing_return_types + Feature record: CXX_FEATURE:1cxx_unicode_literals + Feature record: CXX_FEATURE:1cxx_uniform_initialization + Feature record: CXX_FEATURE:1cxx_unrestricted_unions + Feature record: CXX_FEATURE:1cxx_user_literals + Feature record: CXX_FEATURE:1cxx_variable_templates + Feature record: CXX_FEATURE:1cxx_variadic_macros + Feature record: CXX_FEATURE:1cxx_variadic_templates + + +Detecting CXX [-std=c++14] compiler features compiled with the following output: +Change Dir: /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/CMakeTmp + +Run Build Command:"/usr/bin/make" "cmTC_8713b/fast" +/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_8713b.dir/build.make CMakeFiles/cmTC_8713b.dir/build +Building CXX object CMakeFiles/cmTC_8713b.dir/feature_tests.cxx.o +/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -std=c++14 -o CMakeFiles/cmTC_8713b.dir/feature_tests.cxx.o -c /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/feature_tests.cxx +Linking CXX executable cmTC_8713b +/opt/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8713b.dir/link.txt --verbose=1 +/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/cmTC_8713b.dir/feature_tests.cxx.o -o cmTC_8713b + + + Feature record: CXX_FEATURE:1cxx_aggregate_default_initializers + Feature record: CXX_FEATURE:1cxx_alias_templates + Feature record: CXX_FEATURE:1cxx_alignas + Feature record: CXX_FEATURE:1cxx_alignof + Feature record: CXX_FEATURE:1cxx_attributes + Feature record: CXX_FEATURE:1cxx_attribute_deprecated + Feature record: CXX_FEATURE:1cxx_auto_type + Feature record: CXX_FEATURE:1cxx_binary_literals + Feature record: CXX_FEATURE:1cxx_constexpr + Feature record: CXX_FEATURE:1cxx_contextual_conversions + Feature record: CXX_FEATURE:1cxx_decltype + Feature record: CXX_FEATURE:1cxx_decltype_auto + Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types + Feature record: CXX_FEATURE:1cxx_default_function_template_args + Feature record: CXX_FEATURE:1cxx_defaulted_functions + Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers + Feature record: CXX_FEATURE:1cxx_delegating_constructors + Feature record: CXX_FEATURE:1cxx_deleted_functions + Feature record: CXX_FEATURE:1cxx_digit_separators + Feature record: CXX_FEATURE:1cxx_enum_forward_declarations + Feature record: CXX_FEATURE:1cxx_explicit_conversions + Feature record: CXX_FEATURE:1cxx_extended_friend_declarations + Feature record: CXX_FEATURE:1cxx_extern_templates + Feature record: CXX_FEATURE:1cxx_final + Feature record: CXX_FEATURE:1cxx_func_identifier + Feature record: CXX_FEATURE:1cxx_generalized_initializers + Feature record: CXX_FEATURE:1cxx_generic_lambdas + Feature record: CXX_FEATURE:1cxx_inheriting_constructors + Feature record: CXX_FEATURE:1cxx_inline_namespaces + Feature record: CXX_FEATURE:1cxx_lambdas + Feature record: CXX_FEATURE:1cxx_lambda_init_captures + Feature record: CXX_FEATURE:1cxx_local_type_template_args + Feature record: CXX_FEATURE:1cxx_long_long_type + Feature record: CXX_FEATURE:1cxx_noexcept + Feature record: CXX_FEATURE:1cxx_nonstatic_member_init + Feature record: CXX_FEATURE:1cxx_nullptr + Feature record: CXX_FEATURE:1cxx_override + Feature record: CXX_FEATURE:1cxx_range_for + Feature record: CXX_FEATURE:1cxx_raw_string_literals + Feature record: CXX_FEATURE:1cxx_reference_qualified_functions + Feature record: CXX_FEATURE:1cxx_relaxed_constexpr + Feature record: CXX_FEATURE:1cxx_return_type_deduction + Feature record: CXX_FEATURE:1cxx_right_angle_brackets + Feature record: CXX_FEATURE:1cxx_rvalue_references + Feature record: CXX_FEATURE:1cxx_sizeof_member + Feature record: CXX_FEATURE:1cxx_static_assert + Feature record: CXX_FEATURE:1cxx_strong_enums + Feature record: CXX_FEATURE:1cxx_template_template_parameters + Feature record: CXX_FEATURE:1cxx_thread_local + Feature record: CXX_FEATURE:1cxx_trailing_return_types + Feature record: CXX_FEATURE:1cxx_unicode_literals + Feature record: CXX_FEATURE:1cxx_uniform_initialization + Feature record: CXX_FEATURE:1cxx_unrestricted_unions + Feature record: CXX_FEATURE:1cxx_user_literals + Feature record: CXX_FEATURE:1cxx_variable_templates + Feature record: CXX_FEATURE:1cxx_variadic_macros + Feature record: CXX_FEATURE:1cxx_variadic_templates + + +Detecting CXX [-std=c++11] compiler features compiled with the following output: +Change Dir: /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/CMakeTmp + +Run Build Command:"/usr/bin/make" "cmTC_2c9df/fast" +/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_2c9df.dir/build.make CMakeFiles/cmTC_2c9df.dir/build +Building CXX object CMakeFiles/cmTC_2c9df.dir/feature_tests.cxx.o +/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -std=c++11 -o CMakeFiles/cmTC_2c9df.dir/feature_tests.cxx.o -c /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/feature_tests.cxx +Linking CXX executable cmTC_2c9df +/opt/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2c9df.dir/link.txt --verbose=1 +/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/cmTC_2c9df.dir/feature_tests.cxx.o -o cmTC_2c9df + + + Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers + Feature record: CXX_FEATURE:1cxx_alias_templates + Feature record: CXX_FEATURE:1cxx_alignas + Feature record: CXX_FEATURE:1cxx_alignof + Feature record: CXX_FEATURE:1cxx_attributes + Feature record: CXX_FEATURE:0cxx_attribute_deprecated + Feature record: CXX_FEATURE:1cxx_auto_type + Feature record: CXX_FEATURE:0cxx_binary_literals + Feature record: CXX_FEATURE:1cxx_constexpr + Feature record: CXX_FEATURE:0cxx_contextual_conversions + Feature record: CXX_FEATURE:1cxx_decltype + Feature record: CXX_FEATURE:0cxx_decltype_auto + Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types + Feature record: CXX_FEATURE:1cxx_default_function_template_args + Feature record: CXX_FEATURE:1cxx_defaulted_functions + Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers + Feature record: CXX_FEATURE:1cxx_delegating_constructors + Feature record: CXX_FEATURE:1cxx_deleted_functions + Feature record: CXX_FEATURE:0cxx_digit_separators + Feature record: CXX_FEATURE:1cxx_enum_forward_declarations + Feature record: CXX_FEATURE:1cxx_explicit_conversions + Feature record: CXX_FEATURE:1cxx_extended_friend_declarations + Feature record: CXX_FEATURE:1cxx_extern_templates + Feature record: CXX_FEATURE:1cxx_final + Feature record: CXX_FEATURE:1cxx_func_identifier + Feature record: CXX_FEATURE:1cxx_generalized_initializers + Feature record: CXX_FEATURE:0cxx_generic_lambdas + Feature record: CXX_FEATURE:1cxx_inheriting_constructors + Feature record: CXX_FEATURE:1cxx_inline_namespaces + Feature record: CXX_FEATURE:1cxx_lambdas + Feature record: CXX_FEATURE:0cxx_lambda_init_captures + Feature record: CXX_FEATURE:1cxx_local_type_template_args + Feature record: CXX_FEATURE:1cxx_long_long_type + Feature record: CXX_FEATURE:1cxx_noexcept + Feature record: CXX_FEATURE:1cxx_nonstatic_member_init + Feature record: CXX_FEATURE:1cxx_nullptr + Feature record: CXX_FEATURE:1cxx_override + Feature record: CXX_FEATURE:1cxx_range_for + Feature record: CXX_FEATURE:1cxx_raw_string_literals + Feature record: CXX_FEATURE:1cxx_reference_qualified_functions + Feature record: CXX_FEATURE:0cxx_relaxed_constexpr + Feature record: CXX_FEATURE:0cxx_return_type_deduction + Feature record: CXX_FEATURE:1cxx_right_angle_brackets + Feature record: CXX_FEATURE:1cxx_rvalue_references + Feature record: CXX_FEATURE:1cxx_sizeof_member + Feature record: CXX_FEATURE:1cxx_static_assert + Feature record: CXX_FEATURE:1cxx_strong_enums + Feature record: CXX_FEATURE:1cxx_template_template_parameters + Feature record: CXX_FEATURE:1cxx_thread_local + Feature record: CXX_FEATURE:1cxx_trailing_return_types + Feature record: CXX_FEATURE:1cxx_unicode_literals + Feature record: CXX_FEATURE:1cxx_uniform_initialization + Feature record: CXX_FEATURE:1cxx_unrestricted_unions + Feature record: CXX_FEATURE:1cxx_user_literals + Feature record: CXX_FEATURE:0cxx_variable_templates + Feature record: CXX_FEATURE:1cxx_variadic_macros + Feature record: CXX_FEATURE:1cxx_variadic_templates + + +Detecting CXX [-std=c++98] compiler features compiled with the following output: +Change Dir: /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/CMakeTmp + +Run Build Command:"/usr/bin/make" "cmTC_efc4f/fast" +/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_efc4f.dir/build.make CMakeFiles/cmTC_efc4f.dir/build +Building CXX object CMakeFiles/cmTC_efc4f.dir/feature_tests.cxx.o +/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -std=c++98 -o CMakeFiles/cmTC_efc4f.dir/feature_tests.cxx.o -c /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/feature_tests.cxx +Linking CXX executable cmTC_efc4f +/opt/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_efc4f.dir/link.txt --verbose=1 +/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/cmTC_efc4f.dir/feature_tests.cxx.o -o cmTC_efc4f + + + Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers + Feature record: CXX_FEATURE:0cxx_alias_templates + Feature record: CXX_FEATURE:0cxx_alignas + Feature record: CXX_FEATURE:0cxx_alignof + Feature record: CXX_FEATURE:0cxx_attributes + Feature record: CXX_FEATURE:0cxx_attribute_deprecated + Feature record: CXX_FEATURE:0cxx_auto_type + Feature record: CXX_FEATURE:0cxx_binary_literals + Feature record: CXX_FEATURE:0cxx_constexpr + Feature record: CXX_FEATURE:0cxx_contextual_conversions + Feature record: CXX_FEATURE:0cxx_decltype + Feature record: CXX_FEATURE:0cxx_decltype_auto + Feature record: CXX_FEATURE:0cxx_decltype_incomplete_return_types + Feature record: CXX_FEATURE:0cxx_default_function_template_args + Feature record: CXX_FEATURE:0cxx_defaulted_functions + Feature record: CXX_FEATURE:0cxx_defaulted_move_initializers + Feature record: CXX_FEATURE:0cxx_delegating_constructors + Feature record: CXX_FEATURE:0cxx_deleted_functions + Feature record: CXX_FEATURE:0cxx_digit_separators + Feature record: CXX_FEATURE:0cxx_enum_forward_declarations + Feature record: CXX_FEATURE:0cxx_explicit_conversions + Feature record: CXX_FEATURE:0cxx_extended_friend_declarations + Feature record: CXX_FEATURE:0cxx_extern_templates + Feature record: CXX_FEATURE:0cxx_final + Feature record: CXX_FEATURE:0cxx_func_identifier + Feature record: CXX_FEATURE:0cxx_generalized_initializers + Feature record: CXX_FEATURE:0cxx_generic_lambdas + Feature record: CXX_FEATURE:0cxx_inheriting_constructors + Feature record: CXX_FEATURE:0cxx_inline_namespaces + Feature record: CXX_FEATURE:0cxx_lambdas + Feature record: CXX_FEATURE:0cxx_lambda_init_captures + Feature record: CXX_FEATURE:0cxx_local_type_template_args + Feature record: CXX_FEATURE:0cxx_long_long_type + Feature record: CXX_FEATURE:0cxx_noexcept + Feature record: CXX_FEATURE:0cxx_nonstatic_member_init + Feature record: CXX_FEATURE:0cxx_nullptr + Feature record: CXX_FEATURE:0cxx_override + Feature record: CXX_FEATURE:0cxx_range_for + Feature record: CXX_FEATURE:0cxx_raw_string_literals + Feature record: CXX_FEATURE:0cxx_reference_qualified_functions + Feature record: CXX_FEATURE:0cxx_relaxed_constexpr + Feature record: CXX_FEATURE:0cxx_return_type_deduction + Feature record: CXX_FEATURE:0cxx_right_angle_brackets + Feature record: CXX_FEATURE:0cxx_rvalue_references + Feature record: CXX_FEATURE:0cxx_sizeof_member + Feature record: CXX_FEATURE:0cxx_static_assert + Feature record: CXX_FEATURE:0cxx_strong_enums + Feature record: CXX_FEATURE:1cxx_template_template_parameters + Feature record: CXX_FEATURE:0cxx_thread_local + Feature record: CXX_FEATURE:0cxx_trailing_return_types + Feature record: CXX_FEATURE:0cxx_unicode_literals + Feature record: CXX_FEATURE:0cxx_uniform_initialization + Feature record: CXX_FEATURE:0cxx_unrestricted_unions + Feature record: CXX_FEATURE:0cxx_user_literals + Feature record: CXX_FEATURE:0cxx_variable_templates + Feature record: CXX_FEATURE:0cxx_variadic_macros + Feature record: CXX_FEATURE:0cxx_variadic_templates diff --git a/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/DependInfo.cmake b/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/DependInfo.cmake new file mode 100644 index 0000000..11d7742 --- /dev/null +++ b/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/DependInfo.cmake @@ -0,0 +1,31 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + "CXX" + ) +# The set of files for implicit dependencies of each language: +set(CMAKE_DEPENDS_CHECK_CXX + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArCustomShape.cxx" "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.o" + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator.cxx" "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.o" + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculatorGeometry.cxx" "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.o" + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx" "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o" + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx" "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o" + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx" "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o" + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx" "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o" + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx" "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o" + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx" "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.o" + ) +set(CMAKE_CXX_COMPILER_ID "AppleClang") + +# The include file search paths: +set(CMAKE_CXX_TARGET_INCLUDE_PATH + "../" + "/usr/local/include/eigen3" + "/Users/mariba/Atlas/standaloneGeo2G4/install/include" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/build.make b/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/build.make new file mode 100644 index 0000000..b4a25f9 --- /dev/null +++ b/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/build.make @@ -0,0 +1,331 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /opt/local/bin/cmake + +# The command to remove a file. +RM = /opt/local/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build + +# Include any dependencies generated for this target. +include CMakeFiles/GeoSpecialShapes.dir/depend.make + +# Include the progress variables for this target. +include CMakeFiles/GeoSpecialShapes.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/GeoSpecialShapes.dir/flags.make + +CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.o: CMakeFiles/GeoSpecialShapes.dir/flags.make +CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.o: ../src/LArCustomShape.cxx + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.o" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.o -c /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArCustomShape.cxx + +CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.i" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArCustomShape.cxx > CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.i + +CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.s" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArCustomShape.cxx -o CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.s + +CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.o.requires: + +.PHONY : CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.o.requires + +CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.o.provides: CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.o.requires + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.o.provides.build +.PHONY : CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.o.provides + +CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.o.provides.build: CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.o + + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.o: CMakeFiles/GeoSpecialShapes.dir/flags.make +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.o: ../src/LArWheelCalculator.cxx + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.o" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.o -c /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator.cxx + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.i" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator.cxx > CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.i + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.s" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator.cxx -o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.s + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.o.requires: + +.PHONY : CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.o.requires + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.o.provides: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.o.requires + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.o.provides.build +.PHONY : CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.o.provides + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.o.provides.build: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.o + + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.o: CMakeFiles/GeoSpecialShapes.dir/flags.make +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.o: ../src/LArWheelCalculatorGeometry.cxx + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.o" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.o -c /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculatorGeometry.cxx + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.i" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculatorGeometry.cxx > CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.i + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.s" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculatorGeometry.cxx -o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.s + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.o.requires: + +.PHONY : CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.o.requires + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.o.provides: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.o.requires + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.o.provides.build +.PHONY : CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.o.provides + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.o.provides.build: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.o + + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o: CMakeFiles/GeoSpecialShapes.dir/flags.make +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o: ../src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o -c /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.i" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx > CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.i + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.s" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx -o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.s + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o.requires: + +.PHONY : CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o.requires + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o.provides: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o.requires + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o.provides.build +.PHONY : CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o.provides + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o.provides.build: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o + + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o: CMakeFiles/GeoSpecialShapes.dir/flags.make +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o: ../src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o -c /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.i" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx > CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.i + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.s" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx -o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.s + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o.requires: + +.PHONY : CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o.requires + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o.provides: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o.requires + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o.provides.build +.PHONY : CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o.provides + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o.provides.build: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o + + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o: CMakeFiles/GeoSpecialShapes.dir/flags.make +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o: ../src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o -c /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.i" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx > CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.i + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.s" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx -o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.s + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o.requires: + +.PHONY : CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o.requires + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o.provides: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o.requires + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o.provides.build +.PHONY : CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o.provides + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o.provides.build: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o + + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o: CMakeFiles/GeoSpecialShapes.dir/flags.make +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o: ../src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o -c /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.i" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx > CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.i + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.s" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx -o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.s + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o.requires: + +.PHONY : CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o.requires + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o.provides: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o.requires + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o.provides.build +.PHONY : CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o.provides + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o.provides.build: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o + + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o: CMakeFiles/GeoSpecialShapes.dir/flags.make +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o: ../src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o -c /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.i" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx > CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.i + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.s" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx -o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.s + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o.requires: + +.PHONY : CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o.requires + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o.provides: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o.requires + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o.provides.build +.PHONY : CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o.provides + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o.provides.build: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o + + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.o: CMakeFiles/GeoSpecialShapes.dir/flags.make +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.o: ../src/LArWheelCalculator_Impl/sincos_poly.cxx + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building CXX object CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.o" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.o -c /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.i" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx > CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.i + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.s" + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx -o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.s + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.o.requires: + +.PHONY : CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.o.requires + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.o.provides: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.o.requires + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.o.provides.build +.PHONY : CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.o.provides + +CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.o.provides.build: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.o + + +# Object files for target GeoSpecialShapes +GeoSpecialShapes_OBJECTS = \ +"CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.o" \ +"CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.o" \ +"CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.o" \ +"CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o" \ +"CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o" \ +"CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o" \ +"CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o" \ +"CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o" \ +"CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.o" + +# External object files for target GeoSpecialShapes +GeoSpecialShapes_EXTERNAL_OBJECTS = + +libGeoSpecialShapes.dylib: CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.o +libGeoSpecialShapes.dylib: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.o +libGeoSpecialShapes.dylib: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.o +libGeoSpecialShapes.dylib: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o +libGeoSpecialShapes.dylib: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o +libGeoSpecialShapes.dylib: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o +libGeoSpecialShapes.dylib: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o +libGeoSpecialShapes.dylib: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o +libGeoSpecialShapes.dylib: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.o +libGeoSpecialShapes.dylib: CMakeFiles/GeoSpecialShapes.dir/build.make +libGeoSpecialShapes.dylib: /Users/mariba/Atlas/standaloneGeo2G4/install/lib/libGeoModelKernel.2.0.0.dylib +libGeoSpecialShapes.dylib: /Users/mariba/Atlas/standaloneGeo2G4/install/lib/libGeoGenericFunctions.2.0.0.dylib +libGeoSpecialShapes.dylib: CMakeFiles/GeoSpecialShapes.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Linking CXX shared library libGeoSpecialShapes.dylib" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/GeoSpecialShapes.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/GeoSpecialShapes.dir/build: libGeoSpecialShapes.dylib + +.PHONY : CMakeFiles/GeoSpecialShapes.dir/build + +CMakeFiles/GeoSpecialShapes.dir/requires: CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.o.requires +CMakeFiles/GeoSpecialShapes.dir/requires: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.o.requires +CMakeFiles/GeoSpecialShapes.dir/requires: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.o.requires +CMakeFiles/GeoSpecialShapes.dir/requires: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o.requires +CMakeFiles/GeoSpecialShapes.dir/requires: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o.requires +CMakeFiles/GeoSpecialShapes.dir/requires: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o.requires +CMakeFiles/GeoSpecialShapes.dir/requires: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o.requires +CMakeFiles/GeoSpecialShapes.dir/requires: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o.requires +CMakeFiles/GeoSpecialShapes.dir/requires: CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.o.requires + +.PHONY : CMakeFiles/GeoSpecialShapes.dir/requires + +CMakeFiles/GeoSpecialShapes.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/GeoSpecialShapes.dir/cmake_clean.cmake +.PHONY : CMakeFiles/GeoSpecialShapes.dir/clean + +CMakeFiles/GeoSpecialShapes.dir/depend: + cd /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/GeoSpecialShapes.dir/depend + diff --git a/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/cmake_clean.cmake b/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/cmake_clean.cmake new file mode 100644 index 0000000..1060cc8 --- /dev/null +++ b/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/cmake_clean.cmake @@ -0,0 +1,18 @@ +file(REMOVE_RECURSE + "CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.o" + "CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.o" + "CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.o" + "CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o" + "CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o" + "CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o" + "CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o" + "CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o" + "CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.o" + "libGeoSpecialShapes.pdb" + "libGeoSpecialShapes.dylib" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/GeoSpecialShapes.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/depend.make b/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/depend.make new file mode 100644 index 0000000..5e83449 --- /dev/null +++ b/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for GeoSpecialShapes. +# This may be replaced when dependencies are built. diff --git a/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/flags.make b/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/flags.make new file mode 100644 index 0000000..b55e032 --- /dev/null +++ b/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# compile CXX with /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ +CXX_FLAGS = -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -fPIC -std=c++1z + +CXX_DEFINES = -DGeoSpecialShapes_EXPORTS + +CXX_INCLUDES = -I/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes -isystem /usr/local/include/eigen3 -isystem /Users/mariba/Atlas/standaloneGeo2G4/install/include + diff --git a/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/link.txt b/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/link.txt new file mode 100644 index 0000000..d8a5983 --- /dev/null +++ b/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/link.txt @@ -0,0 +1 @@ +/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -dynamiclib -Wl,-headerpad_max_install_names -o libGeoSpecialShapes.dylib -install_name @rpath/libGeoSpecialShapes.dylib CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.o -Wl,-rpath,/Users/mariba/Atlas/standaloneGeo2G4/install/lib -lGeoMaterial2G4 -lGeoModel2G4 /Users/mariba/Atlas/standaloneGeo2G4/install/lib/libGeoModelKernel.2.0.0.dylib /Users/mariba/Atlas/standaloneGeo2G4/install/lib/libGeoGenericFunctions.2.0.0.dylib diff --git a/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/progress.make b/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/progress.make new file mode 100644 index 0000000..6c587e2 --- /dev/null +++ b/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir/progress.make @@ -0,0 +1,11 @@ +CMAKE_PROGRESS_1 = 1 +CMAKE_PROGRESS_2 = 2 +CMAKE_PROGRESS_3 = 3 +CMAKE_PROGRESS_4 = 4 +CMAKE_PROGRESS_5 = 5 +CMAKE_PROGRESS_6 = 6 +CMAKE_PROGRESS_7 = 7 +CMAKE_PROGRESS_8 = 8 +CMAKE_PROGRESS_9 = 9 +CMAKE_PROGRESS_10 = 10 + diff --git a/GeoSpecialShapes/build/CMakeFiles/Makefile.cmake b/GeoSpecialShapes/build/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..1be4a62 --- /dev/null +++ b/GeoSpecialShapes/build/CMakeFiles/Makefile.cmake @@ -0,0 +1,108 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# The generator used is: +set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +set(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "../CMakeLists.txt" + "CMakeFiles/3.10.3/CMakeCXXCompiler.cmake" + "CMakeFiles/3.10.3/CMakeSystem.cmake" + "CMakeFiles/feature_tests.cxx" + "/Users/mariba/Atlas/standaloneGeo2G4/install/lib/cmake/GeoModelCore/GeoModelCoreConfig.cmake" + "/Users/mariba/Atlas/standaloneGeo2G4/install/lib/cmake/GeoModelCore/GeoModelCoreConfigVersion.cmake" + "/Users/mariba/Atlas/standaloneGeo2G4/install/lib/cmake/GeoModelCore/GeoModelCoreTargets-noconfig.cmake" + "/Users/mariba/Atlas/standaloneGeo2G4/install/lib/cmake/GeoModelCore/GeoModelCoreTargets.cmake" + "/opt/local/share/cmake-3.10/Modules/CMakeCXXCompiler.cmake.in" + "/opt/local/share/cmake-3.10/Modules/CMakeCXXCompilerABI.cpp" + "/opt/local/share/cmake-3.10/Modules/CMakeCXXInformation.cmake" + "/opt/local/share/cmake-3.10/Modules/CMakeCommonLanguageInclude.cmake" + "/opt/local/share/cmake-3.10/Modules/CMakeCompilerIdDetection.cmake" + "/opt/local/share/cmake-3.10/Modules/CMakeDetermineCXXCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/CMakeDetermineCompileFeatures.cmake" + "/opt/local/share/cmake-3.10/Modules/CMakeDetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/CMakeDetermineCompilerABI.cmake" + "/opt/local/share/cmake-3.10/Modules/CMakeDetermineCompilerId.cmake" + "/opt/local/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake" + "/opt/local/share/cmake-3.10/Modules/CMakeFindBinUtils.cmake" + "/opt/local/share/cmake-3.10/Modules/CMakeGenericSystem.cmake" + "/opt/local/share/cmake-3.10/Modules/CMakeLanguageInformation.cmake" + "/opt/local/share/cmake-3.10/Modules/CMakeParseImplicitLinkInfo.cmake" + "/opt/local/share/cmake-3.10/Modules/CMakeSystem.cmake.in" + "/opt/local/share/cmake-3.10/Modules/CMakeSystemSpecificInformation.cmake" + "/opt/local/share/cmake-3.10/Modules/CMakeSystemSpecificInitialize.cmake" + "/opt/local/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/CMakeTestCompilerCommon.cmake" + "/opt/local/share/cmake-3.10/Modules/CMakeUnixFindMake.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/ADSP-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/AppleClang-CXX-FeatureTests.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/AppleClang-CXX.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/Borland-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/Clang-CXX-TestableFeatures.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/Clang.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/Cray-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/GHS-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/GNU.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/IAR-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/Intel-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/MIPSpro-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/MSVC-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/PGI-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/PathScale-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/SCO-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/TI-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/Watcom-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + "/opt/local/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake" + "/opt/local/share/cmake-3.10/Modules/FindPackageMessage.cmake" + "/opt/local/share/cmake-3.10/Modules/GNUInstallDirs.cmake" + "/opt/local/share/cmake-3.10/Modules/Internal/FeatureTesting.cmake" + "/opt/local/share/cmake-3.10/Modules/Platform/Darwin-AppleClang-CXX.cmake" + "/opt/local/share/cmake-3.10/Modules/Platform/Darwin-Clang-CXX.cmake" + "/opt/local/share/cmake-3.10/Modules/Platform/Darwin-Clang.cmake" + "/opt/local/share/cmake-3.10/Modules/Platform/Darwin-Determine-CXX.cmake" + "/opt/local/share/cmake-3.10/Modules/Platform/Darwin-Initialize.cmake" + "/opt/local/share/cmake-3.10/Modules/Platform/Darwin.cmake" + "/opt/local/share/cmake-3.10/Modules/Platform/UnixPaths.cmake" + "/usr/local/share/eigen3/cmake/Eigen3Config.cmake" + "/usr/local/share/eigen3/cmake/Eigen3ConfigVersion.cmake" + "/usr/local/share/eigen3/cmake/Eigen3Targets.cmake" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/3.10.3/CMakeSystem.cmake" + "CMakeFiles/3.10.3/CMakeCXXCompiler.cmake" + "CMakeFiles/3.10.3/CMakeCXXCompiler.cmake" + "CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/GeoSpecialShapes.dir/DependInfo.cmake" + ) diff --git a/GeoSpecialShapes/build/CMakeFiles/Makefile2 b/GeoSpecialShapes/build/CMakeFiles/Makefile2 new file mode 100644 index 0000000..7545e33 --- /dev/null +++ b/GeoSpecialShapes/build/CMakeFiles/Makefile2 @@ -0,0 +1,108 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +# The main recursive all target +all: + +.PHONY : all + +# The main recursive preinstall target +preinstall: + +.PHONY : preinstall + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /opt/local/bin/cmake + +# The command to remove a file. +RM = /opt/local/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build + +#============================================================================= +# Target rules for target CMakeFiles/GeoSpecialShapes.dir + +# All Build rule for target. +CMakeFiles/GeoSpecialShapes.dir/all: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/depend + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10 "Built target GeoSpecialShapes" +.PHONY : CMakeFiles/GeoSpecialShapes.dir/all + +# Include target in all. +all: CMakeFiles/GeoSpecialShapes.dir/all + +.PHONY : all + +# Build rule for subdir invocation for target. +CMakeFiles/GeoSpecialShapes.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles 10 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/GeoSpecialShapes.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles 0 +.PHONY : CMakeFiles/GeoSpecialShapes.dir/rule + +# Convenience name for target. +GeoSpecialShapes: CMakeFiles/GeoSpecialShapes.dir/rule + +.PHONY : GeoSpecialShapes + +# clean rule for target. +CMakeFiles/GeoSpecialShapes.dir/clean: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/clean +.PHONY : CMakeFiles/GeoSpecialShapes.dir/clean + +# clean rule for target. +clean: CMakeFiles/GeoSpecialShapes.dir/clean + +.PHONY : clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/GeoSpecialShapes/build/CMakeFiles/TargetDirectories.txt b/GeoSpecialShapes/build/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..4486858 --- /dev/null +++ b/GeoSpecialShapes/build/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,7 @@ +/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/install/local.dir +/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/install/strip.dir +/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/install.dir +/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/list_install_components.dir +/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/rebuild_cache.dir +/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/edit_cache.dir +/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/GeoSpecialShapes.dir diff --git a/GeoSpecialShapes/build/CMakeFiles/cmake.check_cache b/GeoSpecialShapes/build/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/GeoSpecialShapes/build/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/GeoSpecialShapes/build/CMakeFiles/feature_tests.bin b/GeoSpecialShapes/build/CMakeFiles/feature_tests.bin new file mode 100644 index 0000000000000000000000000000000000000000..155117b495a14d926b67f91b77ddeeb952d06b18 GIT binary patch literal 8376 zcmeHM&x;&I6t3B9P-EB)2=PY*M<p5!?ry}x>d93{HyAX;U04EA)KtIeDeSHutE+cs z6(JW7dl2$Rc=V8y<m5pQ9=(WX4+>rck0FToz3!gO%uda0{(vrcQ}wD|z4!Wiuc~0) zFZcic?-3zdr-Zn*B!pN6^}&2C+87D(G-w+n<@K!(IyXBvKIYl!)|zI69P8PHpp-kE zy`5>1a({bzt~M{=n>Y=EOJ$SN)6mxpy5supJc*CN{EM{+^UGs#W^PTgQtHg+V}-}{ z{a)+)jU7Q_eo9|8{oq&1!X6kKNn?8%W{>N;`&{K8W6F(r#(iEJ<A3eyM;~_HyE?+I zUFi|$>Yd=Z-L1M3w-VQye*y8`sK*Ptwh%1GK0O861kc|)ME^GW$3fRY+*m&o%W`}s z?SXx$wgRa(=qzZx$lZEky6e$l5`pJ-0mOb}&$Pc^`u5G8@3#K>a`(c^7hlI*8&uj{ zIU@v!$7P<J`myyY#v^Dj6qoS*tcUYqvawzMUS8wxSbpp_)U?LFz#o12^4gU(IAyw} zpPLi%t^0ofo@x0{4s%cG+B@|YNDJ{2i2d1U3-KuWS8AT|ZCZmsgFu5ogFu5ogFu5o zgFu5ogFu5ogFu5ogFu5ogFu5ogFu4-Be1)D^ykl=e|dQH)xGVb;-76@+}r-<^b?p_ z{b70I)1PinwlnYU?aB8$TRXcqI&W?0;ZUkLb`&d5GNPU;5|6*CjW;SWUy#cK@`+J7 z{&i0W2{wfVVyosYWW9h&@15xuVQr%|xHoX5VKWM7D10XU;eckBy2dJZC==t!sU+Z5 z`G-FZ2X1yRmbko7sD#S``@qAXIxs62kxs(aM=Mgn!}%M5xz2znAq<Xu;cWReK~q(b zdWF><-aLqeR4$$`Pmvt$SSXZc`*cDAM3iv87#ml$5?5%Sg))T&5v_%WO>Df(X`q}6 zD<NB?vX{97<szhjPFOM=1;j8h8u}K-3h^Wxv0KhyaH3A6%^2hWc0J@*G8<V&TbhWh zH$6jv+=|I^LgJKhacI$rD<zGViAuXs=wKP!CkG8DM#R{}Sdvzyln;~+o!+@ds)f>3 zsnq~E8r+^~92PzcCnaW*!QJvFd~$3?Lrnue3$5h}9g;xHl+rG_(x-q}kt72jKprXX z96~d@#VH#TXIp6LK<2on*y*`fiK8AlvYO=QxHCBL3$x!*qJ|Jza05+T2FTP1M-90j z@Xo}2FX4Scvg?%ojC>$f-M&f+zF=xE10p%{G3(X9&f2MQS9wk@5E%f(QROo`t@{eU zG^00TJm6!W;*JR29=`8LMaU2&)T|@kDT7>&Pq-}$YjhUTf{;N1@lMA_u)JMn4Hg#p zj`(Z7(Xc7_4itc8fvtVzjOrppBP6ClDxc$0CgR*y+GUFb#!B$ibFK4P5Vy&mYnWW) zd;>kxuXVkX$6Omdi=F4n-C$TvOQOEMB-6g6A!)qHvX3y36VIp0SaGo`?%r81#i6?% zyas*+Yoq!&i><b*iYxnezT_)kM!uqFv9h&M8K1QY5MYzbzc_nESK=*aSERgoZL>$J Jyo0L!{{wWeTcrR1 literal 0 HcmV?d00001 diff --git a/GeoSpecialShapes/build/CMakeFiles/feature_tests.cxx b/GeoSpecialShapes/build/CMakeFiles/feature_tests.cxx new file mode 100644 index 0000000..34d2e8c --- /dev/null +++ b/GeoSpecialShapes/build/CMakeFiles/feature_tests.cxx @@ -0,0 +1,405 @@ + + const char features[] = {"\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_aggregate_nsdmi) +"1" +#else +"0" +#endif +"cxx_aggregate_default_initializers\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_alias_templates) +"1" +#else +"0" +#endif +"cxx_alias_templates\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_alignas) +"1" +#else +"0" +#endif +"cxx_alignas\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_alignas) +"1" +#else +"0" +#endif +"cxx_alignof\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_attributes) +"1" +#else +"0" +#endif +"cxx_attributes\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 501 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_attribute_deprecated\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_auto_type) +"1" +#else +"0" +#endif +"cxx_auto_type\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_binary_literals) +"1" +#else +"0" +#endif +"cxx_binary_literals\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_constexpr) +"1" +#else +"0" +#endif +"cxx_constexpr\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_contextual_conversions) +"1" +#else +"0" +#endif +"cxx_contextual_conversions\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_decltype) +"1" +#else +"0" +#endif +"cxx_decltype\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 501 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_decltype_auto\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_decltype_incomplete_return_types) +"1" +#else +"0" +#endif +"cxx_decltype_incomplete_return_types\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_default_function_template_args) +"1" +#else +"0" +#endif +"cxx_default_function_template_args\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_defaulted_functions) +"1" +#else +"0" +#endif +"cxx_defaulted_functions\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_defaulted_functions) +"1" +#else +"0" +#endif +"cxx_defaulted_move_initializers\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_delegating_constructors) +"1" +#else +"0" +#endif +"cxx_delegating_constructors\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_deleted_functions) +"1" +#else +"0" +#endif +"cxx_deleted_functions\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 501 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_digit_separators\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_enum_forward_declarations\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_explicit_conversions) +"1" +#else +"0" +#endif +"cxx_explicit_conversions\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_extended_friend_declarations\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_extern_templates\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_override_control) +"1" +#else +"0" +#endif +"cxx_final\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_func_identifier\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_generalized_initializers) +"1" +#else +"0" +#endif +"cxx_generalized_initializers\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 501 && __cplusplus > 201103L +"1" +#else +"0" +#endif +"cxx_generic_lambdas\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_inheriting_constructors) +"1" +#else +"0" +#endif +"cxx_inheriting_constructors\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_inline_namespaces\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_lambdas) +"1" +#else +"0" +#endif +"cxx_lambdas\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_init_captures) +"1" +#else +"0" +#endif +"cxx_lambda_init_captures\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_local_type_template_args) +"1" +#else +"0" +#endif +"cxx_local_type_template_args\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_long_long_type\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_noexcept) +"1" +#else +"0" +#endif +"cxx_noexcept\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_nonstatic_member_init) +"1" +#else +"0" +#endif +"cxx_nonstatic_member_init\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_nullptr) +"1" +#else +"0" +#endif +"cxx_nullptr\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_override_control) +"1" +#else +"0" +#endif +"cxx_override\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_range_for) +"1" +#else +"0" +#endif +"cxx_range_for\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_raw_string_literals) +"1" +#else +"0" +#endif +"cxx_raw_string_literals\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_reference_qualified_functions) +"1" +#else +"0" +#endif +"cxx_reference_qualified_functions\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_relaxed_constexpr) +"1" +#else +"0" +#endif +"cxx_relaxed_constexpr\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_return_type_deduction) +"1" +#else +"0" +#endif +"cxx_return_type_deduction\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_right_angle_brackets\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_rvalue_references) +"1" +#else +"0" +#endif +"cxx_rvalue_references\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_sizeof_member\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_static_assert) +"1" +#else +"0" +#endif +"cxx_static_assert\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_strong_enums) +"1" +#else +"0" +#endif +"cxx_strong_enums\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __cplusplus >= 199711L +"1" +#else +"0" +#endif +"cxx_template_template_parameters\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_thread_local) +"1" +#else +"0" +#endif +"cxx_thread_local\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_trailing_return) +"1" +#else +"0" +#endif +"cxx_trailing_return_types\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_unicode_literals) +"1" +#else +"0" +#endif +"cxx_unicode_literals\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_generalized_initializers) +"1" +#else +"0" +#endif +"cxx_uniform_initialization\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_unrestricted_unions) +"1" +#else +"0" +#endif +"cxx_unrestricted_unions\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_user_literals) +"1" +#else +"0" +#endif +"cxx_user_literals\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_variable_templates) +"1" +#else +"0" +#endif +"cxx_variable_templates\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __cplusplus >= 201103L +"1" +#else +"0" +#endif +"cxx_variadic_macros\n" +"CXX_FEATURE:" +#if ((__clang_major__ * 100) + __clang_minor__) >= 400 && __has_feature(cxx_variadic_templates) +"1" +#else +"0" +#endif +"cxx_variadic_templates\n" + +}; + +int main(int argc, char** argv) { (void)argv; return features[argc]; } diff --git a/GeoSpecialShapes/build/CMakeFiles/progress.marks b/GeoSpecialShapes/build/CMakeFiles/progress.marks new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/GeoSpecialShapes/build/CMakeFiles/progress.marks @@ -0,0 +1 @@ +10 diff --git a/GeoSpecialShapes/build/Makefile b/GeoSpecialShapes/build/Makefile new file mode 100644 index 0000000..92eb08f --- /dev/null +++ b/GeoSpecialShapes/build/Makefile @@ -0,0 +1,468 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /opt/local/bin/cmake + +# The command to remove a file. +RM = /opt/local/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /opt/local/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /opt/local/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /opt/local/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /opt/local/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /opt/local/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /opt/local/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components + +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /opt/local/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache + +.PHONY : rebuild_cache/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." + /opt/local/bin/ccmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache + +.PHONY : edit_cache/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles/progress.marks + $(MAKE) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean + +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named GeoSpecialShapes + +# Build rule for target. +GeoSpecialShapes: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 GeoSpecialShapes +.PHONY : GeoSpecialShapes + +# fast build rule for target. +GeoSpecialShapes/fast: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/build +.PHONY : GeoSpecialShapes/fast + +src/LArCustomShape.o: src/LArCustomShape.cxx.o + +.PHONY : src/LArCustomShape.o + +# target to build an object file +src/LArCustomShape.cxx.o: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.o +.PHONY : src/LArCustomShape.cxx.o + +src/LArCustomShape.i: src/LArCustomShape.cxx.i + +.PHONY : src/LArCustomShape.i + +# target to preprocess a source file +src/LArCustomShape.cxx.i: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.i +.PHONY : src/LArCustomShape.cxx.i + +src/LArCustomShape.s: src/LArCustomShape.cxx.s + +.PHONY : src/LArCustomShape.s + +# target to generate assembly for a file +src/LArCustomShape.cxx.s: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArCustomShape.cxx.s +.PHONY : src/LArCustomShape.cxx.s + +src/LArWheelCalculator.o: src/LArWheelCalculator.cxx.o + +.PHONY : src/LArWheelCalculator.o + +# target to build an object file +src/LArWheelCalculator.cxx.o: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.o +.PHONY : src/LArWheelCalculator.cxx.o + +src/LArWheelCalculator.i: src/LArWheelCalculator.cxx.i + +.PHONY : src/LArWheelCalculator.i + +# target to preprocess a source file +src/LArWheelCalculator.cxx.i: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.i +.PHONY : src/LArWheelCalculator.cxx.i + +src/LArWheelCalculator.s: src/LArWheelCalculator.cxx.s + +.PHONY : src/LArWheelCalculator.s + +# target to generate assembly for a file +src/LArWheelCalculator.cxx.s: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator.cxx.s +.PHONY : src/LArWheelCalculator.cxx.s + +src/LArWheelCalculatorGeometry.o: src/LArWheelCalculatorGeometry.cxx.o + +.PHONY : src/LArWheelCalculatorGeometry.o + +# target to build an object file +src/LArWheelCalculatorGeometry.cxx.o: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.o +.PHONY : src/LArWheelCalculatorGeometry.cxx.o + +src/LArWheelCalculatorGeometry.i: src/LArWheelCalculatorGeometry.cxx.i + +.PHONY : src/LArWheelCalculatorGeometry.i + +# target to preprocess a source file +src/LArWheelCalculatorGeometry.cxx.i: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.i +.PHONY : src/LArWheelCalculatorGeometry.cxx.i + +src/LArWheelCalculatorGeometry.s: src/LArWheelCalculatorGeometry.cxx.s + +.PHONY : src/LArWheelCalculatorGeometry.s + +# target to generate assembly for a file +src/LArWheelCalculatorGeometry.cxx.s: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculatorGeometry.cxx.s +.PHONY : src/LArWheelCalculatorGeometry.cxx.s + +src/LArWheelCalculator_Impl/DistanceCalculatorFactory.o: src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o + +.PHONY : src/LArWheelCalculator_Impl/DistanceCalculatorFactory.o + +# target to build an object file +src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o +.PHONY : src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.o + +src/LArWheelCalculator_Impl/DistanceCalculatorFactory.i: src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.i + +.PHONY : src/LArWheelCalculator_Impl/DistanceCalculatorFactory.i + +# target to preprocess a source file +src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.i: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.i +.PHONY : src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.i + +src/LArWheelCalculator_Impl/DistanceCalculatorFactory.s: src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.s + +.PHONY : src/LArWheelCalculator_Impl/DistanceCalculatorFactory.s + +# target to generate assembly for a file +src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.s: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.s +.PHONY : src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx.s + +src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.o: src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o + +.PHONY : src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.o + +# target to build an object file +src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o +.PHONY : src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.o + +src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.i: src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.i + +.PHONY : src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.i + +# target to preprocess a source file +src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.i: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.i +.PHONY : src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.i + +src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.s: src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.s + +.PHONY : src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.s + +# target to generate assembly for a file +src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.s: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.s +.PHONY : src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx.s + +src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.o: src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o + +.PHONY : src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.o + +# target to build an object file +src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o +.PHONY : src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.o + +src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.i: src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.i + +.PHONY : src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.i + +# target to preprocess a source file +src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.i: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.i +.PHONY : src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.i + +src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.s: src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.s + +.PHONY : src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.s + +# target to generate assembly for a file +src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.s: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.s +.PHONY : src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx.s + +src/LArWheelCalculator_Impl/FanCalculatorFactory.o: src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o + +.PHONY : src/LArWheelCalculator_Impl/FanCalculatorFactory.o + +# target to build an object file +src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o +.PHONY : src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.o + +src/LArWheelCalculator_Impl/FanCalculatorFactory.i: src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.i + +.PHONY : src/LArWheelCalculator_Impl/FanCalculatorFactory.i + +# target to preprocess a source file +src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.i: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.i +.PHONY : src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.i + +src/LArWheelCalculator_Impl/FanCalculatorFactory.s: src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.s + +.PHONY : src/LArWheelCalculator_Impl/FanCalculatorFactory.s + +# target to generate assembly for a file +src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.s: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.s +.PHONY : src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx.s + +src/LArWheelCalculator_Impl/ModuleFanCalculator.o: src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o + +.PHONY : src/LArWheelCalculator_Impl/ModuleFanCalculator.o + +# target to build an object file +src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o +.PHONY : src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.o + +src/LArWheelCalculator_Impl/ModuleFanCalculator.i: src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.i + +.PHONY : src/LArWheelCalculator_Impl/ModuleFanCalculator.i + +# target to preprocess a source file +src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.i: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.i +.PHONY : src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.i + +src/LArWheelCalculator_Impl/ModuleFanCalculator.s: src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.s + +.PHONY : src/LArWheelCalculator_Impl/ModuleFanCalculator.s + +# target to generate assembly for a file +src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.s: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.s +.PHONY : src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx.s + +src/LArWheelCalculator_Impl/sincos_poly.o: src/LArWheelCalculator_Impl/sincos_poly.cxx.o + +.PHONY : src/LArWheelCalculator_Impl/sincos_poly.o + +# target to build an object file +src/LArWheelCalculator_Impl/sincos_poly.cxx.o: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.o +.PHONY : src/LArWheelCalculator_Impl/sincos_poly.cxx.o + +src/LArWheelCalculator_Impl/sincos_poly.i: src/LArWheelCalculator_Impl/sincos_poly.cxx.i + +.PHONY : src/LArWheelCalculator_Impl/sincos_poly.i + +# target to preprocess a source file +src/LArWheelCalculator_Impl/sincos_poly.cxx.i: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.i +.PHONY : src/LArWheelCalculator_Impl/sincos_poly.cxx.i + +src/LArWheelCalculator_Impl/sincos_poly.s: src/LArWheelCalculator_Impl/sincos_poly.cxx.s + +.PHONY : src/LArWheelCalculator_Impl/sincos_poly.s + +# target to generate assembly for a file +src/LArWheelCalculator_Impl/sincos_poly.cxx.s: + $(MAKE) -f CMakeFiles/GeoSpecialShapes.dir/build.make CMakeFiles/GeoSpecialShapes.dir/src/LArWheelCalculator_Impl/sincos_poly.cxx.s +.PHONY : src/LArWheelCalculator_Impl/sincos_poly.cxx.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... install/local" + @echo "... install/strip" + @echo "... install" + @echo "... list_install_components" + @echo "... rebuild_cache" + @echo "... edit_cache" + @echo "... GeoSpecialShapes" + @echo "... src/LArCustomShape.o" + @echo "... src/LArCustomShape.i" + @echo "... src/LArCustomShape.s" + @echo "... src/LArWheelCalculator.o" + @echo "... src/LArWheelCalculator.i" + @echo "... src/LArWheelCalculator.s" + @echo "... src/LArWheelCalculatorGeometry.o" + @echo "... src/LArWheelCalculatorGeometry.i" + @echo "... src/LArWheelCalculatorGeometry.s" + @echo "... src/LArWheelCalculator_Impl/DistanceCalculatorFactory.o" + @echo "... src/LArWheelCalculator_Impl/DistanceCalculatorFactory.i" + @echo "... src/LArWheelCalculator_Impl/DistanceCalculatorFactory.s" + @echo "... src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.o" + @echo "... src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.i" + @echo "... src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.s" + @echo "... src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.o" + @echo "... src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.i" + @echo "... src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.s" + @echo "... src/LArWheelCalculator_Impl/FanCalculatorFactory.o" + @echo "... src/LArWheelCalculator_Impl/FanCalculatorFactory.i" + @echo "... src/LArWheelCalculator_Impl/FanCalculatorFactory.s" + @echo "... src/LArWheelCalculator_Impl/ModuleFanCalculator.o" + @echo "... src/LArWheelCalculator_Impl/ModuleFanCalculator.i" + @echo "... src/LArWheelCalculator_Impl/ModuleFanCalculator.s" + @echo "... src/LArWheelCalculator_Impl/sincos_poly.o" + @echo "... src/LArWheelCalculator_Impl/sincos_poly.i" + @echo "... src/LArWheelCalculator_Impl/sincos_poly.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/GeoSpecialShapes/build/cmake_install.cmake b/GeoSpecialShapes/build/cmake_install.cmake new file mode 100644 index 0000000..45c25cc --- /dev/null +++ b/GeoSpecialShapes/build/cmake_install.cmake @@ -0,0 +1,75 @@ +# Install script for directory: /Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/Users/mariba/Atlas/standaloneGeo2G4/install") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE SHARED_LIBRARY FILES "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/libGeoSpecialShapes.dylib") + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libGeoSpecialShapes.dylib" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libGeoSpecialShapes.dylib") + execute_process(COMMAND /usr/bin/install_name_tool + -delete_rpath "/Users/mariba/Atlas/standaloneGeo2G4/install/lib" + "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libGeoSpecialShapes.dylib") + if(CMAKE_INSTALL_DO_STRIP) + execute_process(COMMAND "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libGeoSpecialShapes.dylib") + endif() + endif() +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/GeoSpecialShapes" TYPE FILE FILES + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/GeoSpecialShapes/LArCustomShape.h" + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/GeoSpecialShapes/LArGeoCheckerDict.h" + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculator.h" + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculatorEnums.h" + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/GeoSpecialShapes/sincos.h" + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.h" + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.h" + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.h" + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.h" + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/IDistanceCalculator.h" + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/IFanCalculator.h" + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.h" + "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/src/LArWheelCalculator_Impl/WheelFanCalculator.h" + ) +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/Users/mariba/Atlas/standaloneGeo2G4/GeoModelG4/GeoSpecialShapes/build/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/GeoSpecialShapes/doc/packagedoc.h b/GeoSpecialShapes/doc/packagedoc.h new file mode 100644 index 0000000..57a3c33 --- /dev/null +++ b/GeoSpecialShapes/doc/packagedoc.h @@ -0,0 +1,17 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +/** + + +@page GeoSpecialShapes_page + +This package contains definitions of LAr EMEC custom shape + +-------------------------------- + REQUIREMENTS +-------------------------------- + + +*/ diff --git a/GeoSpecialShapes/src/LArCustomShape.cxx b/GeoSpecialShapes/src/LArCustomShape.cxx new file mode 100644 index 0000000..bf29bf8 --- /dev/null +++ b/GeoSpecialShapes/src/LArCustomShape.cxx @@ -0,0 +1,191 @@ +/* + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +*/ + +#include "GeoSpecialShapes/LArCustomShape.h" +#include "GeoModelKernel/GeoShapeAction.h" + +#include <string> +#include <iostream> +#include <stdexcept> + +const std::string LArCustomShape::s_classType = "CustomShape"; +const ShapeType LArCustomShape::s_classTypeID = 500; + +const LArCustomShape::ShapeCalc_typemap LArCustomShape::s_calculatorTypes = { + { "LAr::EMEC::InnerWheel::Absorber", {LArG4::InnerAbsorberWheel, 1} }, + { "LAr::EMEC::InnerWheel::Electrode", {LArG4::InnerElectrodWheel, 1} }, + { "LAr::EMEC::InnerWheel::Glue", {LArG4::InnerGlueWheel, 1} }, + { "LAr::EMEC::InnerWheel::Lead", {LArG4::InnerLeadWheel, 1} }, + + { "LAr::EMEC::OuterWheel::Absorber", {LArG4::OuterAbsorberWheel, 1} }, + { "LAr::EMEC::OuterWheel::Electrode", {LArG4::OuterElectrodWheel, 1} }, + { "LAr::EMEC::OuterWheel::Glue", {LArG4::OuterGlueWheel, 1} }, + { "LAr::EMEC::OuterWheel::Lead", {LArG4::OuterLeadWheel, 1} }, + + { "LAr::EMEC::Pos::InnerWheel::Absorber", {LArG4::InnerAbsorberWheel, 1} }, + { "LAr::EMEC::Pos::InnerWheel::Electrode", {LArG4::InnerElectrodWheel, 1} }, + { "LAr::EMEC::Pos::InnerWheel::Glue", {LArG4::InnerGlueWheel, 1} }, + { "LAr::EMEC::Pos::InnerWheel::Lead", {LArG4::InnerLeadWheel, 1} }, + { "LAr::EMEC::Pos::OuterWheel::Absorber", {LArG4::OuterAbsorberWheel, 1} }, + { "LAr::EMEC::Pos::OuterWheel::Electrode", {LArG4::OuterElectrodWheel, 1} }, + { "LAr::EMEC::Pos::OuterWheel::Glue", {LArG4::OuterGlueWheel, 1} }, + { "LAr::EMEC::Pos::OuterWheel::Lead", {LArG4::OuterLeadWheel, 1} }, + + { "LAr::EMEC::Neg::InnerWheel::Absorber", {LArG4::InnerAbsorberWheel, -1} }, + { "LAr::EMEC::Neg::InnerWheel::Electrode", {LArG4::InnerElectrodWheel, -1} }, + { "LAr::EMEC::Neg::InnerWheel::Glue", {LArG4::InnerGlueWheel, -1} }, + { "LAr::EMEC::Neg::InnerWheel::Lead", {LArG4::InnerLeadWheel, -1} }, + { "LAr::EMEC::Neg::OuterWheel::Absorber", {LArG4::OuterAbsorberWheel, -1} }, + { "LAr::EMEC::Neg::OuterWheel::Electrode", {LArG4::OuterElectrodWheel, -1} }, + { "LAr::EMEC::Neg::OuterWheel::Glue", {LArG4::OuterGlueWheel, -1} }, + { "LAr::EMEC::Neg::OuterWheel::Lead", {LArG4::OuterLeadWheel, -1} }, + + { "LAr::EMEC::InnerModule::Absorber", {LArG4::InnerAbsorberModule, 1} }, + { "LAr::EMEC::InnerModule::Electrode", {LArG4::InnerElectrodModule, 1} }, + { "LAr::EMEC::OuterModule::Absorber", {LArG4::OuterAbsorberModule, 1} }, + { "LAr::EMEC::OuterModule::Electrode", {LArG4::OuterElectrodModule, 1} }, + + { "LAr::EMEC::Pos::InnerCone::Absorber", {LArG4::InnerAbsorberWheel, 1} }, + { "LAr::EMEC::Pos::InnerCone::Electrode", {LArG4::InnerElectrodWheel, 1} }, + { "LAr::EMEC::Pos::InnerCone::Glue", {LArG4::InnerGlueWheel, 1} }, + { "LAr::EMEC::Pos::InnerCone::Lead", {LArG4::InnerLeadWheel, 1} }, + { "LAr::EMEC::Neg::InnerCone::Absorber", {LArG4::InnerAbsorberWheel, -1} }, + { "LAr::EMEC::Neg::InnerCone::Electrode", {LArG4::InnerElectrodWheel, -1} }, + { "LAr::EMEC::Neg::InnerCone::Glue", {LArG4::InnerGlueWheel, -1} }, + { "LAr::EMEC::Neg::InnerCone::Lead", {LArG4::InnerLeadWheel, -1} }, + + { "LAr::EMEC::Pos::OuterFrontCone::Absorber", {LArG4::OuterAbsorberWheel, 1} }, + { "LAr::EMEC::Pos::OuterFrontCone::Electrode", {LArG4::OuterElectrodWheel, 1} }, + { "LAr::EMEC::Pos::OuterFrontCone::Glue", {LArG4::OuterGlueWheel, 1} }, + { "LAr::EMEC::Pos::OuterFrontCone::Lead", {LArG4::OuterLeadWheel, 1} }, + { "LAr::EMEC::Neg::OuterFrontCone::Absorber", {LArG4::OuterAbsorberWheel, -1} }, + { "LAr::EMEC::Neg::OuterFrontCone::Electrode", {LArG4::OuterElectrodWheel, -1} }, + { "LAr::EMEC::Neg::OuterFrontCone::Glue", {LArG4::OuterGlueWheel, -1} }, + { "LAr::EMEC::Neg::OuterFrontCone::Lead", {LArG4::OuterLeadWheel, -1} }, + + { "LAr::EMEC::Pos::OuterBackCone::Absorber", {LArG4::OuterAbsorberWheel, 1} }, + { "LAr::EMEC::Pos::OuterBackCone::Electrode", {LArG4::OuterElectrodWheel, 1} }, + { "LAr::EMEC::Pos::OuterBackCone::Glue", {LArG4::OuterGlueWheel, 1} }, + { "LAr::EMEC::Pos::OuterBackCone::Lead", {LArG4::OuterLeadWheel, 1} }, + { "LAr::EMEC::Neg::OuterBackCone::Absorber", {LArG4::OuterAbsorberWheel, -1} }, + { "LAr::EMEC::Neg::OuterBackCone::Electrode", {LArG4::OuterElectrodWheel, -1} }, + { "LAr::EMEC::Neg::OuterBackCone::Glue", {LArG4::OuterGlueWheel, -1} }, + { "LAr::EMEC::Neg::OuterBackCone::Lead", {LArG4::OuterLeadWheel, -1} }, + + { "LAr::EMEC::Pos::InnerSlice00::Absorber", {LArG4::InnerAbsorberWheel, 1} }, + { "LAr::EMEC::Pos::InnerSlice00::Electrode", {LArG4::InnerElectrodWheel, 1} }, + { "LAr::EMEC::Pos::InnerSlice00::Glue", {LArG4::InnerGlueWheel, 1} }, + { "LAr::EMEC::Pos::InnerSlice00::Lead", {LArG4::InnerLeadWheel, 1} }, + { "LAr::EMEC::Neg::InnerSlice00::Absorber", {LArG4::InnerAbsorberWheel, -1} }, + { "LAr::EMEC::Neg::InnerSlice00::Electrode", {LArG4::InnerElectrodWheel, -1} }, + { "LAr::EMEC::Neg::InnerSlice00::Glue", {LArG4::InnerGlueWheel, -1} }, + { "LAr::EMEC::Neg::InnerSlice00::Lead", {LArG4::InnerLeadWheel, -1} }, + + { "LAr::EMEC::Pos::OuterSlice00::Absorber", {LArG4::OuterAbsorberWheel, 1} }, + { "LAr::EMEC::Pos::OuterSlice00::Electrode", {LArG4::OuterElectrodWheel, 1} }, + { "LAr::EMEC::Pos::OuterSlice00::Glue", {LArG4::OuterGlueWheel, 1} }, + { "LAr::EMEC::Pos::OuterSlice00::Lead", {LArG4::OuterLeadWheel, 1} }, + { "LAr::EMEC::Neg::OuterSlice00::Absorber", {LArG4::OuterAbsorberWheel, -1} }, + { "LAr::EMEC::Neg::OuterSlice00::Electrode", {LArG4::OuterElectrodWheel, -1} }, + { "LAr::EMEC::Neg::OuterSlice00::Glue", {LArG4::OuterGlueWheel, -1} }, + { "LAr::EMEC::Neg::OuterSlice00::Lead", {LArG4::OuterLeadWheel, -1} }, +}; + +LArCustomShape::LArCustomShape(const std::string& a_shapeName) + : m_shapeName(a_shapeName), + m_calculator(0) + //#ifndef XAOD_STANDALONE + // ,m_detStore( "StoreGateSvc/DetectorStore", a_shapeName ) + //#endif // XAOD_STANDALONE +{ +//#ifdef XAOD_STANDALONE + if ( createCalculator( s_calculatorTypes.at(a_shapeName) ) == 1 ) { // map.at throws std::out_of_range exception on unknown shape name + std::string error = std::string("Can't create LArWheelCalculator for name ") + a_shapeName + " in LArCustomShape constructor"; + throw std::runtime_error(error); + } +//#else // XAOD_STANDALONE +// std::string name = a_shapeName; +// size_t index = name.find("Slice"); +// if(index != std::string::npos) name.replace(index + 5, 2, "00"); +// if(s_calculatorTypes.find(name) == s_calculatorTypes.end()){ +// std::string error = +// std::string("LArCustomShape: unknown shape name ") + +// a_shapeName; +// throw std::runtime_error(error); +// } else { +// if(createCalculator(s_calculatorTypes.at(name)).isFailure()){ // map.at throws std::out_of_range exception on unknown shape name +// std::string error = +// std::string("Can't create LArWheelCalculator for name ") + +// a_shapeName + " in LArCustomShape constructor"; +// throw std::runtime_error(error); +// } +// } +//#endif // Athena +} + +LArCustomShape::~LArCustomShape() +{ + //delete m_calculator; +} + +//#if defined XAOD_STANDALONE +int LArCustomShape::createCalculator(const CalcDef_t & cdef) { // LArG4::LArWheelCalculator_t wheelType, int zside + LArG4::LArWheelCalculator_t wheelType = cdef.first; + int zside = cdef.second; + + m_calculator = new LArWheelCalculator(wheelType, zside); + std::string calcDSname = std::string("LAr::EMEC::")+ (zside>0?"Pos::":"Neg::")+LArWheelCalculator::LArWheelCalculatorTypeString(wheelType); + + // ownership is passed to detStore + if (m_calculator==NULL) + return 1; + else + return 0; +} +//#else // XAOD_STANDALONE +//StatusCode LArCustomShape::createCalculator(const CalcDef_t & cdef) { // LArG4::LArWheelCalculator_t wheelType, int zside +// LArG4::LArWheelCalculator_t wheelType = cdef.first; +// int zside = cdef.second; +// +// std::string calcDSname = std::string("LAr::EMEC::")+ (zside>0?"Pos::":"Neg::")+LArWheelCalculator::LArWheelCalculatorTypeString(wheelType); +// if(detStore()->contains<LArWheelCalculator>(calcDSname)){ +// return detStore()->retrieve(m_calculator, calcDSname); +// } +// +// m_calculator = new LArWheelCalculator(wheelType, zside); +// +// // ownership is passed to detStore +// return detStore()->record(m_calculator, calcDSname); +//} +//#endif // Athena + +const LArWheelCalculator *LArCustomShape::calculator() const +{ + return m_calculator; +} + +double LArCustomShape::volume() const +{ + return 0; +} + +const std::string& LArCustomShape::type() const +{ + return s_classType; +} + +ShapeType LArCustomShape::typeID() const +{ + return s_classTypeID; +} + +const std::string& LArCustomShape::name() const +{ + return m_shapeName; +} + +void LArCustomShape::exec(GeoShapeAction* action) const +{ + action->handleLArCustom(this); +} diff --git a/GeoSpecialShapes/src/LArWheelCalculator.cxx b/GeoSpecialShapes/src/LArWheelCalculator.cxx new file mode 100644 index 0000000..baaae58 --- /dev/null +++ b/GeoSpecialShapes/src/LArWheelCalculator.cxx @@ -0,0 +1,589 @@ +/* + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +*/ + +// LArWheelCalculator 19-Apr-2001 Bill Seligman +// 26-May-2009 AMS: remove all previous comments from here as obsoleted + +#include <cmath> +#include <climits> +#include <cassert> + +//#ifndef BUILDVP1LIGHT +// #include "GaudiKernel/ISvcLocator.h" +// #include "GaudiKernel/Bootstrap.h" +// #include "GaudiKernel/MsgStream.h" +// #include "GaudiKernel/PhysicalConstants.h" +// #include "GeoModelInterfaces/IGeoModelSvc.h" +// #include "RDBAccessSvc/IRDBRecord.h" +// #include "RDBAccessSvc/IRDBRecordset.h" +// #include "RDBAccessSvc/IRDBAccessSvc.h" +// #include "./LArWheelCalculator_Impl/RDBParamReader.h" +// #include "./LArWheelCalculator_Impl/RDBParamRecords.h" +//#endif + +//#include "GeoModelUtilities/DecodeVersionKey.h" + +#include "GeoSpecialShapes/LArWheelCalculator.h" + +#include "./LArWheelCalculator_Impl/DistanceCalculatorFactory.h" +#include "./LArWheelCalculator_Impl/FanCalculatorFactory.h" + +//#include "AthenaKernel/Units.h" + + +//using namespace Athena::Units; +//using Gaudi::Units::twopi; + + +// The radial boundaries of the inner and outer wheels are defined +// by values of eta, the distance from z=0 to the front face of the +// wheel, and the thickness of the wheel. + +// these numbers are taken from DB in constructor, +// hardcoded values here are just for reference +/* + double LArWheelCalculator::zWheelRefPoint = 3689.5*mm; //=endg_z0 + double LArWheelCalculator::dMechFocaltoWRP = 3691. *mm; //=endg_z1 + double LArWheelCalculator::dElecFocaltoWRP = 3689. *mm; //=endg_dcf + double LArWheelCalculator::rOuterCutoff = 2034. *mm; //=endg_rlimit + double LArWheelCalculator::HalfGapBetweenWheels = 0.15*cm; // In DB EMECGEOMETRY.DCRACK + float LArWheelCalculator::m_zShift = 4. *cm; // endg_zshift + double LArWheelCalculator::eta_hi = 3.2; // from EmecWheelParameters + double LArWheelCalculator::eta_mid = 2.5; + double LArWheelCalculator::eta_low = 1.375; +*/ + +// these values are taken from "EMECParams" DB +/* + bool LArWheelCalculator::SaggingOn = false; + bool LArWheelCalculator::phiRotation = false; +*/ + +// these were internal constants, now everything in DB +//const double LArWheelCalculator::s_dWRPtoFrontFace = 11.*mm; +//const double LArWheelCalculator::s_WheelThickness = 514.*mm; +// 2x2mm are to be substracted from value of wheel thickness +// - for straight 2-mm domains at start and finish of absorber +//const double LArWheelCalculator::s_StraightStartSection = 2.*mm; +//const double LArWheelCalculator::s_HalfWheelThickness = s_WheelThickness * 0.5; +//const double LArWheelCalculator::s_WheelThickness_wo_2sss = s_WheelThickness - 2.*s_StraightStartSection; + +static const double default_slant_parametrization[2][5] = { + { -50.069, 0.50073, -0.10127E-02, 0.10390E-05, -0.42176E-09 }, // inner + { -34.254, 0.15528, -0.11670E-03, 0.45018E-07, -0.68473E-11 } //outer +}; + +const char *LArWheelCalculator::LArWheelCalculatorTypeString(LArG4::LArWheelCalculator_t type) +{ + switch(type){ + case LArG4::InnerAbsorberWheel: return("InnerAbsorberWheel"); + case LArG4::OuterAbsorberWheel: return("OuterAbsorberWheel"); + case LArG4::InnerElectrodWheel: return("InnerElectrodWheel"); + case LArG4::OuterElectrodWheel: return("OuterElectrodWheel"); + case LArG4::InnerAbsorberModule: return("InnerAbsorberModule"); + case LArG4::OuterAbsorberModule: return("OuterAbsorberModule"); + case LArG4::InnerElectrodModule: return("InnerElectrodModule"); + case LArG4::OuterElectrodModule: return("OuterElectrodModule"); + case LArG4::BackOuterBarretteWheel: return("BackOuterBarretteWheel"); + case LArG4::BackInnerBarretteWheel: return("BackInnerBarretteWheel"); + case LArG4::BackOuterBarretteModule: return("BackOuterBarretteModule"); + case LArG4::BackInnerBarretteModule: return("BackInnerBarretteModule"); + case LArG4::BackOuterBarretteWheelCalib: return("BackOuterBarretteWheelCalib"); + case LArG4::BackInnerBarretteWheelCalib: return("BackInnerBarretteWheelCalib"); + case LArG4::BackOuterBarretteModuleCalib: return("BackOuterBarretteModuleCalib"); + case LArG4::BackInnerBarretteModuleCalib: return("BackInnerBarretteModuleCalib"); + case LArG4::InnerGlueWheel: return("InnerGlueWheel"); + case LArG4::InnerLeadWheel: return("InnerLeadWheel"); + case LArG4::OuterGlueWheel: return("OuterGlueWheel"); + case LArG4::OuterLeadWheel: return("OuterLeadWheel"); + } + return("unknown"); +} + +LArWheelCalculator::~LArWheelCalculator() { + delete m_distanceCalcImpl; + m_distanceCalcImpl = 0; + delete m_fanCalcImpl; + m_fanCalcImpl = 0; +} + +LArWheelCalculator::LArWheelCalculator(LArG4::LArWheelCalculator_t a_wheelType, int zside) : + m_type(a_wheelType), + m_AtlasZside(zside), + m_distanceCalcImpl(0), + m_fanCalcImpl(0) +{ + // Get pointer to the message service + //ISvcLocator* svcLocator = Gaudi::svcLocator(); + //IMessageSvc* msgSvc; + //StatusCode status = svcLocator->service("MessageSvc", msgSvc); + //if(status.isFailure()){ + // throw std::runtime_error("LArWheelCalculator constructor: cannot initialze message service"); + //} + //MsgStream msg(msgSvc, "LArWheelCalculator"); + //msg << MSG::VERBOSE << "LArWheelCalculator constructor at " << this + // << " (type " << LArWheelCalculatorTypeString(m_type) + // << "):" << endmsg; + +//#ifdef LARWC_DTNF_NEW +// msg << MSG::VERBOSE << "compiled with new DTNF" << endmsg; +//#endif + + // Access source of detector parameters. + // msg << MSG::VERBOSE + // << "initializing data members from DB..." << endmsg; + + +//#ifndef BUILDVP1LIGHT +// IGeoModelSvc *geoModel; +// IRDBAccessSvc* rdbAccess; +// +// if(svcLocator->service("GeoModelSvc", geoModel) == StatusCode::FAILURE) +// throw std::runtime_error("Error cannot access GeoModelSvc"); +// if(svcLocator->service ("RDBAccessSvc",rdbAccess) == StatusCode::FAILURE) +// throw std::runtime_error("Error cannot access RDBAccessSvc"); +// +// DecodeVersionKey larVersionKey(geoModel, "LAr"); +// +// RDBParamReader rdbr(rdbAccess); +// rdbr. +// data( "EmecGeometry", larVersionKey.tag(), larVersionKey.node() ). +// fallback_to( "EmecGeometry", "EmecGeometry-00" ). +// // store to, name, units +// param(m_zWheelRefPoint, "Z0", cm). //368.95 +// param(m_dMechFocaltoWRP, "Z1", cm). //369.1 +// param(m_dElecFocaltoWRP, "DCF", cm). //368.9 +// param(m_HalfGapBetweenWheels, "DCRACK", cm). //.15 +// param(m_rOuterCutoff, "RLIMIT", cm). //203.4 +// param(m_zShift, "ZSHIFT", cm) //4.5 +// ; +// +// RDBParamRecords EmecWheelParameters_recs = rdbr. +// data( "EmecWheelParameters", larVersionKey.tag(), larVersionKey.node() ). +// fallback_to( "EmecWheelParameters", "EmecWheelParameters-00" ); +// // store to, name, units, index(default=0) +// EmecWheelParameters_recs. +// param(m_eta_hi, "ETAINT", 1.0). //3.2 ----> (1 is 2.5) +// param(m_eta_mid, "ETAEXT", 1.0). //2.5 ----> (1 is 1.375) +// param(m_eta_low, "ETAEXT", 1.0, 1)//2.5 ----> (1 is 1.375) +// ; +// +// rdbr. +// data( "EmecMagicNumbers", larVersionKey.tag(), larVersionKey.node() ). +// fallback_to( "EmecMagicNumbers","EMECMagicNumbers-00" ). +// // store to, name, units +// param(m_ActiveLength, "ACTIVELENGTH", mm). //510 +// param(m_StraightStartSection, "STRAIGHTSTARTSECTION", mm). //2 +// param(m_dWRPtoFrontFace, "REFTOACTIVE", mm) //11 +// ; +// +// m_WheelThickness = m_ActiveLength + 2.*m_StraightStartSection; +// m_HalfWheelThickness = m_WheelThickness * 0.5; +// + std::string pr_opt_value = "off"; + std::string sagging_opt_value = "off"; +// +// RDBParamRecords EMECParams_recs = rdbr. +// data( "EMECParams", larVersionKey.tag(), larVersionKey.node() ). +// fallback_to( "EMECParams", "EMECParams-00" ); +// +// // store to, name +// EMECParams_recs. +// param(pr_opt_value, "PHIROTATION"). //off +// param(sagging_opt_value, "SAGGING") //off +// ; +// + m_phiRotation = pr_opt_value == "g3"? true: false; +// +// m_zWheelFrontFace = m_dMechFocaltoWRP + m_dWRPtoFrontFace; +// m_zWheelBackFace = m_zWheelFrontFace + m_WheelThickness; +// +// msg << MSG::DEBUG << "... got these values:" << std::endl +// << "m_zWheelRefPoint : " << m_zWheelRefPoint / cm << " [cm]" << std::endl +// << "m_dMechFocaltoWRP : " << m_dMechFocaltoWRP / cm << " [cm]" << std::endl +// << "m_dElecFocaltoWRP : " << m_dElecFocaltoWRP / cm << " [cm]" << std::endl +// << "m_HalfGapBetweenWheels : " << m_HalfGapBetweenWheels / cm << " [cm]" << std::endl +// << "m_rOuterCutoff : " << m_rOuterCutoff / cm << " [cm]" << std::endl +// << "m_zWheelFrontFace : " << m_zWheelFrontFace / cm << " [cm]" << std::endl +// << "m_zWheelBackFace : " << m_zWheelBackFace / cm << " [cm]" << std::endl +// << "m_zShift : " << m_zShift / cm << " [cm]" << std::endl +// << "Phi rotation : " << (m_phiRotation? "true": "false") << std::endl +// << "eta wheels limits : " << m_eta_low << ", " << m_eta_mid << ", " << m_eta_hi +// << endmsg; +// msg << MSG::VERBOSE << "hardcoded constants: " << std::endl +// << "m_WheelThickness : " << m_WheelThickness / cm << " [cm]" << std::endl +// << "m_dWRPtoFrontFace : " << m_dWRPtoFrontFace / cm << " [cm]" +// << endmsg; + + //#endif +//#ifdef BUILDVP1LIGHT //FIXME: check all this!!! + //TO DO: put real values + //m_zWheelRefPoint = 999;// / cm + //m_dMechFocaltoWRP = 999;// / cm << " [cm]" << std::endl + //m_dElecFocaltoWRP = 999;// : " << m_dElecFocaltoWRP / cm << " [cm]" << std::endl + //m_HalfGapBetweenWheels = 999;// : " << m_HalfGapBetweenWheels / cm << " [cm]" << std::endl + //m_rOuterCutoff = 999;// : " << m_rOuterCutoff / cm << " [cm]" << std::endl + //m_zWheelFrontFace = 999;// : " << m_zWheelFrontFace / cm << " [cm]" << std::endl + //m_zWheelBackFace = 999;// : " << m_zWheelBackFace / cm << " [cm]" << std::endl + //m_zShift = 999;// : " << m_zShift / cm << " [cm]" << std::endl + m_phiRotation = true;//? "true": "false") << std::endl + //m_eta_low = 999;// + //m_eta_mid = 999;// + //m_eta_hi = 999;// + + //m_WheelThickness = 999;// : " << m_WheelThickness / cm << " [cm]" << std::endl + //m_dWRPtoFrontFace = 999;// : " << m_dWRPtoFrontFace / cm << " [cm]" +//#endif + + + // Constructor initializes the geometry. + + m_isBarrette = false; + m_isBarretteCalib = false; + m_isModule = false; + m_isElectrode = false; + m_isInner = false; + m_FirstFan = 0; + m_LastFan = 0; + + switch(m_type){ + case LArG4::BackInnerBarretteWheelCalib: + m_isBarretteCalib = true; + /* FALLTHROUGH */ + case LArG4::BackInnerBarretteWheel: + m_isBarrette = true; + m_type = LArG4::InnerAbsorberWheel; + /* FALLTHROUGH */ + case LArG4::InnerAbsorberWheel: + case LArG4::InnerGlueWheel: + case LArG4::InnerLeadWheel: + inner_wheel_init(); + m_ZeroFanPhi = m_FanStepOnPhi * 0.5; + if(m_phiRotation) m_ZeroFanPhi += m_FanStepOnPhi * 0.5; + break; + case LArG4::BackOuterBarretteWheelCalib: + m_isBarretteCalib = true; + /* FALLTHROUGH */ + case LArG4::BackOuterBarretteWheel: + m_isBarrette = true; + m_type = LArG4::OuterAbsorberWheel; + /* FALLTHROUGH */ + case LArG4::OuterAbsorberWheel: + case LArG4::OuterGlueWheel: + case LArG4::OuterLeadWheel: + outer_wheel_init(); + m_ZeroFanPhi = m_FanStepOnPhi * 0.5; + if(m_phiRotation) m_ZeroFanPhi += m_FanStepOnPhi * 0.5; + break; + case LArG4::InnerElectrodWheel: + inner_wheel_init(); + m_ZeroFanPhi = 0; + if(m_phiRotation) m_ZeroFanPhi += m_FanStepOnPhi * 0.5; + m_isElectrode = true; + break; + case LArG4::OuterElectrodWheel: + outer_wheel_init(); + m_ZeroFanPhi = 0; + if(m_phiRotation) m_ZeroFanPhi += m_FanStepOnPhi * 0.5; + m_isElectrode = true; + break; + case LArG4::BackInnerBarretteModuleCalib: + m_isBarretteCalib = true; + /* FALLTHROUGH */ + case LArG4::BackInnerBarretteModule: + m_isBarrette = true; + m_type = LArG4::InnerAbsorberModule; + /* FALLTHROUGH */ + case LArG4::InnerAbsorberModule: + inner_wheel_init(); + module_init(); + m_ZeroFanPhi += m_FanStepOnPhi * 0.5; + // later for all? m_ZeroFanPhi_ForDetNeaFan = m_ZeroFanPhi - m_FanStepOnPhi * 0.5; + break; + case LArG4::BackOuterBarretteModuleCalib: + m_isBarretteCalib = true; + /* FALLTHROUGH */ + case LArG4::BackOuterBarretteModule: + m_isBarrette = true; + m_type = LArG4::OuterAbsorberModule; + /* FALLTHROUGH */ + case LArG4::OuterAbsorberModule: + outer_wheel_init(); + module_init(); + m_ZeroFanPhi += m_FanStepOnPhi * 0.5; + // later for all? m_ZeroFanPhi_ForDetNeaFan = m_ZeroFanPhi - m_FanStepOnPhi * 0.5; + break; + case LArG4::InnerElectrodModule: + inner_wheel_init(); + module_init(); + m_FirstFan ++; + m_isElectrode = true; + break; + case LArG4::OuterElectrodModule: + outer_wheel_init(); + module_init(); + m_FirstFan ++; + m_isElectrode = true; + break; + default: + throw std::runtime_error("LArWheelCalculator constructor:unknown LArWheelCalculator_t"); + } + m_ZeroFanPhi_ForDetNeaFan = m_ZeroFanPhi - m_FanStepOnPhi * 0.5; + m_NumberOfHalfWaves = m_NumberOfWaves * 2; + m_HalfWaveLength = m_ActiveLength / m_NumberOfHalfWaves; + m_QuarterWaveLength = m_HalfWaveLength * 0.5; + //m_HalfNumberOfFans = m_NumberOfFans / 2; + m_FanHalfThickness = GetFanHalfThickness(m_type); + + // Init sagging + // value read above + // std::string sagging_opt_value = (*DB_EMECParams)[0]->getString("SAGGING"); + + //msg << MSG::VERBOSE << "SAGGING value = " << sagging_opt_value << endmsg; + + // the same condition is in DistanceCalculatorFactory::Create + m_SaggingOn = (sagging_opt_value != "" && sagging_opt_value != "off")? true: false; + + //m_distanceCalcImpl = LArWheelCalculator_Impl::DistanceCalculatorFactory::Create( + // sagging_opt_value, this, rdbAccess, larVersionKey); + + m_distanceCalcImpl = LArWheelCalculator_Impl::DistanceCalculatorFactory::Create(sagging_opt_value,this); + if (m_SaggingOn) { + //msg << MSG::VERBOSE << "Creating DistanceCalculatorSaggingOn = " << this + // << ',' << m_distanceCalcImpl << endmsg; + } else { + //msg << MSG::VERBOSE << "Creating DistanceCalculatorSaggingOff = " << this + // << ',' << m_distanceCalcImpl << endmsg; + } + + //m_fanCalcImpl = LArWheelCalculator_Impl::FanCalculatorFactory::Create( + // m_SaggingOn, m_isModule, this, rdbAccess, larVersionKey); + m_fanCalcImpl = LArWheelCalculator_Impl::FanCalculatorFactory::Create(m_SaggingOn, m_isModule, this); + + //-------------------------- + // At this place there was the loading of sagging parameters + // Transfered to DistanceCalculatorSaggingOn + //-------------------------- + + // Get option: Slant params. + //msg << MSG::VERBOSE << "Loading SlantAngle parameters ..."; + std::string slant_params; + + //TO DO : needed? +// if (m_isInner) { +// EMECParams_recs.param(slant_params, "INNERSLANTPARAM"); +// } else { +// EMECParams_recs.param(slant_params, "OUTERSLANTPARAM"); +// } + + //msg << (m_isInner?" InnerWheel ":" OuterWheel ") << slant_params << endmsg; + + if(slant_params != "" && slant_params != "default"){ + double a, b, c, d, e; + if(sscanf(slant_params.c_str(), "%80le %80le %80le %80le %80le", &a, &b, &c, &d, &e) != 5){ + //msg << MSG::ERROR + // << "LArWheelCalculator: ERROR: wrong value(s) " + // << "for EMEC slant angle parameters: " + // << slant_params << ", " + // << "defaults are used" << endmsg; + } else { + m_slant_parametrization[0] = a; + m_slant_parametrization[1] = b; + m_slant_parametrization[2] = c; + m_slant_parametrization[3] = d; + m_slant_parametrization[4] = e; + m_slant_use_default = false; + } + } // else already initialized in inner/outer_wheel_init() + + fill_sincos_parameterization(); // initialize sin&cos parameterization + + //msg << MSG::VERBOSE << "All params initialized. Print some internal variables" << endmsg; + +// msg << MSG::VERBOSE << "Data members:" << std::endl +// << "m_AtlasZside = " << m_AtlasZside << std::endl +// << "m_NumberOfFans = " << m_NumberOfFans << std::endl +// << "m_ZeroFanPhi = " << m_ZeroFanPhi << std::endl +// << "m_ZeroFanPhi_ForDetNeaFan = " << m_ZeroFanPhi_ForDetNeaFan << std::endl +// << "m_FanStepOnPhi = " << m_FanStepOnPhi << std::endl +// << "m_FanHalfThickness = " << m_FanHalfThickness << std::endl +// //<< "Sagging parameters : " << m_sagging_parameter[0][0] << " " << m_sagging_parameter[0][1] << std::endl +// //<< "Sagging parameters : " << m_sagging_parameter[1][0] << " " << m_sagging_parameter[1][1] << std::endl +// << "slant_params = " << slant_params << std::endl +// << "Sagging option = " << sagging_opt_value << std::endl +// << "SaggingOn = " << (m_SaggingOn? "true": "false") << std::endl +// << "Slant parameters : "; +// for(int i = 0; i < 5; i ++) msg << " " << m_slant_parametrization[i]; +// msg << endmsg; + +// if(m_isModule){ +// msg << MSG::VERBOSE +// << "module_init: FirstFan = " << m_FirstFan +// << ", LastFan = " << m_LastFan +// << ", ZeroFanPhi = " << m_ZeroFanPhi +// << endmsg; +// } + + //m_fan_number = -1000; + + // Is the following code fragment obsoleted? DM 2015-03-13 + /* to compare various methods of slant angle computation: + if(isInner) return; + FILE *O = fopen("slant_stat.table1.txt", "w"); + if(O == 0) abort(); + struct timeval t1, t2; + struct timezone tz; + std::vector<double> alpha; + gettimeofday(&t1, &tz); + for(double r = 600.; r < 2100.; r += .01){ + alpha.push_back(parameterized_slant_angle(r)); + } + gettimeofday(&t2, &tz); + + fprintf(O, "%d.%06d %d.%06d\n", t1.tv_sec, t1.tv_usec, t2.tv_sec, t2.tv_usec); + int i = 0; + for(double r = 600.; r < 2100.; r += .01, i ++){ + fprintf(O, "%f %f\n", r, alpha[i]); + } + + fclose(O); + exit(0); + */ +} + +/* converts module gap number into wheel gap number */ +int LArWheelCalculator::PhiGapNumberForWheel(int i) const +{ + return m_fanCalcImpl->PhiGapNumberForWheel(i); +} + +void LArWheelCalculator::inner_wheel_init() +{ + for(int i = 0; i < 5; ++ i) { + m_slant_parametrization[i] = default_slant_parametrization[0][i]; + } + m_slant_use_default = true; + m_NumberOfFans = 256; + m_NumberOfWaves = 6; +// EmecWheelParameters_recs. +// param(m_NumberOfFans, "NABS", 0). +// param(m_NumberOfWaves, "NACC", 0); + + m_FanFoldRadius = 3.25 * SYSTEM_OF_UNITS::mm; + m_ZeroGapNumber = 64; // internal constant, should not be taken from DB + m_FanStepOnPhi = SYSTEM_OF_UNITS::twopi / m_NumberOfFans; + m_isInner = true; +} + +void LArWheelCalculator::outer_wheel_init() +{ + for(int i = 0; i < 5; ++ i) { + m_slant_parametrization[i] = default_slant_parametrization[1][i]; + } + m_slant_use_default = true; + m_NumberOfFans = 768; + m_NumberOfWaves = 9; +// EmecWheelParameters_recs. +// param(m_NumberOfFans, "NABS", 1). +// param(m_NumberOfWaves, "NACC", 1); + + m_FanFoldRadius = 3.0 * SYSTEM_OF_UNITS::mm; + m_ZeroGapNumber = 192; // internal constant, should not be taken from DB + m_FanStepOnPhi = SYSTEM_OF_UNITS::twopi / m_NumberOfFans; + m_isInner = false; +} + +double LArWheelCalculator::GetFanHalfThickness(LArG4::LArWheelCalculator_t t) +{ + switch(t){ + case LArG4::BackInnerBarretteWheelCalib: + case LArG4::BackInnerBarretteModuleCalib: + case LArG4::BackInnerBarretteWheel: + case LArG4::BackInnerBarretteModule: + case LArG4::InnerAbsorberWheel: + case LArG4::InnerAbsorberModule: + //return (2.2 / 2 + 0.2 + 0.15) * SYSTEM_OF_UNITS::mm; + return (2.2 / 2 + 0.2 + 0.1)*0.997 * SYSTEM_OF_UNITS::mm; // new values, 02.11.06 J.T. with contraction in cold + // lead / 2 + steel + glue + case LArG4::InnerGlueWheel: + return (2.2 / 2 + 0.1)*0.997 * SYSTEM_OF_UNITS::mm; + case LArG4::InnerLeadWheel: + return 2.2 / 2 * 0.997 * SYSTEM_OF_UNITS::mm; + + case LArG4::BackOuterBarretteWheelCalib: + case LArG4::BackOuterBarretteModuleCalib: + case LArG4::BackOuterBarretteWheel: + case LArG4::BackOuterBarretteModule: + case LArG4::OuterAbsorberWheel: + case LArG4::OuterAbsorberModule: + //return (1.7 / 2 + 0.2 + 0.15) * mm; + return (1.69 / 2 + 0.2 + 0.1)*0.997 * SYSTEM_OF_UNITS::mm; // new values, 02.11.06 J.T. + case LArG4::OuterGlueWheel: + return (1.69 / 2 + 0.1)*0.997 * SYSTEM_OF_UNITS::mm; + case LArG4::OuterLeadWheel: + return 1.69 / 2 * 0.997 * SYSTEM_OF_UNITS::mm; + + case LArG4::InnerElectrodWheel: + case LArG4::OuterElectrodWheel: + case LArG4::InnerElectrodModule: + case LArG4::OuterElectrodModule: + return 0.275/1.0036256 * SYSTEM_OF_UNITS::mm * 0.5; //new values, 02.11.06 J.T + } + throw std::runtime_error("LArWheelCalculator::GetFanHalfThickness: wrong wheel type"); +} + +void LArWheelCalculator::module_init() +{ + m_isModule = true; + m_LastFan = m_NumberOfFans / 8; + m_FirstFan = 0; + m_ZeroFanPhi = - m_LastFan / 2 * m_FanStepOnPhi; +} + +/* + array of r is filled with: + for inner wheel - 2 elements { r_front, r_back } + for outer wheel - 3 elements { r_front, r_middle, r_back } + return value - delta_z of middle point in case of outer wheel +*/ +double LArWheelCalculator::GetWheelInnerRadius(double *r) const +{ + double zMid = 0.; + if(m_isInner){ + double tanThetaInner = 2. * exp(-m_eta_hi ) / (1. - exp(-2.*m_eta_hi )); + r[0] = m_zWheelFrontFace * tanThetaInner; + r[1] = m_zWheelBackFace * tanThetaInner; + } else { + double tanThetaMid = 2. * exp(-m_eta_mid) / (1. - exp(-2.*m_eta_mid)); + double inv_tanThetaOuter = (1. - exp(-2.*m_eta_low)) / (2. * exp(-m_eta_low)); + // Note that there is a 3mm gap between the outer surface of the + // inner wheel and the inner surface of the outer wheel. + r[0] = m_zWheelFrontFace * tanThetaMid + m_HalfGapBetweenWheels; + r[1] = m_rOuterCutoff * inv_tanThetaOuter * tanThetaMid + m_HalfGapBetweenWheels; + r[2] = m_zWheelBackFace * tanThetaMid + m_HalfGapBetweenWheels; + zMid = m_rOuterCutoff * inv_tanThetaOuter - m_zWheelFrontFace; + } + return zMid; +} + +/* + array of r is filled with: + for inner wheel - 2 elements { r_front, r_back } + for outer wheel - 3 elements { r_front, r_middle, r_back } +*/ +void LArWheelCalculator::GetWheelOuterRadius(double *r) const +{ + if(m_isInner){ + double tanThetaMid = 2. * exp(-m_eta_mid) / (1. - exp(-2.*m_eta_mid)); + // Note that there is a 3mm gap between the outer surface of the + // inner wheel and the inner surface of the outer wheel. + r[0] = m_zWheelFrontFace * tanThetaMid - m_HalfGapBetweenWheels; + r[1] = m_zWheelBackFace * tanThetaMid - m_HalfGapBetweenWheels; + } else { + double tanThetaOuter = 2. * exp(-m_eta_low) / (1. - exp(-2.*m_eta_low)); + r[0] = m_zWheelFrontFace * tanThetaOuter; + r[1] = m_rOuterCutoff; + r[2] = m_rOuterCutoff; + } +} diff --git a/GeoSpecialShapes/src/LArWheelCalculatorGeometry.cxx b/GeoSpecialShapes/src/LArWheelCalculatorGeometry.cxx new file mode 100644 index 0000000..0ff84d5 --- /dev/null +++ b/GeoSpecialShapes/src/LArWheelCalculatorGeometry.cxx @@ -0,0 +1,138 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +//#include "CxxUtils/sincos.h" +//#include <cmath> +#include <climits> +#include <cassert> +#include <iostream> + +//#include "GaudiKernel/PhysicalConstants.h" +// Physical constants +#include "GeoModelKernel/Units.h" +#define SYSTEM_OF_UNITS GeoModelKernelUnits + +#include "GeoSpecialShapes/LArWheelCalculator.h" +#include "./LArWheelCalculator_Impl/IDistanceCalculator.h" +#include "./LArWheelCalculator_Impl/IFanCalculator.h" + +#ifdef HARDDEBUG +#include<stdio.h> +#endif + +//using namespace Gaudi::Units; + +void LArWheelCalculator::parameterized_sin(const double r, double &sin_a, double &cos_a) const +{ + const double r2 = r*r; + const double r3 = r2*r; + const double r4 = r2*r2; +#if LARWC_SINCOS_POLY > 4 + const double r5 = r4*r; +#endif + sin_a = m_sin_parametrization[0] + + m_sin_parametrization[1]*r + + m_sin_parametrization[2]*r2 + + m_sin_parametrization[3]*r3 + + m_sin_parametrization[4]*r4 +#if LARWC_SINCOS_POLY > 4 + + m_sin_parametrization[5]*r5 +#endif + ; + cos_a = sqrt(1. - sin_a*sin_a); +} + +void LArWheelCalculator::parameterized_sincos(const double r, double &sin_a, double &cos_a) const +{ + const double r2 = r*r; + const double r3 = r2*r; + const double r4 = r2*r2; +#if LARWC_SINCOS_POLY > 4 + const double r5 = r4*r; +#endif + sin_a = m_sin_parametrization[0] + + m_sin_parametrization[1]*r + + m_sin_parametrization[2]*r2 + + m_sin_parametrization[3]*r3 + + m_sin_parametrization[4]*r4 +#if LARWC_SINCOS_POLY > 4 + + m_sin_parametrization[5]*r5 +#endif + ; + cos_a = m_cos_parametrization[0] + + m_cos_parametrization[1]*r + + m_cos_parametrization[2]*r2 + + m_cos_parametrization[3]*r3 + + m_cos_parametrization[4]*r4 +#if LARWC_SINCOS_POLY > 4 + + m_cos_parametrization[5]*r5 +#endif + ; +} + +// calculates wave slant angle using parametrization for current wheel +// for given distance from calorimeter axis +double LArWheelCalculator::parameterized_slant_angle(double r) const +{ + const double r2 = r*r; + const double r3 = r2*r; + const double r4 = r2*r2; + const double result = m_slant_parametrization[0] + + r*m_slant_parametrization[1] + + r2*m_slant_parametrization[2] + + r3*m_slant_parametrization[3] + + r4*m_slant_parametrization[4]; + return result*SYSTEM_OF_UNITS::deg; +} + +// Determines the nearest to the input point fan. +// Relays on the fact that each two fans have a fan of a different type between +// them. +// Returns distance to the nearest fan. Vector p is set to nearest fan coord. +// system. +// m_fan_number is set to nearest fan number +double LArWheelCalculator::DistanceToTheNearestFan(CLHEP::Hep3Vector &p, int & out_fan_number) const +{ + return m_fanCalcImpl->DistanceToTheNearestFan(p, out_fan_number); +} + +// Relays on the fact that each two fans have a fan of a different type between +// them. +// Affects m_fan_number. +std::pair<int, int> LArWheelCalculator::GetPhiGapAndSide(const CLHEP::Hep3Vector &p) const +{ + return m_fanCalcImpl->GetPhiGapAndSide(p); +} + +// Represents aproximate, probably underestimate, distance to the +// neutral fibre of the vertical fan. Sign of return value means +// side of the fan; negative - lower phi. +// +// Uses m_fan_number to compute sagging. +double LArWheelCalculator::DistanceToTheNeutralFibre(const CLHEP::Hep3Vector& P, int fan_number) const +{ + return m_distanceCalcImpl->DistanceToTheNeutralFibre(P, fan_number); +} + +CLHEP::Hep3Vector LArWheelCalculator::NearestPointOnNeutralFibre(const CLHEP::Hep3Vector &P, int fan_number) const +{ + return m_distanceCalcImpl->NearestPointOnNeutralFibre(P, fan_number); +} + +std::vector<double> LArWheelCalculator::NearestPointOnNeutralFibre_asVector(const CLHEP::Hep3Vector &p, int fan_number) const +{ + CLHEP::Hep3Vector np = NearestPointOnNeutralFibre(p, fan_number); + return std::vector<double> { np.x(), np.y(), np.z() }; +} + +/* +input is in local fan's coordinate system +side: < 0 - lower phi + > 0 - greater phi + = 0 - neutral fibre +*/ +double LArWheelCalculator::AmplitudeOfSurface(const CLHEP::Hep3Vector& P, int side, int fan_number) const +{ + return m_distanceCalcImpl->AmplitudeOfSurface(P, side, fan_number); +} diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx new file mode 100644 index 0000000..055baef --- /dev/null +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx @@ -0,0 +1,29 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + + +#include "DistanceCalculatorFactory.h" + +#include "DistanceCalculatorSaggingOff.h" +#include "DistanceCalculatorSaggingOn.h" + +namespace LArWheelCalculator_Impl +{ + + IDistanceCalculator* DistanceCalculatorFactory::Create(const std::string & sagging_opt, + LArWheelCalculator* lwc/*, + IRDBAccessSvc* rdbAccess, + const DecodeVersionKey & larVersionKey*/) + { + // the same condition is in LArWheelCalculator constructor + bool SaggingOn = (sagging_opt != "" && sagging_opt != "off")? true: false; + + if (SaggingOn) { + return new DistanceCalculatorSaggingOn(sagging_opt, lwc/*, rdbAccess, larVersionKey*/); + } else { + return new DistanceCalculatorSaggingOff(lwc/*, rdbAccess, larVersionKey*/ ); + } + } + +} diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.h new file mode 100644 index 0000000..f1dbc8d --- /dev/null +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.h @@ -0,0 +1,34 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef __LArWheelCalculator_Impl_DistanceCalculatorFactory_H__ +#define __LArWheelCalculator_Impl_DistanceCalculatorFactory_H__ + +// DistanceCalculator factory +// calculator creation depends on sagging mode + +#include <string> +#include "IDistanceCalculator.h" +//#ifndef BUILDVP1LIGHT +// #include "RDBAccessSvc/IRDBAccessSvc.h" +//#endif +//#include "GeoModelUtilities/DecodeVersionKey.h" + +class LArWheelCalculator; + +namespace LArWheelCalculator_Impl +{ + /// @todo Why is this a class??? + class DistanceCalculatorFactory + { + public: + static IDistanceCalculator* Create(const std::string & sagging_opt, + LArWheelCalculator* lwc + /*,IRDBAccessSvc* rdbAccess, + const DecodeVersionKey & larVersionKey*/); + }; + +} + +#endif // __LArWheelCalculator_Impl_DistanceCalculatorFactory_H__ diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx new file mode 100644 index 0000000..8d0da45 --- /dev/null +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx @@ -0,0 +1,526 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#include "DistanceCalculatorSaggingOff.h" +#include "GeoSpecialShapes/LArWheelCalculator.h" + +//#include "GaudiKernel/PhysicalConstants.h" +#include<cassert> + +//#define LWC_PARAM_ANGLE + +#ifdef LWC_PARAM_ANGLE +#include <CxxUtils/sincos.h> +#endif + +#include<signal.h> + +//using namespace Gaudi::Units; + +// Physical constants +#include "GeoModelKernel/Units.h" +#define SYSTEM_OF_UNITS GeoModelKernelUnits + +namespace LArWheelCalculator_Impl +{ + + //DistanceCalculatorSaggingOff::DistanceCalculatorSaggingOff(LArWheelCalculator* c, + // IRDBAccessSvc* /*rdbAccess*/, + // const DecodeVersionKey & /*larVersionKey*/) + DistanceCalculatorSaggingOff::DistanceCalculatorSaggingOff(LArWheelCalculator* c) + : m_lwc(c) + { + m_EndQuarterWave = lwc()->m_ActiveLength - lwc()->m_QuarterWaveLength; + } + +#ifndef LARWC_DTNF_NEW + double DistanceCalculatorSaggingOff::DistanceToTheNeutralFibre(const CLHEP::Hep3Vector& P, int /*fan_number*/) const +#else + double DistanceCalculatorSaggingOff::DistanceToTheNeutralFibre_ref(const CLHEP::Hep3Vector& P, int /*fan_number*/) const +#endif + { + assert(P.y() > 0.); + double distance = 0.; + double z = P.z() - lwc()->m_StraightStartSection; + double x = P.x(); + +#ifdef LWC_PARAM_ANGLE //old variant + const double alpha = lwc()->parameterized_slant_angle(P.y()); + //double cos_a, sin_a; + //::sincos(alpha, &sin_a, &cos_a); + CxxUtils::sincos scalpha(alpha); + const double cos_a = scalpha.cs, sin_a = scalpha.sn; +#else // parameterized sine + double cos_a, sin_a; + lwc()->parameterized_sincos(P.y(), sin_a, cos_a); +#endif + // determination of the nearest quarter-wave number + int nqwave = (z < 0.) ? 0 : int(z / lwc()->m_QuarterWaveLength); + //if(z < 0.) nqwave = 0; + //else nqwave = int(z / lwc()->m_QuarterWaveLength); + + bool begin_qw = false; + if((nqwave % 2) != 0){ + nqwave ++; + begin_qw = true; + } + + nqwave /= 2; + + // now nqwave is not the number of quarter-wave but the number of half-wave + // half-waves with last and zero numbers are not really half-waves but start + // and finish quarter-waves + // It means that half-wave number 1 begins after starting quarter-wave + if(nqwave != 0 && nqwave != lwc()->m_NumberOfHalfWaves){ // regular half-waves + z -= nqwave * lwc()->m_HalfWaveLength; + // there are some symmetries, so use them + if((nqwave % 2) == 0) x = -x; + if(begin_qw){ + z = -z; + x = -x; + } + // certain situation: rising slope of wave, z is positive + // rotate to prime-coordinate system (see description) + const double z_prime = z * cos_a + x * sin_a; + const double x_prime = x * cos_a - z * sin_a; + const double straight_part = (lwc()->m_QuarterWaveLength - lwc()->m_FanFoldRadius * sin_a) / cos_a; + if(z_prime > straight_part){// fold region + const double dz = straight_part - z_prime; + const double dx = x_prime + lwc()->m_FanFoldRadius; + distance = sqrt(dz*dz + dx*dx) - lwc()->m_FanFoldRadius; + } else if(z_prime > -straight_part){ + distance = x_prime; // straight part of the quarter-wave + } else {// fold region + const double dz = straight_part + z_prime; + const double dx = x_prime - lwc()->m_FanFoldRadius; + distance = lwc()->m_FanFoldRadius - sqrt(dz*dz + dx*dx); + } + // set correct sign for result + if(!begin_qw) distance = -distance; + if((nqwave % 2) == 0) distance = -distance; + + } else { // start and finish quarter-waves + if(nqwave == 0) { // start quarter-wave + x = - x; + } else { // finish quarter-wave + z = lwc()->m_ActiveLength - z; + } + + const double tan_beta = sin_a/(1.0 + cos_a); //tan(alpha * 0.5); + const double local_straight_section = lwc()->m_FanFoldRadius * tan_beta; + if( z < - local_straight_section && + ( x < lwc()->m_FanFoldRadius || + x < - lwc()->m_StraightStartSection * z / local_straight_section / tan_beta ) ) + { + distance = - x; + } + else { + const double z_prime = z * cos_a + x * sin_a; + const double x_prime = x * cos_a - z * sin_a; + if (z_prime < local_straight_section) { // start fold region + const double dz = local_straight_section - z_prime; + const double dx = x_prime - lwc()->m_FanFoldRadius; + distance = sqrt(dz*dz + dx*dx) - lwc()->m_FanFoldRadius; + } else { + const double straight_part = (lwc()->m_QuarterWaveLength - lwc()->m_FanFoldRadius * sin_a) / cos_a; + if (z_prime <= straight_part) { // straight part of quarter-wave + distance = - x_prime; + } else { // regular fold region of the quarter-wave + const double dz = straight_part - z_prime; + const double dx = x_prime + lwc()->m_FanFoldRadius; + distance = lwc()->m_FanFoldRadius - sqrt(dz*dz + dx*dx); + } + } + } + // set correct sign + if (nqwave == 0) distance = -distance; + } +#ifdef HARDDEBUG + double dd = DistanceToTheNeutralFibre_ref(P); + if(fabs(dd - distance) > 0.000001){ + //static int cnt = 0; + std::cout << "DTNF MISMATCH " << this << " " << P << " " + << dd << " vs " << distance << std::endl; + //cnt ++; + //if(cnt > 100) exit(0); + } +#endif + return distance; + } + + // IMPROVED PERFORMANCE +#ifdef LARWC_DTNF_NEW + double DistanceCalculatorSaggingOff::DistanceToTheNeutralFibre(const CLHEP::Hep3Vector& P, int /*fan_number*/) const +#else + double DistanceCalculatorSaggingOff::DistanceToTheNeutralFibre_ref(const CLHEP::Hep3Vector& P, int /*fan_number*/) const +#endif + { + double z = P.z() - lwc()->m_StraightStartSection; + double x = P.x(); + +#ifdef LWC_PARAM_ANGLE //old variant + const double alpha = lwc()->parameterized_slant_angle(P.y()); + CxxUtils::sincos scalpha(alpha); + double cos_a = scalpha.cs, sin_a = scalpha.sn; +#else // parameterized sine + double cos_a, sin_a; + lwc()->parameterized_sincos(P.y(), sin_a, cos_a); +#endif + + bool sqw = false; + if(z > lwc()->m_QuarterWaveLength){ + if(z < m_EndQuarterWave){ // regular half-waves + unsigned int nhwave = (unsigned int)(z / lwc()->m_HalfWaveLength + 0.5); + z -= lwc()->m_HalfWaveLength * nhwave; + const double straight_part = (lwc()->m_QuarterWaveLength - lwc()->m_FanFoldRadius * sin_a) / cos_a; + nhwave &= 1U; + if(nhwave == 0) sin_a = - sin_a; + double z_prime = z * cos_a + x * sin_a; + const double x_prime = z * sin_a - x * cos_a; + if(z_prime > straight_part){ // up fold region + const double dz = z_prime - straight_part; + if(nhwave == 0){ + const double dx = x_prime + lwc()->m_FanFoldRadius; + return sqrt(dz*dz + dx*dx) - lwc()->m_FanFoldRadius; + } else { + const double dx = x_prime - lwc()->m_FanFoldRadius; + return lwc()->m_FanFoldRadius - sqrt(dz*dz + dx*dx); + } + } + z_prime += straight_part; + if(z_prime > 0){ + return x_prime; // straight part of the quarter-wave + } else { // low fold region + const double &dz = z_prime; + if(nhwave == 0){ + const double dx = x_prime - lwc()->m_FanFoldRadius; + return lwc()->m_FanFoldRadius - sqrt(dz*dz + dx*dx); + } else { + const double dx = x_prime + lwc()->m_FanFoldRadius; + return sqrt(dz*dz + dx*dx) - lwc()->m_FanFoldRadius; + } + } + } else { // ending quarter-wave + z = lwc()->m_ActiveLength - z; + } + } else { // starting quarter-wave + x = - x; + sqw = true; + } + + // start and finish quarter-waves + const double tan_beta = sin_a/(1.0 + cos_a); //tan(alpha * 0.5); + const double local_straight_section = lwc()->m_FanFoldRadius * tan_beta; + if(z < - local_straight_section && + ( x < lwc()->m_FanFoldRadius || + x < - lwc()->m_StraightStartSection * z / local_straight_section / tan_beta )) + { + return sqw? x: (-x); + } + else { + const double z_prime = z * cos_a + x * sin_a; + const double x_prime = x * cos_a - z * sin_a; + if (z_prime < local_straight_section) { // start fold region + const double dz = local_straight_section - z_prime; + const double dx = x_prime - lwc()->m_FanFoldRadius; + if(sqw) return lwc()->m_FanFoldRadius - sqrt(dz*dz + dx*dx); + else return sqrt(dz*dz + dx*dx) - lwc()->m_FanFoldRadius; + } else { + const double straight_part = + (lwc()->m_QuarterWaveLength - lwc()->m_FanFoldRadius * sin_a) / cos_a; + if (z_prime <= straight_part) { // straight part of quarter-wave + return sqw? x_prime: (-x_prime); + } else { // regular fold region of the quarter-wave + const double dz = straight_part - z_prime; + const double dx = x_prime + lwc()->m_FanFoldRadius; + if(sqw) return sqrt(dz*dz + dx*dx) - lwc()->m_FanFoldRadius; + else return lwc()->m_FanFoldRadius - sqrt(dz*dz + dx*dx); + } + } + } + // ??? + std::abort(); + } + + CLHEP::Hep3Vector DistanceCalculatorSaggingOff::NearestPointOnNeutralFibre(const CLHEP::Hep3Vector &P, int /*fan_number*/) const + { + CLHEP::Hep3Vector result; + double z = P.z() - lwc()->m_StraightStartSection; + double x = P.x(); + double y = P.y(); + +#ifdef LWC_PARAM_ANGLE //old variant + const double alpha = lwc()->parameterized_slant_angle(P.y()); + CxxUtils::sincos scalpha(alpha); + const double cos_a = scalpha.cs, sin_a = scalpha.sn; +#else // parameterized sine + double cos_a, sin_a; + lwc()->parameterized_sincos(P.y(), sin_a, cos_a); +#endif + + int nqwave; + if(z < 0.) nqwave = 0; + else nqwave = int(z / lwc()->m_QuarterWaveLength); + bool begin_qw = false; + if((nqwave % 2) != 0){ + nqwave ++; + begin_qw = true; + } + nqwave /= 2; + if(nqwave != 0 && nqwave != lwc()->m_NumberOfHalfWaves){ + z -= nqwave * lwc()->m_HalfWaveLength; + if((nqwave % 2) == 0) x = -x; + if(begin_qw){ + z = -z; + x = -x; + } + const double z_prime = z * cos_a + x * sin_a; + const double x_prime = x * cos_a - z * sin_a; + const double straight_part = (lwc()->m_QuarterWaveLength - lwc()->m_FanFoldRadius * sin_a) / cos_a; + const double dz = straight_part - z_prime; + if (dz > 0) result.set(0., y, z_prime); + else { + double a = atan(fabs(dz / (x_prime + lwc()->m_FanFoldRadius))); + result.set(lwc()->m_FanFoldRadius * (cos(a) - 1), y, straight_part + lwc()->m_FanFoldRadius * sin(a)); + } + result.rotateY(asin(sin_a)); + if(begin_qw){ + result.setX(-result.x()); + result.setZ(-result.z()); + } + if((nqwave % 2) == 0) result.setX(-result.x()); + result.setZ(result.z() + nqwave * lwc()->m_HalfWaveLength); + } else { + if(nqwave == 0) x = -x; + else z = lwc()->m_ActiveLength - z; + const double tan_beta = sin_a/(1.0+cos_a); //tan(alpha * 0.5); + const double local_straight_section = lwc()->m_FanFoldRadius * tan_beta; + if(z < - local_straight_section && + ( x < lwc()->m_FanFoldRadius || + x < - lwc()->m_StraightStartSection * z / local_straight_section / tan_beta)) + { + result.set(0., y, z); + } + else { + const double z_prime = z * cos_a + x * sin_a; + const double x_prime = x * cos_a - z * sin_a; + if(z_prime < local_straight_section) { + double a = fabs(atan((local_straight_section - z_prime) / (x_prime - lwc()->m_FanFoldRadius))); + + result.set(lwc()->m_FanFoldRadius * (1 - cos(a)), y, local_straight_section - lwc()->m_FanFoldRadius * sin(a)); + } else { + double straight_part = (lwc()->m_QuarterWaveLength - lwc()->m_FanFoldRadius * sin_a) / cos_a; + if(z_prime <= straight_part) { + result.set(0., y, z_prime); + } else { + double a = fabs(atan((straight_part - z_prime) / (x_prime + lwc()->m_FanFoldRadius)) ); + result.set(lwc()->m_FanFoldRadius * (cos(a) - 1), y, straight_part + lwc()->m_FanFoldRadius * sin(a)); + } + } + result.rotateY(asin(sin_a)); + } + if(nqwave != 0){ + result.setZ(lwc()->m_ActiveLength - result.z()); + } else { + result.setX(-result.x()); + } + } + result.setZ(result.z() + lwc()->m_StraightStartSection); + return result; + } + + // IMPROVED VERSION + CLHEP::Hep3Vector DistanceCalculatorSaggingOff::NearestPointOnNeutralFibre_ref(const CLHEP::Hep3Vector &P, int /*fan_number*/) const + { + CLHEP::Hep3Vector result; + double z = P.z() - lwc()->m_StraightStartSection; + double x = P.x(); + double y = P.y(); + +#ifdef LWC_PARAM_ANGLE //old variant + const double alpha = lwc()->parameterized_slant_angle(P.y()); + CxxUtils::sincos scalpha(alpha); + double cos_a = scalpha.cs, sin_a = scalpha.sn; +#else // parameterized sine + double cos_a, sin_a; + lwc()->parameterized_sincos(P.y(), sin_a, cos_a); +#endif + + bool sqw = false; + if(z > lwc()->m_QuarterWaveLength){ + if(z < m_EndQuarterWave){ // regular half-waves + unsigned int nhwave = (unsigned int)(z / lwc()->m_HalfWaveLength + 0.5); + const double zshift = lwc()->m_HalfWaveLength * nhwave; + z -= zshift; + const double straight_part = + (lwc()->m_QuarterWaveLength - lwc()->m_FanFoldRadius * sin_a) / cos_a; + nhwave &= 1U; + if(nhwave == 0) sin_a = - sin_a; + const double z_prime = z * cos_a + x * sin_a; + if(z_prime > straight_part){ // up fold + const double x_prime = x * cos_a - z * sin_a; + const double dz = straight_part - z_prime; + double a1 = atan(fabs(dz / (x_prime + lwc()->m_FanFoldRadius))); + const double x1 = lwc()->m_FanFoldRadius * (cos(a1) - 1.); + const double z1 = straight_part + lwc()->m_FanFoldRadius * sin(a1); + result.set(x1*cos_a - z1*sin_a, y, z1*cos_a + z1*sin_a); + return result; + } else if(z_prime > -straight_part){ // straight part + result.set(-z_prime * sin_a, y, z_prime*cos_a + zshift); + return result; + } else { // low fold + const double x_prime = x * cos_a - z * sin_a; + const double dz = straight_part + z_prime; + double a1 = atan(fabs(dz / (x_prime + lwc()->m_FanFoldRadius))); + const double x1 = lwc()->m_FanFoldRadius * (cos(a1) - 1.); + const double z1 = straight_part + lwc()->m_FanFoldRadius * sin(a1); + result.set(x1*cos_a - z1*sin_a, y, z1*cos_a + z1*sin_a); + return result; + } + } else { // ending quarter-wave + z = lwc()->m_ActiveLength - z; + } + } else { // starting quarter-wave + x = - x; + sqw = true; + } + + // start and finish quarter-waves + const double tan_beta = sin_a / (1.0 + cos_a); + const double local_straight_section = lwc()->m_FanFoldRadius * tan_beta; + if(z < - local_straight_section && + (x < lwc()->m_FanFoldRadius || + x < - lwc()->m_StraightStartSection * z / local_straight_section / tan_beta)) + { + result.set(0., y, z); + } + else { + const double z_prime = z * cos_a + x * sin_a; + const double x_prime = x * cos_a - z * sin_a; + if(z_prime < local_straight_section) { + double a = fabs(atan((local_straight_section - z_prime) / (x_prime - lwc()->m_FanFoldRadius))); + result.set(lwc()->m_FanFoldRadius * (1 - cos(a)), y, local_straight_section - lwc()->m_FanFoldRadius * sin(a)); + } else { + double straight_part = (lwc()->m_QuarterWaveLength - lwc()->m_FanFoldRadius * sin_a) / cos_a; + if(z_prime <= straight_part) { + result.set(0., y, z_prime); + } else { + double a = fabs(atan((straight_part - z_prime) / (x_prime + lwc()->m_FanFoldRadius)) ); + result.set(lwc()->m_FanFoldRadius * (cos(a) - 1), y, straight_part + lwc()->m_FanFoldRadius * sin(a)); + } + } + result.rotateY(asin(sin_a)); + } + if(sqw) result.setX(-result.x()); + else result.setZ(lwc()->m_ActiveLength - result.z()); + result.setZ(result.z() + lwc()->m_StraightStartSection); + return result; + } + + /* + input is in local fan's coordinate system + side: < 0 - lower phi + > 0 - greater phi + = 0 - neutral fibre + */ + double DistanceCalculatorSaggingOff::AmplitudeOfSurface(const CLHEP::Hep3Vector& P, int side, int /*fan_number*/) const + { + double result = 0.; + double rho = lwc()->m_FanFoldRadius; + double z = P.z() - lwc()->m_StraightStartSection; + +#ifdef LWC_PARAM_ANGLE //old variant + const double alpha = lwc()->parameterized_slant_angle(P.y()); + //double cos_a, sin_a; + //::sincos(alpha, &sin_a, &cos_a); + CxxUtils::sincos scalpha(alpha); + const double cos_a = scalpha.cs, sin_a = scalpha.sn; + // parameterized sine +#else + double cos_a, sin_a; + lwc()->parameterized_sincos(P.y(), sin_a, cos_a); +#endif + + // determination of the nearest quarter-wave number + int nqwave; + if(z < 0.) nqwave = 0; + else nqwave = int(z / lwc()->m_QuarterWaveLength); + bool begin_qw = false; + if((nqwave % 2) != 0){ + nqwave ++; + begin_qw = true; + } + nqwave /= 2; + // now nqwave is not the number of quarter-wave but the number of half-wave + // half-waves with last and zero numbers are not really half-waves but start + // and finish quarter-waves + // It means that half-wave number 1 begins after starting quarter-wave + if(nqwave != 0 && nqwave != lwc()->m_NumberOfHalfWaves){ // regular half-waves + z -= nqwave * lwc()->m_HalfWaveLength; + if(begin_qw) z = -z; + double dz = lwc()->m_QuarterWaveLength - z; + + int local_side = 1; + if((nqwave % 2) == 0){ + if(begin_qw) local_side = -1; + } else { + if(!begin_qw) local_side = -1; + } + + rho += lwc()->m_FanHalfThickness * local_side * side; + + if(dz >= rho * sin_a){ + result = z * sin_a / cos_a; // straight part of the quarter-wave + } else { // fold region + result = (lwc()->m_QuarterWaveLength * sin_a - rho) / cos_a + + sqrt(rho * rho - dz * dz); + } + result *= -local_side; + if(side < 0) result += lwc()->m_FanHalfThickness / cos_a; + else if(side > 0) result -= lwc()->m_FanHalfThickness / cos_a; + + } else { // start and finish quarter-waves + int local_side = 1; + if(nqwave == 0) { // start quarter-wave + local_side = -1; + } else { // finish quarter-wave + z = lwc()->m_ActiveLength - z; + } + + const double rho1i = lwc()->m_FanFoldRadius; + const double tan_beta = sin_a/(1.0+cos_a); //tan(alpha * 0.5); + const double min_local_fold_region = rho1i * tan_beta; + + if(z <= - min_local_fold_region){ + result = - side * lwc()->m_FanHalfThickness; + } else { + const double rho1 = rho1i + lwc()->m_FanHalfThickness * side * local_side; + + const double max_local_fold_region = rho1 * sin_a - min_local_fold_region; + //const double max_local_fold_region = rho1 * tan_beta * (1. + cos_a) - min_local_fold_region; + if(z < max_local_fold_region){ // start fold region + z += min_local_fold_region; + result = rho1 - sqrt(rho1 * rho1 - z * z); + if(nqwave == 0) result = -result; + if(side < 0) result += lwc()->m_FanHalfThickness; + else if(side > 0) result -= lwc()->m_FanHalfThickness; + } else { + rho -= lwc()->m_FanHalfThickness * local_side * side; + const double dz = lwc()->m_QuarterWaveLength - z; + if(dz >= rho * sin_a){ + result = z * sin_a / cos_a; // straight part of the quarter-wave + } else { // regular fold region + result = (lwc()->m_QuarterWaveLength * sin_a - rho) / cos_a + + sqrt(rho * rho - dz * dz); + } + if(nqwave == 0) result = -result; + if(side < 0) result += lwc()->m_FanHalfThickness / cos_a; + else if(side > 0) result -= lwc()->m_FanHalfThickness / cos_a; + } + } + } + return result; + } + +} diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.h new file mode 100644 index 0000000..a09257e --- /dev/null +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.h @@ -0,0 +1,53 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef __LArWheelCalculator_Impl_DistanceCalculatorSaggingOff_H__ +#define __LArWheelCalculator_Impl_DistanceCalculatorSaggingOff_H__ + + +#include "IDistanceCalculator.h" +//#include "RDBAccessSvc/IRDBAccessSvc.h" +//#include "GeoModelUtilities/DecodeVersionKey.h" + +class LArWheelCalculator; + +namespace LArWheelCalculator_Impl +{ + + /// @class DistanceCalculatorSaggingOff + /// @brief Implements details of distance calculation to parts of the + /// LAr endcap without sagging corrections. + /// + class DistanceCalculatorSaggingOff : public IDistanceCalculator + { + + public: + + /// Constructor + DistanceCalculatorSaggingOff(LArWheelCalculator* lwc/*, + IRDBAccessSvc* rdbAccess, + const DecodeVersionKey& larVersionKey*/); + + /// @name Geometry methods + /// @{ + virtual double DistanceToTheNeutralFibre(const CLHEP::Hep3Vector &p, int fan_number) const; + virtual double DistanceToTheNeutralFibre_ref(const CLHEP::Hep3Vector &p, int fan_number) const; + virtual CLHEP::Hep3Vector NearestPointOnNeutralFibre(const CLHEP::Hep3Vector &p, int fan_number) const; + virtual CLHEP::Hep3Vector NearestPointOnNeutralFibre_ref(const CLHEP::Hep3Vector &p, int fan_number) const; + virtual double AmplitudeOfSurface(const CLHEP::Hep3Vector& P, int side, int fan_number) const; + /// @} + + /// Return the calculator: + inline const LArWheelCalculator *lwc() const { return m_lwc; }; + + private: + + LArWheelCalculator* m_lwc; + double m_EndQuarterWave; + + }; + +} + +#endif // __LArWheelCalculator_Impl_IDistanceCalculatorOff_H__ diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx new file mode 100644 index 0000000..03c6692 --- /dev/null +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx @@ -0,0 +1,180 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +//#include "GaudiKernel/ISvcLocator.h" +//#include "GaudiKernel/Bootstrap.h" +//#include "GaudiKernel/MsgStream.h" + +#include "DistanceCalculatorSaggingOn.h" +#include "CLHEP/Vector/ThreeVector.h" + +#include <vector> +#include <stdexcept> + +#include "GeoSpecialShapes/LArWheelCalculator.h" + +//#include "AthenaKernel/Units.h" +//using Athena::Units::mm; + +// Physical constants +#include "GeoModelKernel/Units.h" +#define SYSTEM_OF_UNITS GeoModelKernelUnits + + +namespace LArWheelCalculator_Impl +{ + DistanceCalculatorSaggingOn::DistanceCalculatorSaggingOn(const std::string& saggingOptions, + LArWheelCalculator* lwc/*, + IRDBAccessSvc* rdbAccess, + const DecodeVersionKey& larVersionKey*/) + //: parent(lwc, rdbAccess, larVersionKey), + : parent(lwc), + m_saggingOptions(saggingOptions) + { + // load sagging parameters + /*RDBParamReader rdbr(rdbAccess); + rdbr. + data( "EmecMagicNumbers", larVersionKey.tag(), larVersionKey.node() ). + fallback_to( "EmecMagicNumbers","EMECMagigNumbers-00" ). + param(lwc()->m_ActiveLength, "ACTIVELENGTH", mm). + param(lwc()->m_dWRPtoFrontFace, "REFTOACTIVE", mm). + param(lwc()->m_StraightStartSection, "STRAIGHTSTARTSECTION", mm) + ;*/ + init_sagging_parameters(); + } + + void DistanceCalculatorSaggingOn::init_sagging_parameters() + { + // Get pointer to the message service + //ISvcLocator* svcLocator = Gaudi::svcLocator(); + //IMessageSvc* msgSvc; + //StatusCode status = svcLocator->service("MessageSvc", msgSvc); + //if(status.isFailure()){ + // throw std::runtime_error("LArWheelCalculator constructor: \ + // cannot initialze message service"); + //} + //MsgStream msg(msgSvc, "LArWheelCalculator_Impl::DistanceCalculatorSaggingOn"); + + std::string sagging_opt_value = m_saggingOptions; + m_sagging_parameter.resize (lwc()->m_NumberOfFans, std::vector<double> (5, 0.)); + // if(m_SaggingOn) { + if(sagging_opt_value.substr(0, 4) == "file"){ + std::string sag_file = sagging_opt_value.substr(5); + //msg << MSG::DEBUG + // << "geting sagging parameters from file " + // << sag_file << " ..." << endmsg; + FILE *F = fopen(sag_file.c_str(), "r"); + if(F == 0){ + // msg << MSG::FATAL + // << "cannot open EMEC sagging parameters file " + // << sag_file + // << endmsg; + throw std::runtime_error("LArWheelCalculator: read sagging parameters from file"); + } + int s, w, t, n; + double p0, p1, p2, p3, p4; + while(!feof(F) && + fscanf(F, "%80d %80d %80d %80d %80le %80le %80le %80le %80le", + &s, &w, &t, &n, &p0, &p1, &p2, &p3, &p4) == 9) + { + if(s == lwc()->m_AtlasZside && + ((w == 0 && lwc()->m_isInner) || (w == 1 && !lwc()->m_isInner)) && + ((t == 0 && !lwc()->m_isElectrode) || (t == 1 && lwc()->m_isElectrode)) && + (n >= 0 && n < lwc()->m_NumberOfFans)) + { + m_sagging_parameter[n][0] = p0; + m_sagging_parameter[n][1] = p1; + m_sagging_parameter[n][2] = p2; + m_sagging_parameter[n][3] = p3; + m_sagging_parameter[n][4] = p4; + //msg << MSG::VERBOSE + // << "sagging for " << s << " " << w << " " << t + // << " " << n << ": " << p0 << " " << p1 << " " + // << p2 << " " << p3 << endmsg; + } + } + fclose(F); + } else { + double a, b, c, d; + if(sscanf(sagging_opt_value.c_str(), "%80le %80le %80le %80le", &a, &b, &c, &d) != 4){ + //msg << MSG::ERROR + // << "wrong value(s) " + // << " for EMEC sagging parameters: " + // << sagging_opt_value << ", defaults are used" << endmsg; + } else { + for(int j = 0; j < lwc()->m_NumberOfFans; j ++){ + if(lwc()->m_isInner){ + m_sagging_parameter[j][1] = a; + m_sagging_parameter[j][0] = b * SYSTEM_OF_UNITS::mm; + } else { + m_sagging_parameter[j][1] = c; + m_sagging_parameter[j][0] = d * SYSTEM_OF_UNITS::mm; + } + } + } + } + // } + //msg << MSG::INFO << "Sagging parameters : " << m_sagging_parameter[0][0] << " " << m_sagging_parameter[0][1] << std::endl + // << "Sagging parameters : " << m_sagging_parameter[1][0] << " " << m_sagging_parameter[1][1] << endmsg; + } + + // Represents aproximate, probably underestimate, distance to the + // neutral fibre of the vertical fan. Sign of return value means + // side of the fan; negative - lower phi. + // + // Uses m_fan_number to compute sagging. + double DistanceCalculatorSaggingOn::DistanceToTheNeutralFibre(const CLHEP::Hep3Vector &p, int fan_number) const { + CLHEP::Hep3Vector sagging_corrected( p.x()+get_sagging(p, fan_number), p.y(), p.z() ); + return parent::DistanceToTheNeutralFibre(sagging_corrected, fan_number); + } + + CLHEP::Hep3Vector DistanceCalculatorSaggingOn::NearestPointOnNeutralFibre(const CLHEP::Hep3Vector &p, int fan_number) const { + CLHEP::Hep3Vector sagging_corrected( p.x()+get_sagging(p, fan_number), p.y(), p.z() ); + return parent::NearestPointOnNeutralFibre(sagging_corrected, fan_number); + } + + double DistanceCalculatorSaggingOn::AmplitudeOfSurface(const CLHEP::Hep3Vector& p, int side, int fan_number) const { + return parent::AmplitudeOfSurface(p, side, fan_number) - get_sagging(p, fan_number); + } + + + // the function uses m_fan_number for phi-dependent sagging computation + double DistanceCalculatorSaggingOn::get_sagging(const CLHEP::Hep3Vector &P, int fan_number) const { +#ifdef HARDDEBUG + std::cout << "get_sagging: MFN = " << fan_number << std::endl; +#endif + double dx = P.z() / lwc()->m_HalfWheelThickness - 1.; + dx *= dx; + dx = 1. - dx; + //dx *= SaggingAmplitude * sin(FanStepOnPhi * m_fan_number + ZeroFanPhi); + //int n = m_fan_number; + //if(n < 0) n += m_NumberOfFans; + //n += m_ZeroGapNumber; + //if(n >= m_NumberOfFans) n -= m_NumberOfFans; + //const std::vector<double>& sp = m_sagging_parameter[n]; + const std::vector<double>& sp = m_sagging_parameter[fan_number]; + double R = P.r() / SYSTEM_OF_UNITS::mm; + double r = R; + double result = sp[0]; + result += R * sp[1]; + R *= r; + result += R * sp[2]; + R *= r; + result += R * sp[3]; + R *= r; + result += R * sp[4]; + +#ifdef HARDDEBUG + /*printf("get_sagging: (%6.3f, %6.3f, %6.3f) %6.3f; MFN %4d;" + "n %3d; sp %6.4f %6.4f; dx %6.3f; %.6f\n", P.x()/mm, P.y()/mm, P.z()/mm, + r, m_fan_number, n, sp[0], sp[1], dx, result*dx);*/ + printf("get_sagging: (%6.3f, %6.3f, %6.3f) %6.3f;" + " sp %6.4f %6.4f; dx %6.3f; %.6f\n", P.x()/ SYSTEM_OF_UNITS::mm, P.y()/ SYSTEM_OF_UNITS::mm, P.z()/ SYSTEM_OF_UNITS::mm, + r, sp[0], sp[1], dx, result*dx); +#endif //HARDDEBUG + + return result * dx; + } + +} diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.h new file mode 100644 index 0000000..e10c79d --- /dev/null +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.h @@ -0,0 +1,52 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef __LArWheelCalculator_Impl_DistanceCalculatorSaggingOn_H__ +#define __LArWheelCalculator_Impl_DistanceCalculatorSaggingOn_H__ + +#include "DistanceCalculatorSaggingOff.h" +#include <vector> + +class LArWheelCalculator; + +namespace LArWheelCalculator_Impl +{ + + /// @class DistanceCalculatorSaggingOn + /// @brief Implements details of distance calculation to parts of the + /// LAr endcap with sagging taken into account. + /// + class DistanceCalculatorSaggingOn : public DistanceCalculatorSaggingOff + { + + public: + + typedef DistanceCalculatorSaggingOff parent; + + /// Constructor + DistanceCalculatorSaggingOn(const std::string& saggingOptions, + LArWheelCalculator* lwc/*, + IRDBAccessSvc* rdbAccess, + const DecodeVersionKey & larVersionKey*/); + + /// @name Geometry methods + /// @{ + virtual double DistanceToTheNeutralFibre(const CLHEP::Hep3Vector &p, int fan_number) const; + virtual CLHEP::Hep3Vector NearestPointOnNeutralFibre(const CLHEP::Hep3Vector &p, int fan_number) const; + virtual double AmplitudeOfSurface(const CLHEP::Hep3Vector& P, int side, int fan_number) const; + /// @} + + private: + + double get_sagging(const CLHEP::Hep3Vector &P, int fan_number) const; + void init_sagging_parameters(); + + std::vector<std::vector<double> > m_sagging_parameter; + std::string m_saggingOptions; + + }; + +} + +#endif // __LArWheelCalculator_Impl_IDistanceCalculatorOn_H__ diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx b/GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx new file mode 100644 index 0000000..0fb27ac --- /dev/null +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx @@ -0,0 +1,28 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + + +#include "FanCalculatorFactory.h" +#include "ModuleFanCalculator.h" +#include "WheelFanCalculator.h" + +namespace LArWheelCalculator_Impl +{ + + IFanCalculator* FanCalculatorFactory::Create(bool isSaggingOn, bool isModule, + LArWheelCalculator* lwc/*, + IRDBAccessSvc* rdbAccess, + const DecodeVersionKey& larVersionKey*/) + { + if (isModule) { + return new ModuleFanCalculator(lwc/*, rdbAccess, larVersionKey*/); + } + if (isSaggingOn) { + return new WheelFanCalculator<SaggingOn_t>(lwc/*, rdbAccess, larVersionKey*/); + } else { + return new WheelFanCalculator<SaggingOff_t>(lwc/*, rdbAccess, larVersionKey*/); + } + } + +} diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.h new file mode 100644 index 0000000..79b207f --- /dev/null +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.h @@ -0,0 +1,34 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef __LArWheelCalculator_Impl_FanCalculatorFactory_H__ +#define __LArWheelCalculator_Impl_FanCalculatorFactory_H__ + + +#include "IFanCalculator.h" +//#include "RDBAccessSvc/IRDBAccessSvc.h" +//#include "GeoModelUtilities/DecodeVersionKey.h" + +class LArWheelCalculator; + +namespace LArWheelCalculator_Impl +{ + + /// @class FanCalculatorFactory + /// @brief A factory for FanCalculators + /// + /// Calculator creation depends on sagging mode and wheel/module calo. + /// + class FanCalculatorFactory + { + public: + static IFanCalculator* Create(bool isSaggingOn, bool isModule, + LArWheelCalculator* lwc/*, + IRDBAccessSvc* rdbAccess, + const DecodeVersionKey & larVersionKey*/); + }; + +} + +#endif // __LArWheelCalculator_Impl_FanCalculatorFactory_H__ diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/IDistanceCalculator.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/IDistanceCalculator.h new file mode 100644 index 0000000..d45f474 --- /dev/null +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/IDistanceCalculator.h @@ -0,0 +1,44 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef __LArWheelCalculator_Impl_IDistanceCalculator_H__ +#define __LArWheelCalculator_Impl_IDistanceCalculator_H__ + + +#include "CLHEP/Vector/ThreeVector.h" + +namespace LArWheelCalculator_Impl +{ + + /// @class IDistanceCalculator + /// Abstract interface for calculator classes that handle distance + /// calculation to parts of the LAr endcap. + /// + class IDistanceCalculator + { + + public: + + /// Virtual destructor + virtual ~IDistanceCalculator() {}; + + /// @name Geometry methods + /// @{ + + virtual double DistanceToTheNeutralFibre(const CLHEP::Hep3Vector &p, + int fan_number) const = 0; + + virtual CLHEP::Hep3Vector NearestPointOnNeutralFibre(const CLHEP::Hep3Vector &p, + int fan_number) const = 0; + + virtual double AmplitudeOfSurface(const CLHEP::Hep3Vector& p, int side, + int fan_number) const = 0; + + /// @} + + }; + +} + +#endif // __LArWheelCalculator_Impl_IDistanceCalculator_H__ diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/IFanCalculator.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/IFanCalculator.h new file mode 100644 index 0000000..4cd70f9 --- /dev/null +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/IFanCalculator.h @@ -0,0 +1,42 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef __LArWheelCalculator_Impl_IFanCalculator_H__ +#define __LArWheelCalculator_Impl_IFanCalculator_H__ + + +#include "CLHEP/Vector/ThreeVector.h" + +namespace LArWheelCalculator_Impl +{ + + /// @class IFanCalculator + /// Abstract interface for fan calculator classes that handle distance + /// calculation to parts of the LAr endcap. + /// + class IFanCalculator + { + + public: + + /// Virtual destructor + virtual ~IFanCalculator() {}; + + /// @name Geometry methods + /// @{ + + virtual double DistanceToTheNearestFan(CLHEP::Hep3Vector &p, + int & out_fan_number) const = 0; + + virtual int PhiGapNumberForWheel(int i) const = 0; + + virtual std::pair<int, int> GetPhiGapAndSide(const CLHEP::Hep3Vector &p) const = 0; + + /// @} + + }; + +} + +#endif // __LArWheelCalculator_Impl_IFanCalculator_H__ diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx b/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx new file mode 100644 index 0000000..04f19f6 --- /dev/null +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx @@ -0,0 +1,112 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#include "ModuleFanCalculator.h" + +#include "GeoSpecialShapes/LArWheelCalculator.h" + +//#include "GaudiKernel/PhysicalConstants.h" +//using namespace Gaudi::Units; +// Physical constants +#include "GeoModelKernel/Units.h" +#define SYSTEM_OF_UNITS GeoModelKernelUnits + +#ifdef HARDDEBUG +#undef HARDDEBUG +#endif + +namespace LArWheelCalculator_Impl +{ + + //ModuleFanCalculator::ModuleFanCalculator(LArWheelCalculator* lwc, + // IRDBAccessSvc* /*rdbAccess*/, + // const DecodeVersionKey & /*larVersionKey*/) + ModuleFanCalculator::ModuleFanCalculator(LArWheelCalculator* lwc) + : m_lwc(lwc) + { + } + + double ModuleFanCalculator::DistanceToTheNearestFan(CLHEP::Hep3Vector &p, int & out_fan_number) const + { + int fan_number = int((p.phi() - SYSTEM_OF_UNITS::halfpi - lwc()->m_ZeroFanPhi_ForDetNeaFan) / lwc()->m_FanStepOnPhi); + double angle = lwc()->m_FanStepOnPhi * fan_number + lwc()->m_ZeroFanPhi_ForDetNeaFan; +#ifdef HARDDEBUG + printf("DistanceToTheNearestFan: initial FN %4d\n", fan_number); +#endif + p.rotateZ(-angle); + // determine search direction + double d0 = lwc()->DistanceToTheNeutralFibre(p, lwc()->adjust_fan_number(fan_number)); + double d1 = d0; + int delta = 1; + if(d0 < 0.) delta = -1; // search direction has been determined + angle = - lwc()->m_FanStepOnPhi * delta; + do { // search: + p.rotateZ(angle); + fan_number += delta; + d1 = lwc()->DistanceToTheNeutralFibre(p, lwc()->adjust_fan_number(fan_number)); + } while(d0 * d1 > 0.); + // if signs of d1 and d0 are different, the point is between current pair + if(delta > 0) fan_number --; + + int adj_fan_number = fan_number; + if(adj_fan_number < lwc()->m_FirstFan) { + p.rotateZ((adj_fan_number - lwc()->m_FirstFan) * lwc()->m_FanStepOnPhi); + adj_fan_number = lwc()->m_FirstFan; + } else if(adj_fan_number >= lwc()->m_LastFan) { + p.rotateZ((adj_fan_number - lwc()->m_LastFan + 1) * lwc()->m_FanStepOnPhi); + adj_fan_number = lwc()->m_LastFan - 1; + } + + p.rotateZ(-0.5 * angle); + out_fan_number = adj_fan_number; + return lwc()->DistanceToTheNeutralFibre(p, adj_fan_number); + } + + int ModuleFanCalculator::PhiGapNumberForWheel(int i) const { + i += lwc()->m_ZeroGapNumber; + i -= lwc()->m_LastFan / 2; + if(i < 0) i += lwc()->m_NumberOfFans; + if(i >= lwc()->m_NumberOfFans) i -= lwc()->m_NumberOfFans; + return i; + } + + std::pair<int, int> ModuleFanCalculator::GetPhiGapAndSide(const CLHEP::Hep3Vector &p) const + { + // Note: this object was changed from static to local for thread-safety. + // If this is found to be too costly we can re-evaluate. + CLHEP::Hep3Vector p1 = p; + + int fan_number = int((p.phi() - SYSTEM_OF_UNITS::halfpi - lwc()->m_ZeroFanPhi) / lwc()->m_FanStepOnPhi); + + double angle = lwc()->m_FanStepOnPhi * fan_number + lwc()->m_ZeroFanPhi; + p1.rotateZ(-angle); + + double d0 = lwc()->DistanceToTheNeutralFibre(p1, lwc()->adjust_fan_number(fan_number)); + double d1 = d0; + + int delta = 1; + if(d0 < 0.) delta = -1; + angle = - lwc()->m_FanStepOnPhi * delta; + do { + p1.rotateZ(angle); + fan_number += delta; + d1 = lwc()->DistanceToTheNeutralFibre(p1, lwc()->adjust_fan_number(fan_number)); + } while(d0 * d1 > 0.); + if(delta > 0) fan_number --; + if(!lwc()->m_isElectrode) fan_number ++; + + int adj_fan_number = fan_number; + if(adj_fan_number < lwc()->m_FirstFan) adj_fan_number = lwc()->m_FirstFan - 1; + else if(adj_fan_number > lwc()->m_LastFan) adj_fan_number = lwc()->m_LastFan; + + p1.rotateZ(-0.5 * angle); + double dd = lwc()->DistanceToTheNeutralFibre(p1, adj_fan_number); + int side = dd < 0.? -1: 1; +#ifdef HARDDEBUG + printf("GetPhiGapAndSide: MFN %4d\n", adj_fan_number); +#endif + return std::pair<int, int>(adj_fan_number, side); + } + +} diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.h new file mode 100644 index 0000000..327c70c --- /dev/null +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.h @@ -0,0 +1,39 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef __LArWheelCalculator_Impl_ModuleFanCalculator_H__ +#define __LArWheelCalculator_Impl_ModuleFanCalculator_H__ + +#include "IFanCalculator.h" +//#include "RDBAccessSvc/IRDBAccessSvc.h" +//#include "GeoModelUtilities/DecodeVersionKey.h" + +class LArWheelCalculator; + +namespace LArWheelCalculator_Impl +{ + + /// This is an interface of distance calculation to parts of the LAr endcap. + class ModuleFanCalculator : public IFanCalculator + { + public: + ModuleFanCalculator(LArWheelCalculator* lwc/*, + IRDBAccessSvc* rdbAccess, + const DecodeVersionKey & larVersionKey*/); + + // geometry methods: + virtual double DistanceToTheNearestFan(CLHEP::Hep3Vector &p, int & out_fan_number) const; + virtual int PhiGapNumberForWheel(int i) const; + virtual std::pair<int, int> GetPhiGapAndSide(const CLHEP::Hep3Vector &p) const; + + inline const LArWheelCalculator *lwc() const { return m_lwc; }; + + private: + LArWheelCalculator* m_lwc; + + }; + +} + +#endif // __LArWheelCalculator_Impl_ModuleFanCalculator_H__ diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/WheelFanCalculator.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/WheelFanCalculator.h new file mode 100644 index 0000000..98632d2 --- /dev/null +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/WheelFanCalculator.h @@ -0,0 +1,273 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef LARWHEELCALCULATOR_IMPL_WHEELFANCALCULATOR_H +#define LARWHEELCALCULATOR_IMPL_WHEELFANCALCULATOR_H + +#include "IFanCalculator.h" +//#include "RDBAccessSvc/IRDBAccessSvc.h" +//#include "GeoModelUtilities/DecodeVersionKey.h" +#include "GeoSpecialShapes/LArWheelCalculator.h" + +//#include "GaudiKernel/PhysicalConstants.h" +// Physical constants +#include "GeoModelKernel/Units.h" +#define SYSTEM_OF_UNITS GeoModelKernelUnits + +#ifdef HARDDEBUG +#undef HARDDEBUG +#endif + +namespace LArWheelCalculator_Impl +{ + + // mode marker classes + class SaggingOn_t {}; + class SaggingOff_t {}; + + template <typename SaggingType> + class DistanceToTheNeutralFibre_OfFan {}; + + template<> + class DistanceToTheNeutralFibre_OfFan<SaggingOn_t> + { + public: + static inline double calculate(const LArWheelCalculator* lwc, int fan_number, CLHEP::Hep3Vector &p) { + //lwc->set_m_fan_number(fan_number); + return lwc->DistanceToTheNeutralFibre(p, lwc->adjust_fan_number(fan_number)); + } + }; + + template<> class DistanceToTheNeutralFibre_OfFan<SaggingOff_t> + { + public: + static inline double calculate(const LArWheelCalculator* lwc, int /*fan_number*/, CLHEP::Hep3Vector &p) { + // saggingOff distance calculations does not use fan_number, use arbitrary recognisible magic number + return lwc->DistanceToTheNeutralFibre(p, -531135); + } + }; + + enum FanSearchDirection_t { + FORWARD = 1, // delta = 1 + BACKWARD = -1 // delta = -1 + }; + + + template <typename SaggingType, FanSearchDirection_t dir > + class StepFan {}; + + + template <FanSearchDirection_t dir > + class StepFan<SaggingOff_t, dir> + { + public: + static inline void next(int &/*fan_number*/) {} + static inline void adjust(int &/*fan_number*/) {} + }; + + + template <> + class StepFan<SaggingOn_t, FORWARD> + { + public: + static inline void next(int &fan_number) { + fan_number++; + } + static inline void adjust(int &fan_number) { + fan_number--; + } + }; + + template <> + class StepFan<SaggingOn_t, BACKWARD> + { + public: + static inline void next(int &fan_number) { + fan_number--; + } + static inline void adjust(int &/*fan_number*/) {} + }; + + template <FanSearchDirection_t dir> + class DoSearch {}; + + template <> + class DoSearch<FORWARD> + { + public: + template <typename T > + static inline bool pred(T val) { + return (val > 0.); + } + }; + + template <> + class DoSearch<BACKWARD> + { + public: + template <typename T > + static inline bool pred(T val) { + return (val < 0.); + } + }; + + /// @todo Needs documentation + template <typename SaggingType, FanSearchDirection_t dir, class NFDistance > + inline void rotate_to_nearest_fan(const LArWheelCalculator* lwc, int &fan_number, + const double angle, CLHEP::Hep3Vector &p) + { + p.rotateZ(angle); + StepFan<SaggingType, dir>::next(fan_number); + //fan_number += delta; + double d1 = NFDistance::calculate(lwc, fan_number, p); + + //while(d0 * d1 > 0.) -> dir*d1 > 0 -> FORWARD: d1 > 0., BACKWARD: d1 < 0. + + while ( DoSearch<dir>::pred(d1) ) { // search: + p.rotateZ(angle); + StepFan<SaggingType, dir>::next(fan_number); + //fan_number += delta; + + d1 = NFDistance::calculate(lwc, fan_number, p); + //lwc()->set_m_fan_number(fan_number); + //d1 = lwc()->DistanceToTheNeutralFibre(p); + + } + // if signs of d1 and d0 are different, the point is between current pair + StepFan<SaggingType, dir>::adjust(fan_number); + //if(delta > 0) fan_number --; + } + + + /// LAr wheel fan calculator, templated for sagging settings. + /// + template <typename SaggingType> + class WheelFanCalculator : public IFanCalculator + { + public: + //WheelFanCalculator(LArWheelCalculator* lwc, IRDBAccessSvc* /*rdbAccess*/, + // const DecodeVersionKey & /*larVersionKey*/) + WheelFanCalculator(LArWheelCalculator* lwc) + : m_lwc(lwc) + { + } + + /// @name Geometry methods + /// @{ + + virtual double DistanceToTheNearestFan(CLHEP::Hep3Vector &p, int & out_fan_number) const + { + //using Gaudi::Units::halfpi; + int fan_number = int((p.phi() - SYSTEM_OF_UNITS::halfpi - lwc()->m_ZeroFanPhi_ForDetNeaFan) / lwc()->m_FanStepOnPhi); + const double angle = lwc()->m_FanStepOnPhi * fan_number + lwc()->m_ZeroFanPhi_ForDetNeaFan; +#ifdef HARDDEBUG + printf("DistanceToTheNearestFan: initial FN %4d\n", fan_number); +#endif + p.rotateZ(-angle); + // determine search direction + typedef DistanceToTheNeutralFibre_OfFan<SaggingType> NFDistance; + + const double d0 = NFDistance::calculate(lwc(), fan_number, p); + //lwc()->set_m_fan_number(fan_number); + //double d0 = lwc()->DistanceToTheNeutralFibre(p); + + const int delta = (d0 < 0.) ? -1 : 1; + //int delta = 1; // delta = signof(d0) + //if(d0 < 0.) delta = -1; // search direction has been determined + + const double step_angle = - lwc()->m_FanStepOnPhi * delta; + + if (delta > 0) { // forward search + rotate_to_nearest_fan< SaggingType, FORWARD, NFDistance >( lwc(), fan_number, step_angle, p); + } else { // backward search + rotate_to_nearest_fan< SaggingType, BACKWARD, NFDistance >( lwc(), fan_number, step_angle, p); + } + + /* + double d1 = d0; + do { // search: + p.rotateZ(angle); + fan_number += delta; + + d1 = NFDistance::calculate(lwc(), fan_number, p); + //lwc()->set_m_fan_number(fan_number); + //d1 = lwc()->DistanceToTheNeutralFibre(p); + +#ifdef HARDDEBUG + printf("DistanceToTheNearestFan: step FN %4d %4d\n", fan_number, lwc()->m_fan_number); +#endif + } while(d0 * d1 > 0.); + // if signs of d1 and d0 are different, the point is between current pair + if(delta > 0) fan_number --; + */ + + p.rotateZ(-0.5 * step_angle); +#ifdef HARDDEBUG + printf("DistanceToTheNearestFan: final FN %4d\n", fan_number); +#endif + + out_fan_number = lwc()->adjust_fan_number(fan_number); + return lwc()->DistanceToTheNeutralFibre(p, out_fan_number); + } + + virtual int PhiGapNumberForWheel(int i) const + { + return i; + } + + virtual std::pair<int, int> GetPhiGapAndSide(const CLHEP::Hep3Vector &p) const + { + //using Gaudi::Units::halfpi; + CLHEP::Hep3Vector p1 = p; + + int fan_number = int((p.phi() - SYSTEM_OF_UNITS::halfpi - lwc()->m_ZeroFanPhi) / lwc()->m_FanStepOnPhi); + const double angle = lwc()->m_FanStepOnPhi * fan_number + lwc()->m_ZeroFanPhi; + p1.rotateZ(-angle); + + typedef DistanceToTheNeutralFibre_OfFan<SaggingType> NFDistance; + + const double d0 = NFDistance::calculate(lwc(), fan_number, p1); + //lwc()->set_m_fan_number(fan_number); + //double d0 = lwc()->DistanceToTheNeutralFibre(p1); + + double d1 = d0; + + const int delta = (d0 < 0.) ? -1 : 1; + //int delta = 1; + //if(d0 < 0.) delta = -1; + const double step_angle = - lwc()->m_FanStepOnPhi * delta; + do { + p1.rotateZ(step_angle); + fan_number += delta; + d1 = NFDistance::calculate(lwc(), fan_number, p1); + //lwc()->set_m_fan_number(fan_number); + //d1 = lwc()->DistanceToTheNeutralFibre(p1); + } while(d0 * d1 > 0.); + + if(delta > 0) fan_number --; + if(!lwc()->m_isElectrode) fan_number ++; + + p1.rotateZ(-0.5 * step_angle); + + const int a_fan_number = lwc()->adjust_fan_number(fan_number); + double dd = lwc()->DistanceToTheNeutralFibre(p1, a_fan_number); + int side = dd < 0.? -1: 1; +#ifdef HARDDEBUG + printf("GetPhiGapAndSide: MFN %4d\n", a_fan_number); +#endif + return std::pair<int, int>(a_fan_number, side); + } + + /// @} + + inline const LArWheelCalculator *lwc() const { return m_lwc; }; + + private: + LArWheelCalculator* m_lwc; + + }; + +} + +#endif // LARWHEELCALCULATOR_IMPL_WHEELFANCALCULATOR_H diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx b/GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx new file mode 100644 index 0000000..7a97993 --- /dev/null +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx @@ -0,0 +1,247 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +#include "GeoSpecialShapes/LArWheelCalculator.h" +#include "GeoSpecialShapes/sincos.h" +//#include "CLHEP/Units/SystemOfUnits.h" + +/// TO DO : Dependencies from fROOT - gone +/// TO BE TESTED : RowVectorXd equivalent of TVectorD +/// MatrixXd equivalent of TMatrixD + +//#include "TMath.h" +//#include "TMatrixD.h" +//#include "TVectorD.h" +//#include "TMatrixDLazy.h" +//#include "TDecompLU.h" +//#include "TDecompSVD.h" + +#include <Eigen/Dense> +#include <vector> +#include <sys/time.h> +#include <iostream> +#include <iomanip> +#include <math.h> +#include <mutex> + +// Physical constants +#include "GeoModelKernel/Units.h" +#define SYSTEM_OF_UNITS GeoModelKernelUnits +#define DEBUGPRINT 0 + +using namespace Eigen; + +//template<typename T> +//std::ostream & operator << (std::ostream & ostr, const TVectorT<T> & v) +//{ +// std::ios_base::fmtflags save_flags(ostr.flags()); +// ostr << '['; +// ostr << std::scientific; +// for(int idx=v.GetLwb();idx<v.GetUpb();idx++) { +// ostr << v[idx] << ", "; +// } +// ostr << v[v.GetUpb()]; +// ostr << ']'; +// ostr.flags(save_flags); +// return ostr; +//} + + +// find best approximation of y values using linear combination of basis functions in bf + +//static std::vector<double> +static RowVectorXd +findLinearApproximation( + const int dataLen, const int nBasisFuntions, + const RowVectorXd &y, const MatrixXd & bf) +{ + //TMatrixDSym A(nBasisFuntions); + MatrixXd A (nBasisFuntions, nBasisFuntions); + //TVectorD vY(nBasisFuntions); + RowVectorXd vY(nBasisFuntions); + + for(int j = 0; j < nBasisFuntions; ++ j){ + for(int k = 0; k < nBasisFuntions; ++ k){ + double Ajk = 0.0; + for(int i = 0; i < dataLen; ++ i){ + Ajk += bf(j, i) * bf(k, i); + } + A(j, k) = Ajk; + } + } + + for(int k = 0; k < nBasisFuntions; ++ k){ + double vYk = 0.0; + for(int i = 0; i < dataLen; ++ i){ + vYk += y[i]*bf(k,i); + } + vY[k] = vYk; + } + + //TMatrixDSym Ainv(A); + MatrixXd Ainv(A); + //Ainv.Invert(); + Ainv.inverse(); + return Ainv*vY; +} + +void LArWheelCalculator::fill_sincos_parameterization() +{ + const int nrPolyDegree = LARWC_SINCOS_POLY; +#if LARWC_SINCOS_POLY > 4 && DEBUGPRINT + std::cout << "LARWC_SINCOS_POLY: " << LARWC_SINCOS_POLY << std::endl; +#endif + const int nBasisFunctions = nrPolyDegree + 1; + + // We compute the polynomial approximations once per side, and store them in + // the static variables below for reuse in successive calculator instances. + // For multi-threading, then, this code needs to be mutex locked. + // FIXME: this could done in a cleaner way. + static std::mutex fillParamMutex; + std::lock_guard<std::mutex> lock(fillParamMutex); + + static bool filled[2] = { false, false }; + static double sin_parametrization[2][nBasisFunctions]; + static double cos_parametrization[2][nBasisFunctions]; + + // Reuse the computation if already performed + size_t S = m_isInner? 0: 1; + if(filled[S]){ + for(int i = 0; i < nBasisFunctions; ++ i){ + m_sin_parametrization[i] = sin_parametrization[S][i]; + m_cos_parametrization[i] = cos_parametrization[S][i]; + } + return; + } + + //const Double_t Rmin = m_isInner? 290.*mm: 600.*mm; + //const Double_t Rmax = m_isInner? 710.*mm: 2050.*mm; + const double Rmin = m_isInner? 250.*SYSTEM_OF_UNITS::mm: 560.*SYSTEM_OF_UNITS::mm; + const double Rmax = m_isInner? 750.*SYSTEM_OF_UNITS::mm: 2090.*SYSTEM_OF_UNITS::mm; + //const Double_t Rmin = m_isInner? 220.*mm: 530.*mm; + //const Double_t Rmax = m_isInner? 780.*mm: 2120.*mm; + const double Rstep = 1.*SYSTEM_OF_UNITS::mm; + const int nrPoints = (Rmax - Rmin) * (1./Rstep); + const int dataLen = nrPoints + 1; + +// TVectorD x(dataLen); // angle points +// TVectorD ysin(dataLen); // to be approximated function values at angle points - sin +// TVectorD ycos(dataLen); // to be approximated function values at angle points - cos + RowVectorXd x(dataLen); // angle points + RowVectorXd ysin(dataLen); // to be approximated function values at angle points - sin + RowVectorXd ycos(dataLen); // to be approximated function values at angle points - cos + + //TMatrixD bf(nBasisFunctions, dataLen); // Matrix of values of basis functions at angle points + MatrixXd bf (nBasisFunctions, dataLen); + + for(int i = 0; i < dataLen; ++ i){ + const double a = Rmin + i * Rstep; + x[i] = a; + sincos scalpha(parameterized_slant_angle(a)); + ysin[i] = scalpha.sn; + ycos[i] = scalpha.cs; + for(int n = 0; n < nBasisFunctions; ++ n) { + bf(n, i) = pow(a, n); + } + } + + //std::vector<double> + RowVectorXd + params_sin = + findLinearApproximation(dataLen, nBasisFunctions, ysin, bf); + //std::vector<double> + RowVectorXd + params_cos = + findLinearApproximation(dataLen, nBasisFunctions, ycos, bf); + + for(int i = 0; i < nBasisFunctions; ++ i){ + m_sin_parametrization[i] = params_sin[i]; + m_cos_parametrization[i] = params_cos[i]; + sin_parametrization[S][i] = params_sin[i]; + cos_parametrization[S][i] = params_cos[i]; + } + + filled[S] = true; + + // FIXME: nothing below is needed unless debug printing + +#if DEBUGPRINT + std::cout << "sin params:" << params_sin << std::endl; + std::cout << "cos params:" << params_cos << std::endl; + + double dsinr = 0., dcosr = 0.; + double dtrigr = 0; +#endif + + double dsin = 0., dcos = 0.; + double dtrig = 0.; + for(double r = Rmin + 40.; r < Rmax - 40.; r += Rstep / 10.){ + sincos scalpha(parameterized_slant_angle(r)); + double sin_a, cos_a; + parameterized_sincos(r, sin_a, cos_a); + double ds = fabs(scalpha.sn - sin_a); + if(ds > dsin){ + dsin = ds; +#if DEBUGPRINT + dsinr = r; +#endif + } + double dc = fabs(scalpha.cs - cos_a); + if(dc > dcos){ + dcos = dc; +#if DEBUGPRINT + dcosr = r; +#endif + } + double dt = fabs(sin_a*sin_a + cos_a*cos_a - 1.); + if(dt > dtrig){ + dtrig = dt; +#if DEBUGPRINT + dtrigr = r; +#endif + } + } + +#if DEBUGPRINT + std::cout << "Max. difference: " << std::endl + << "\tsin: " << dsin << " at " << dsinr << std::endl + << "\tcos: " << dcos << " at " << dcosr << std::endl + << "\tsin^2+cos^2: " << dtrig << " at " << dtrigr << std::endl; +#endif + +#ifdef HARDDEBUG + std::vector<double> y_test(dataLen); + const int nIter=10000; + std::cout << "Perfomance test started, " << nIter << " iterations" << std::endl; + + double y_testsin[dataLen]; + double y_testcos[dataLen]; + struct timeval tvsincos_start, tvsincos_stop; + gettimeofday(&tvsincos_start, 0); + for(int iIter=0;iIter<nIter;iIter++) { + for(int i=0;i<dataLen;i++) { + sincos(parameterized_slant_angle(x[i]), &y_testsin[i], &y_testcos[i]); + } + } + gettimeofday(&tvsincos_stop, 0); + double timeSinCos=(tvsincos_stop.tv_sec-tvsincos_start.tv_sec + 1E-6*(tvsincos_stop.tv_usec-tvsincos_start.tv_usec))/nIter; + + std::cout.unsetf ( std::ios::fixed | std::ios::scientific ); + std::cout << "Time to fill 2x" << dataLen << " elements using sincos function: " << timeSinCos << std::endl; + + struct timeval tvpoly_start, tvpoly_stop; + gettimeofday(&tvpoly_start, 0); + for(int iIter=0;iIter<nIter;iIter++) { + for(int i=0;i<dataLen;i++) { + parameterized_sincos(x[i], y_testsin[i], y_testcos[i]); + } + } + gettimeofday(&tvpoly_stop, 0); + double timePoly=(tvpoly_stop.tv_sec - tvpoly_start.tv_sec + 1E-6*(tvpoly_stop.tv_usec - tvpoly_start.tv_usec))/nIter; + std::cout << "Time to fill 2x" << dataLen << " elements using approximation sin&cos: " << timePoly << std::endl; + std::cout.unsetf ( std::ios::fixed | std::ios::scientific ); + std::cout << "Approximation is " << timeSinCos/timePoly << " faster " << std::endl; +#endif + +} diff --git a/cmake/GeoModelIOPackaging.cmake b/cmake/GeoModelIOPackaging.cmake index 34a49ff..54f80a3 100644 --- a/cmake/GeoModelIOPackaging.cmake +++ b/cmake/GeoModelIOPackaging.cmake @@ -6,7 +6,7 @@ set( CPACK_PACKAGE_DESCRIPTION_SUMMARY set( CPACK_PACKAGE_DESCRIPTION "Geometry model I/O libraries" ) set( CPACK_PACKAGE_VERSION "${PROJECT_VERSION}" ) -set( CPACK_PACKAGE_CONTACT "atlas-sw-core@cern.ch" ) +set( CPACK_PACKAGE_CONTACT "geomodel-developers@cern.ch" ) # Set up the readme and license for the package. set( CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/LICENSE ) -- GitLab From 5f777ecce9dec9c95cc27f773dd0dc7332dd66b9 Mon Sep 17 00:00:00 2001 From: Riccardo Maria Bianchi <riccardo.maria.bianchi@cern.ch> Date: Thu, 6 Feb 2020 18:06:53 +0100 Subject: [PATCH 2/7] CI: add CLHEP dependency (temporary, for SpecialShapes) --- .gitlab-ci.yml | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f3b1587..835ed92 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,6 @@ stages: - dependencies + - dependencies-CLHEP - build before_script: @@ -20,14 +21,31 @@ geomodelcore-build: - cmake -DCMAKE_INSTALL_PREFIX=../install ../GeoModelCore - make -j$(nproc) - make install - artifacts: + artifacts: paths: - install - - + +# TODO: this is only needed by SpecialShapes +# Remove it when SpecialShapes will be migrated to another package +CLHEP-build: + stage: dependencies-CLHEP + script: + - pwd; ls + - git clone https://gitlab.cern.ch/CLHEP/CLHEP.git + - cd CLHEP + - git checkout CLHEP_2_4_1_0 + - cd ../ ; mkdir build_CLHEP + - cd build_CLHEP + - cmake -DCMAKE_INSTALL_PREFIX=../install ../CLHEP + - make -j$(nproc) + - make install + artifacts: + paths: + - install + .build_template: &build_template stage: build - tags: + tags: - cvmfs script: - echo "PWD; LS" -- GitLab From b74b0bc4ed739ad1157da37baaf5c90a11030535 Mon Sep 17 00:00:00 2001 From: Riccardo Maria Bianchi <riccardo.maria.bianchi@cern.ch> Date: Thu, 6 Feb 2020 18:07:41 +0100 Subject: [PATCH 3/7] SpecialShapes: fix crash from ROOT->Eigen conversion, plus add Read --- GeoModelRead/src/ReadGeoModel.cpp | 1 + GeoSpecialShapes/CMakeLists.txt | 4 ++-- GeoSpecialShapes/src/LArCustomShape.cxx | 9 ++++++++- .../src/LArWheelCalculator_Impl/sincos_poly.cxx | 16 +++++++++++----- 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/GeoModelRead/src/ReadGeoModel.cpp b/GeoModelRead/src/ReadGeoModel.cpp index ed97e24..e54753d 100644 --- a/GeoModelRead/src/ReadGeoModel.cpp +++ b/GeoModelRead/src/ReadGeoModel.cpp @@ -1383,6 +1383,7 @@ GeoShape* ReadGeoModel::buildShape(QString shapeId) QString varValue = vars[1]; if (varName == "name") name = varValue.toStdString(); } + return new LArCustomShape(name); } else { diff --git a/GeoSpecialShapes/CMakeLists.txt b/GeoSpecialShapes/CMakeLists.txt index 6b72d31..258e2f7 100644 --- a/GeoSpecialShapes/CMakeLists.txt +++ b/GeoSpecialShapes/CMakeLists.txt @@ -16,8 +16,8 @@ file( GLOB HEADERS GeoSpecialShapes/*.h src/LArWheelCalculator_Impl/*.h) # Set the library. add_library( GeoSpecialShapes SHARED ${HEADERS} ${SOURCES} ) -target_link_libraries( GeoSpecialShapes PUBLIC ${CLHEP_LIBRARIES} -PRIVATE GeoModelCore::GeoModelKernel ) +target_link_libraries( GeoSpecialShapes PUBLIC +PRIVATE GeoModelCore::GeoModelKernel ${CLHEP_LIBRARIES} ) target_include_directories( GeoSpecialShapes PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:include> ) diff --git a/GeoSpecialShapes/src/LArCustomShape.cxx b/GeoSpecialShapes/src/LArCustomShape.cxx index bf29bf8..86af121 100644 --- a/GeoSpecialShapes/src/LArCustomShape.cxx +++ b/GeoSpecialShapes/src/LArCustomShape.cxx @@ -100,6 +100,8 @@ LArCustomShape::LArCustomShape(const std::string& a_shapeName) //#endif // XAOD_STANDALONE { //#ifdef XAOD_STANDALONE + std::cout << "LArCustomShape::LArCustomShape()" << std::endl; + std::cout << "Constructor -- Creating the calculator..." << std::endl; if ( createCalculator( s_calculatorTypes.at(a_shapeName) ) == 1 ) { // map.at throws std::out_of_range exception on unknown shape name std::string error = std::string("Can't create LArWheelCalculator for name ") + a_shapeName + " in LArCustomShape constructor"; throw std::runtime_error(error); @@ -131,7 +133,10 @@ LArCustomShape::~LArCustomShape() //#if defined XAOD_STANDALONE int LArCustomShape::createCalculator(const CalcDef_t & cdef) { // LArG4::LArWheelCalculator_t wheelType, int zside - LArG4::LArWheelCalculator_t wheelType = cdef.first; + + std::cout << "LArCustomShape::createCalculator()" << std::endl; + + LArG4::LArWheelCalculator_t wheelType = cdef.first; int zside = cdef.second; m_calculator = new LArWheelCalculator(wheelType, zside); @@ -142,6 +147,8 @@ int LArCustomShape::createCalculator(const CalcDef_t & cdef) { // LArG4::LArWhee return 1; else return 0; + std::cout << "createCalculator() - done." << std::endl; + } //#else // XAOD_STANDALONE //StatusCode LArCustomShape::createCalculator(const CalcDef_t & cdef) { // LArG4::LArWheelCalculator_t wheelType, int zside diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx b/GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx index 7a97993..8708c0f 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx @@ -59,8 +59,8 @@ findLinearApproximation( //TMatrixDSym A(nBasisFuntions); MatrixXd A (nBasisFuntions, nBasisFuntions); //TVectorD vY(nBasisFuntions); - RowVectorXd vY(nBasisFuntions); - + VectorXd vY(nBasisFuntions); + for(int j = 0; j < nBasisFuntions; ++ j){ for(int k = 0; k < nBasisFuntions; ++ k){ double Ajk = 0.0; @@ -78,11 +78,17 @@ findLinearApproximation( } vY[k] = vYk; } - + //TMatrixDSym Ainv(A); MatrixXd Ainv(A); //Ainv.Invert(); Ainv.inverse(); + + // std::cout << "Ainv: " << std::endl; + // std::cout << Ainv << std::endl; + // std::cout << "vY: " << std::endl; + // std::cout << vY << std::endl; + return Ainv*vY; } @@ -124,14 +130,14 @@ void LArWheelCalculator::fill_sincos_parameterization() const double Rstep = 1.*SYSTEM_OF_UNITS::mm; const int nrPoints = (Rmax - Rmin) * (1./Rstep); const int dataLen = nrPoints + 1; - + // TVectorD x(dataLen); // angle points // TVectorD ysin(dataLen); // to be approximated function values at angle points - sin // TVectorD ycos(dataLen); // to be approximated function values at angle points - cos RowVectorXd x(dataLen); // angle points RowVectorXd ysin(dataLen); // to be approximated function values at angle points - sin RowVectorXd ycos(dataLen); // to be approximated function values at angle points - cos - + //TMatrixD bf(nBasisFunctions, dataLen); // Matrix of values of basis functions at angle points MatrixXd bf (nBasisFunctions, dataLen); -- GitLab From d7f1b6851ae1381dc7cca19e5992f57f8b128732 Mon Sep 17 00:00:00 2001 From: Marilena Bandieramonte <marilena.bandieramonte@cern.ch> Date: Thu, 6 Feb 2020 19:04:15 +0100 Subject: [PATCH 4/7] Fix values of constant parameters in LArWheelCalculator --- GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculator.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculator.h b/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculator.h index c89c87e..3a85bd8 100644 --- a/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculator.h +++ b/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculator.h @@ -151,10 +151,10 @@ class LArWheelCalculator const double m_dMechFocaltoWRP = 369.1 * SYSTEM_OF_UNITS::cm; //cm const double m_dElecFocaltoWRP = 368.9 * SYSTEM_OF_UNITS::cm; //cm const double m_rOuterCutoff = 203.4 * SYSTEM_OF_UNITS::cm; //cm - const double m_eta_hi = 3.2 * SYSTEM_OF_UNITS::cm; //cm 3.2 ----> (1 is 2.5) - const double m_eta_mid = 2.5 * SYSTEM_OF_UNITS::cm; //cm 2.5 ----> (1 is 1.375) - const double m_eta_low = 1.375 * SYSTEM_OF_UNITS::cm; //cm 2.5 ----> (1 is 1.375) - const double m_zShift = 4.5 * SYSTEM_OF_UNITS::cm; //cm + const double m_eta_hi = 3.2 ; + const double m_eta_mid = 2.5 ; + const double m_eta_low = 1.375; + const double m_zShift = 4 * SYSTEM_OF_UNITS::cm; //cm const double m_WheelThickness = m_ActiveLength + 2.*m_StraightStartSection; const double m_HalfWheelThickness = m_WheelThickness * 0.5; -- GitLab From 18c309d1afa30d263a7f7b374f8eab3612d204f0 Mon Sep 17 00:00:00 2001 From: Marilena Bandieramonte <marilena.bandieramonte@cern.ch> Date: Thu, 6 Feb 2020 19:49:52 +0100 Subject: [PATCH 5/7] Re-introduce CxxUtils namespace to fix the failure of the CI pipeline related to slc6 and cc7 builds --- GeoSpecialShapes/GeoSpecialShapes/sincos.h | 4 ++-- GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/GeoSpecialShapes/GeoSpecialShapes/sincos.h b/GeoSpecialShapes/GeoSpecialShapes/sincos.h index 4f51983..068400c 100644 --- a/GeoSpecialShapes/GeoSpecialShapes/sincos.h +++ b/GeoSpecialShapes/GeoSpecialShapes/sincos.h @@ -21,7 +21,7 @@ #include <cmath> -//namespace CxxUtils { +namespace CxxUtils { /** @@ -103,7 +103,7 @@ struct sincos }; -//} // namespace CxxUtils +} // namespace CxxUtils #endif //not SINCOS_H diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx b/GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx index 8708c0f..8d47d28 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx @@ -144,7 +144,7 @@ void LArWheelCalculator::fill_sincos_parameterization() for(int i = 0; i < dataLen; ++ i){ const double a = Rmin + i * Rstep; x[i] = a; - sincos scalpha(parameterized_slant_angle(a)); + CxxUtils::sincos scalpha(parameterized_slant_angle(a)); ysin[i] = scalpha.sn; ycos[i] = scalpha.cs; for(int n = 0; n < nBasisFunctions; ++ n) { @@ -183,7 +183,7 @@ void LArWheelCalculator::fill_sincos_parameterization() double dsin = 0., dcos = 0.; double dtrig = 0.; for(double r = Rmin + 40.; r < Rmax - 40.; r += Rstep / 10.){ - sincos scalpha(parameterized_slant_angle(r)); + CxxUtils::sincos scalpha(parameterized_slant_angle(r)); double sin_a, cos_a; parameterized_sincos(r, sin_a, cos_a); double ds = fabs(scalpha.sn - sin_a); -- GitLab From 36b8314a3a677e43e45de400327dd955366fd74b Mon Sep 17 00:00:00 2001 From: Marilena Bandieramonte <marilena.bandieramonte@cern.ch> Date: Fri, 7 Feb 2020 01:30:00 +0100 Subject: [PATCH 6/7] Remove CLHEP dependency --- GeoSpecialShapes/CMakeLists.txt | 2 +- .../GeoSpecialShapes/LArWheelCalculator.h | 17 +-- .../src/LArWheelCalculatorGeometry.cxx | 16 ++- .../DistanceCalculatorSaggingOff.cxx | 131 +++++++++++++----- .../DistanceCalculatorSaggingOff.h | 11 +- .../DistanceCalculatorSaggingOn.cxx | 19 +-- .../DistanceCalculatorSaggingOn.h | 9 +- .../IDistanceCalculator.h | 9 +- .../LArWheelCalculator_Impl/IFanCalculator.h | 7 +- .../ModuleFanCalculator.cxx | 44 ++++-- .../ModuleFanCalculator.h | 5 +- .../WheelFanCalculator.h | 43 +++--- 12 files changed, 205 insertions(+), 108 deletions(-) diff --git a/GeoSpecialShapes/CMakeLists.txt b/GeoSpecialShapes/CMakeLists.txt index 258e2f7..5811a69 100644 --- a/GeoSpecialShapes/CMakeLists.txt +++ b/GeoSpecialShapes/CMakeLists.txt @@ -5,7 +5,7 @@ # Package: GeoSpecialShapes ################################################################################ -find_package(CLHEP) +#find_package(CLHEP) # Use the GNU install directory names. include( GNUInstallDirs ) # it defines CMAKE_INSTALL_LIBDIR diff --git a/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculator.h b/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculator.h index 3a85bd8..bcbebd1 100644 --- a/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculator.h +++ b/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculator.h @@ -7,7 +7,8 @@ #include <vector> -#include "CLHEP/Vector/ThreeVector.h" +//#include "CLHEP/Vector/ThreeVector.h" +#include "GeoModelKernel/GeoDefinitions.h" //#ifndef XAOD_STANDALONE // #include "AthenaKernel/CLASS_DEF.h" //#endif // XAOD_STANDALONE @@ -108,21 +109,21 @@ class LArWheelCalculator /// Determines the nearest to the input point fan. /// Rotates point p to the localFan coordinates and returns the /// fan number to out_fan_number parameter. - double DistanceToTheNearestFan(CLHEP::Hep3Vector &p, int & out_fan_number) const; + double DistanceToTheNearestFan(GeoTrf::Vector3D &p, int & out_fan_number) const; /// Calculates aproximate, probably underestimate, distance to the /// neutral fibre of the vertical fan. Sign of return value means /// side of the fan; negative - lower phi. - double DistanceToTheNeutralFibre(const CLHEP::Hep3Vector &p, int fan_number) const; + double DistanceToTheNeutralFibre(const GeoTrf::Vector3D &p, int fan_number) const; - CLHEP::Hep3Vector NearestPointOnNeutralFibre(const CLHEP::Hep3Vector &p, + GeoTrf::Vector3D NearestPointOnNeutralFibre(const GeoTrf::Vector3D &p, int fan_number) const; - std::vector<double> NearestPointOnNeutralFibre_asVector(const CLHEP::Hep3Vector &p, + std::vector<double> NearestPointOnNeutralFibre_asVector(const GeoTrf::Vector3D &p, int fan_number) const; - int GetPhiGap(const CLHEP::Hep3Vector &p) const { return GetPhiGapAndSide(p).first; } + int GetPhiGap(const GeoTrf::Vector3D &p) const { return GetPhiGapAndSide(p).first; } int PhiGapNumberForWheel(int) const; - std::pair<int, int> GetPhiGapAndSide(const CLHEP::Hep3Vector &p) const; - double AmplitudeOfSurface(const CLHEP::Hep3Vector& P, int side, int fan_number) const; + std::pair<int, int> GetPhiGapAndSide(const GeoTrf::Vector3D &p) const; + double AmplitudeOfSurface(const GeoTrf::Vector3D& P, int side, int fan_number) const; /// @} diff --git a/GeoSpecialShapes/src/LArWheelCalculatorGeometry.cxx b/GeoSpecialShapes/src/LArWheelCalculatorGeometry.cxx index 0ff84d5..d5767f7 100644 --- a/GeoSpecialShapes/src/LArWheelCalculatorGeometry.cxx +++ b/GeoSpecialShapes/src/LArWheelCalculatorGeometry.cxx @@ -17,6 +17,8 @@ #include "./LArWheelCalculator_Impl/IDistanceCalculator.h" #include "./LArWheelCalculator_Impl/IFanCalculator.h" +#include "GeoModelKernel/GeoDefinitions.h" + #ifdef HARDDEBUG #include<stdio.h> #endif @@ -92,7 +94,7 @@ double LArWheelCalculator::parameterized_slant_angle(double r) const // Returns distance to the nearest fan. Vector p is set to nearest fan coord. // system. // m_fan_number is set to nearest fan number -double LArWheelCalculator::DistanceToTheNearestFan(CLHEP::Hep3Vector &p, int & out_fan_number) const +double LArWheelCalculator::DistanceToTheNearestFan(GeoTrf::Vector3D &p, int & out_fan_number) const { return m_fanCalcImpl->DistanceToTheNearestFan(p, out_fan_number); } @@ -100,7 +102,7 @@ double LArWheelCalculator::DistanceToTheNearestFan(CLHEP::Hep3Vector &p, int & o // Relays on the fact that each two fans have a fan of a different type between // them. // Affects m_fan_number. -std::pair<int, int> LArWheelCalculator::GetPhiGapAndSide(const CLHEP::Hep3Vector &p) const +std::pair<int, int> LArWheelCalculator::GetPhiGapAndSide(const GeoTrf::Vector3D &p) const { return m_fanCalcImpl->GetPhiGapAndSide(p); } @@ -110,19 +112,19 @@ std::pair<int, int> LArWheelCalculator::GetPhiGapAndSide(const CLHEP::Hep3Vector // side of the fan; negative - lower phi. // // Uses m_fan_number to compute sagging. -double LArWheelCalculator::DistanceToTheNeutralFibre(const CLHEP::Hep3Vector& P, int fan_number) const +double LArWheelCalculator::DistanceToTheNeutralFibre(const GeoTrf::Vector3D& P, int fan_number) const { return m_distanceCalcImpl->DistanceToTheNeutralFibre(P, fan_number); } -CLHEP::Hep3Vector LArWheelCalculator::NearestPointOnNeutralFibre(const CLHEP::Hep3Vector &P, int fan_number) const +GeoTrf::Vector3D LArWheelCalculator::NearestPointOnNeutralFibre(const GeoTrf::Vector3D &P, int fan_number) const { return m_distanceCalcImpl->NearestPointOnNeutralFibre(P, fan_number); } -std::vector<double> LArWheelCalculator::NearestPointOnNeutralFibre_asVector(const CLHEP::Hep3Vector &p, int fan_number) const +std::vector<double> LArWheelCalculator::NearestPointOnNeutralFibre_asVector(const GeoTrf::Vector3D &p, int fan_number) const { - CLHEP::Hep3Vector np = NearestPointOnNeutralFibre(p, fan_number); + GeoTrf::Vector3D np = NearestPointOnNeutralFibre(p, fan_number); return std::vector<double> { np.x(), np.y(), np.z() }; } @@ -132,7 +134,7 @@ side: < 0 - lower phi > 0 - greater phi = 0 - neutral fibre */ -double LArWheelCalculator::AmplitudeOfSurface(const CLHEP::Hep3Vector& P, int side, int fan_number) const +double LArWheelCalculator::AmplitudeOfSurface(const GeoTrf::Vector3D& P, int side, int fan_number) const { return m_distanceCalcImpl->AmplitudeOfSurface(P, side, fan_number); } diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx index 8d0da45..47289c4 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx @@ -4,6 +4,7 @@ #include "DistanceCalculatorSaggingOff.h" #include "GeoSpecialShapes/LArWheelCalculator.h" +#include "GeoModelKernel/GeoDefinitions.h" //#include "GaudiKernel/PhysicalConstants.h" #include<cassert> @@ -35,9 +36,9 @@ namespace LArWheelCalculator_Impl } #ifndef LARWC_DTNF_NEW - double DistanceCalculatorSaggingOff::DistanceToTheNeutralFibre(const CLHEP::Hep3Vector& P, int /*fan_number*/) const + double DistanceCalculatorSaggingOff::DistanceToTheNeutralFibre(const GeoTrf::Vector3D& P, int /*fan_number*/) const #else - double DistanceCalculatorSaggingOff::DistanceToTheNeutralFibre_ref(const CLHEP::Hep3Vector& P, int /*fan_number*/) const + double DistanceCalculatorSaggingOff::DistanceToTheNeutralFibre_ref(const GeoTrf::Vector3D& P, int /*fan_number*/) const #endif { assert(P.y() > 0.); @@ -151,9 +152,9 @@ namespace LArWheelCalculator_Impl // IMPROVED PERFORMANCE #ifdef LARWC_DTNF_NEW - double DistanceCalculatorSaggingOff::DistanceToTheNeutralFibre(const CLHEP::Hep3Vector& P, int /*fan_number*/) const + double DistanceCalculatorSaggingOff::DistanceToTheNeutralFibre(const GeoTrf::Vector3D& P, int /*fan_number*/) const #else - double DistanceCalculatorSaggingOff::DistanceToTheNeutralFibre_ref(const CLHEP::Hep3Vector& P, int /*fan_number*/) const + double DistanceCalculatorSaggingOff::DistanceToTheNeutralFibre_ref(const GeoTrf::Vector3D& P, int /*fan_number*/) const #endif { double z = P.z() - lwc()->m_StraightStartSection; @@ -243,9 +244,9 @@ namespace LArWheelCalculator_Impl std::abort(); } - CLHEP::Hep3Vector DistanceCalculatorSaggingOff::NearestPointOnNeutralFibre(const CLHEP::Hep3Vector &P, int /*fan_number*/) const + GeoTrf::Vector3D DistanceCalculatorSaggingOff::NearestPointOnNeutralFibre(const GeoTrf::Vector3D &P, int /*fan_number*/) const { - CLHEP::Hep3Vector result; + GeoTrf::Vector3D result; double z = P.z() - lwc()->m_StraightStartSection; double x = P.x(); double y = P.y(); @@ -279,18 +280,33 @@ namespace LArWheelCalculator_Impl const double x_prime = x * cos_a - z * sin_a; const double straight_part = (lwc()->m_QuarterWaveLength - lwc()->m_FanFoldRadius * sin_a) / cos_a; const double dz = straight_part - z_prime; - if (dz > 0) result.set(0., y, z_prime); + if (dz > 0) { + //result.set(0., y, z_prime); + result(0)=0.; + result(1)=y; + result(2)=z_prime; + } + else { double a = atan(fabs(dz / (x_prime + lwc()->m_FanFoldRadius))); - result.set(lwc()->m_FanFoldRadius * (cos(a) - 1), y, straight_part + lwc()->m_FanFoldRadius * sin(a)); + //result.set(lwc()->m_FanFoldRadius * (cos(a) - 1), y, straight_part + lwc()->m_FanFoldRadius * sin(a)); + result(0) = lwc()->m_FanFoldRadius * (cos(a) - 1); + result(1) = y; + result(2) = straight_part + lwc()->m_FanFoldRadius * sin(a); } - result.rotateY(asin(sin_a)); + //result.rotateY(asin(sin_a)); + result = GeoTrf::RotateY3D (asin(sin_a))* result; if(begin_qw){ - result.setX(-result.x()); - result.setZ(-result.z()); + //result.setX(-result.x()); + //result.setZ(-result.z()); + result(0) = - result(0) ; + result(2) = - result(2) ; } - if((nqwave % 2) == 0) result.setX(-result.x()); - result.setZ(result.z() + nqwave * lwc()->m_HalfWaveLength); + if((nqwave % 2) == 0) + //result.setX(-result.x()); + result(0) = - result(0) ; + //result.setZ(result.z() + nqwave * lwc()->m_HalfWaveLength); + result(2) = result(2) + nqwave * lwc()->m_HalfWaveLength ; } else { if(nqwave == 0) x = -x; else z = lwc()->m_ActiveLength - z; @@ -300,7 +316,10 @@ namespace LArWheelCalculator_Impl ( x < lwc()->m_FanFoldRadius || x < - lwc()->m_StraightStartSection * z / local_straight_section / tan_beta)) { - result.set(0., y, z); + //result.set(0., y, z); + result(0) = 0.; + result(1) = y; + result(2) = z; } else { const double z_prime = z * cos_a + x * sin_a; @@ -308,32 +327,47 @@ namespace LArWheelCalculator_Impl if(z_prime < local_straight_section) { double a = fabs(atan((local_straight_section - z_prime) / (x_prime - lwc()->m_FanFoldRadius))); - result.set(lwc()->m_FanFoldRadius * (1 - cos(a)), y, local_straight_section - lwc()->m_FanFoldRadius * sin(a)); + //result.set(lwc()->m_FanFoldRadius * (1 - cos(a)), y, local_straight_section - lwc()->m_FanFoldRadius * sin(a)); + result(0) = lwc()->m_FanFoldRadius * (1 - cos(a)); + result(1) = y; + result(2) = local_straight_section - lwc()->m_FanFoldRadius * sin(a); + } else { double straight_part = (lwc()->m_QuarterWaveLength - lwc()->m_FanFoldRadius * sin_a) / cos_a; if(z_prime <= straight_part) { - result.set(0., y, z_prime); + //result.set(0., y, z_prime); + result(0) = 0.; + result(1) = y; + result(2) = z_prime; + } else { double a = fabs(atan((straight_part - z_prime) / (x_prime + lwc()->m_FanFoldRadius)) ); - result.set(lwc()->m_FanFoldRadius * (cos(a) - 1), y, straight_part + lwc()->m_FanFoldRadius * sin(a)); + //result.set(lwc()->m_FanFoldRadius * (cos(a) - 1), y, straight_part + lwc()->m_FanFoldRadius * sin(a)); + result(0) = lwc()->m_FanFoldRadius * (cos(a) - 1); + result(1) = y; + result(2) = straight_part + lwc()->m_FanFoldRadius * sin(a); } } - result.rotateY(asin(sin_a)); + //result.rotateY(asin(sin_a)); + result = GeoTrf::RotateY3D (asin(sin_a))* result; } if(nqwave != 0){ - result.setZ(lwc()->m_ActiveLength - result.z()); + //result.setZ(lwc()->m_ActiveLength - result.z()); + result(2) = lwc()->m_ActiveLength - result(2); } else { - result.setX(-result.x()); + //result.setX(-result.x()); + result(0) = - result(0); } } - result.setZ(result.z() + lwc()->m_StraightStartSection); + //result.setZ(result.z() + lwc()->m_StraightStartSection); + result(2) = result(2)+ lwc()->m_StraightStartSection; return result; } // IMPROVED VERSION - CLHEP::Hep3Vector DistanceCalculatorSaggingOff::NearestPointOnNeutralFibre_ref(const CLHEP::Hep3Vector &P, int /*fan_number*/) const + GeoTrf::Vector3D DistanceCalculatorSaggingOff::NearestPointOnNeutralFibre_ref(const GeoTrf::Vector3D &P, int /*fan_number*/) const { - CLHEP::Hep3Vector result; + GeoTrf::Vector3D result; double z = P.z() - lwc()->m_StraightStartSection; double x = P.x(); double y = P.y(); @@ -364,10 +398,16 @@ namespace LArWheelCalculator_Impl double a1 = atan(fabs(dz / (x_prime + lwc()->m_FanFoldRadius))); const double x1 = lwc()->m_FanFoldRadius * (cos(a1) - 1.); const double z1 = straight_part + lwc()->m_FanFoldRadius * sin(a1); - result.set(x1*cos_a - z1*sin_a, y, z1*cos_a + z1*sin_a); + //result.set(x1*cos_a - z1*sin_a, y, z1*cos_a + z1*sin_a); + result(0) = x1*cos_a - z1*sin_a; + result(1) = y; + result(2) = z1*cos_a + z1*sin_a; return result; } else if(z_prime > -straight_part){ // straight part - result.set(-z_prime * sin_a, y, z_prime*cos_a + zshift); + //result.set(-z_prime * sin_a, y, z_prime*cos_a + zshift); + result(0) = -z_prime * sin_a; + result(1) = y; + result(2) = z_prime*cos_a + zshift; return result; } else { // low fold const double x_prime = x * cos_a - z * sin_a; @@ -375,7 +415,10 @@ namespace LArWheelCalculator_Impl double a1 = atan(fabs(dz / (x_prime + lwc()->m_FanFoldRadius))); const double x1 = lwc()->m_FanFoldRadius * (cos(a1) - 1.); const double z1 = straight_part + lwc()->m_FanFoldRadius * sin(a1); - result.set(x1*cos_a - z1*sin_a, y, z1*cos_a + z1*sin_a); + //result.set(x1*cos_a - z1*sin_a, y, z1*cos_a + z1*sin_a); + result(0) = x1*cos_a - z1*sin_a; + result(1) = y; + result(2) = z1*cos_a + z1*sin_a; return result; } } else { // ending quarter-wave @@ -393,28 +436,46 @@ namespace LArWheelCalculator_Impl (x < lwc()->m_FanFoldRadius || x < - lwc()->m_StraightStartSection * z / local_straight_section / tan_beta)) { - result.set(0., y, z); + //result.set(0., y, z); + result(0) = 0.; + result(1) = y ; + result(2) = z ; } else { const double z_prime = z * cos_a + x * sin_a; const double x_prime = x * cos_a - z * sin_a; if(z_prime < local_straight_section) { double a = fabs(atan((local_straight_section - z_prime) / (x_prime - lwc()->m_FanFoldRadius))); - result.set(lwc()->m_FanFoldRadius * (1 - cos(a)), y, local_straight_section - lwc()->m_FanFoldRadius * sin(a)); + //result.set(lwc()->m_FanFoldRadius * (1 - cos(a)), y, local_straight_section - lwc()->m_FanFoldRadius * sin(a)); + result(0) = lwc()->m_FanFoldRadius * (1 - cos(a)); + result(1) = y ; + result(2) = local_straight_section - lwc()->m_FanFoldRadius * sin(a) ; } else { double straight_part = (lwc()->m_QuarterWaveLength - lwc()->m_FanFoldRadius * sin_a) / cos_a; if(z_prime <= straight_part) { - result.set(0., y, z_prime); + //result.set(0., y, z_prime); + result(0) = 0.; + result(1) = y ; + result(2) = z_prime; } else { double a = fabs(atan((straight_part - z_prime) / (x_prime + lwc()->m_FanFoldRadius)) ); - result.set(lwc()->m_FanFoldRadius * (cos(a) - 1), y, straight_part + lwc()->m_FanFoldRadius * sin(a)); + //result.set(lwc()->m_FanFoldRadius * (cos(a) - 1), y, straight_part + lwc()->m_FanFoldRadius * sin(a)); + result(0) = lwc()->m_FanFoldRadius * (cos(a) - 1); + result(1) = y ; + result(2) = straight_part + lwc()->m_FanFoldRadius * sin(a) ; } } - result.rotateY(asin(sin_a)); + //result.rotateY(asin(sin_a)); + result = GeoTrf::RotateY3D (asin(sin_a)) * result; } - if(sqw) result.setX(-result.x()); - else result.setZ(lwc()->m_ActiveLength - result.z()); - result.setZ(result.z() + lwc()->m_StraightStartSection); + if(sqw) + //result.setX(-result.x()); + result(0) = - result(0); + else + //result.setZ(lwc()->m_ActiveLength - result.z()); + result(2) = lwc()->m_ActiveLength - result(2); + //result.setZ(result.z() + lwc()->m_StraightStartSection); + result(2) = result(2) + lwc()->m_StraightStartSection ; return result; } @@ -424,7 +485,7 @@ namespace LArWheelCalculator_Impl > 0 - greater phi = 0 - neutral fibre */ - double DistanceCalculatorSaggingOff::AmplitudeOfSurface(const CLHEP::Hep3Vector& P, int side, int /*fan_number*/) const + double DistanceCalculatorSaggingOff::AmplitudeOfSurface(const GeoTrf::Vector3D& P, int side, int /*fan_number*/) const { double result = 0.; double rho = lwc()->m_FanFoldRadius; diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.h index a09257e..6812002 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.h +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.h @@ -7,6 +7,7 @@ #include "IDistanceCalculator.h" +#include "GeoModelKernel/GeoDefinitions.h" //#include "RDBAccessSvc/IRDBAccessSvc.h" //#include "GeoModelUtilities/DecodeVersionKey.h" @@ -31,11 +32,11 @@ namespace LArWheelCalculator_Impl /// @name Geometry methods /// @{ - virtual double DistanceToTheNeutralFibre(const CLHEP::Hep3Vector &p, int fan_number) const; - virtual double DistanceToTheNeutralFibre_ref(const CLHEP::Hep3Vector &p, int fan_number) const; - virtual CLHEP::Hep3Vector NearestPointOnNeutralFibre(const CLHEP::Hep3Vector &p, int fan_number) const; - virtual CLHEP::Hep3Vector NearestPointOnNeutralFibre_ref(const CLHEP::Hep3Vector &p, int fan_number) const; - virtual double AmplitudeOfSurface(const CLHEP::Hep3Vector& P, int side, int fan_number) const; + virtual double DistanceToTheNeutralFibre(const GeoTrf::Vector3D &p, int fan_number) const; + virtual double DistanceToTheNeutralFibre_ref(const GeoTrf::Vector3D &p, int fan_number) const; + virtual GeoTrf::Vector3D NearestPointOnNeutralFibre(const GeoTrf::Vector3D &p, int fan_number) const; + virtual GeoTrf::Vector3D NearestPointOnNeutralFibre_ref(const GeoTrf::Vector3D &p, int fan_number) const; + virtual double AmplitudeOfSurface(const GeoTrf::Vector3D& P, int side, int fan_number) const; /// @} /// Return the calculator: diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx index 03c6692..c7cf211 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx @@ -7,7 +7,8 @@ //#include "GaudiKernel/MsgStream.h" #include "DistanceCalculatorSaggingOn.h" -#include "CLHEP/Vector/ThreeVector.h" +//#include "CLHEP/Vector/ThreeVector.h" +#include "GeoModelKernel/GeoDefinitions.h" #include <vector> #include <stdexcept> @@ -124,23 +125,23 @@ namespace LArWheelCalculator_Impl // side of the fan; negative - lower phi. // // Uses m_fan_number to compute sagging. - double DistanceCalculatorSaggingOn::DistanceToTheNeutralFibre(const CLHEP::Hep3Vector &p, int fan_number) const { - CLHEP::Hep3Vector sagging_corrected( p.x()+get_sagging(p, fan_number), p.y(), p.z() ); + double DistanceCalculatorSaggingOn::DistanceToTheNeutralFibre(const GeoTrf::Vector3D &p, int fan_number) const { + GeoTrf::Vector3D sagging_corrected( p.x()+get_sagging(p, fan_number), p.y(), p.z() ); return parent::DistanceToTheNeutralFibre(sagging_corrected, fan_number); } - CLHEP::Hep3Vector DistanceCalculatorSaggingOn::NearestPointOnNeutralFibre(const CLHEP::Hep3Vector &p, int fan_number) const { - CLHEP::Hep3Vector sagging_corrected( p.x()+get_sagging(p, fan_number), p.y(), p.z() ); + GeoTrf::Vector3D DistanceCalculatorSaggingOn::NearestPointOnNeutralFibre(const GeoTrf::Vector3D &p, int fan_number) const { + GeoTrf::Vector3D sagging_corrected( p.x()+get_sagging(p, fan_number), p.y(), p.z() ); return parent::NearestPointOnNeutralFibre(sagging_corrected, fan_number); } - double DistanceCalculatorSaggingOn::AmplitudeOfSurface(const CLHEP::Hep3Vector& p, int side, int fan_number) const { + double DistanceCalculatorSaggingOn::AmplitudeOfSurface(const GeoTrf::Vector3D& p, int side, int fan_number) const { return parent::AmplitudeOfSurface(p, side, fan_number) - get_sagging(p, fan_number); } // the function uses m_fan_number for phi-dependent sagging computation - double DistanceCalculatorSaggingOn::get_sagging(const CLHEP::Hep3Vector &P, int fan_number) const { + double DistanceCalculatorSaggingOn::get_sagging(const GeoTrf::Vector3D &P, int fan_number) const { #ifdef HARDDEBUG std::cout << "get_sagging: MFN = " << fan_number << std::endl; #endif @@ -154,7 +155,9 @@ namespace LArWheelCalculator_Impl //if(n >= m_NumberOfFans) n -= m_NumberOfFans; //const std::vector<double>& sp = m_sagging_parameter[n]; const std::vector<double>& sp = m_sagging_parameter[fan_number]; - double R = P.r() / SYSTEM_OF_UNITS::mm; + + //double R = P.r() / SYSTEM_OF_UNITS::mm; + double R = std::sqrt(P(0)*P(0) + P(1)*P(1) + P(2)*P(2)) / SYSTEM_OF_UNITS::mm; double r = R; double result = sp[0]; result += R * sp[1]; diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.h index e10c79d..7ca0448 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.h +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.h @@ -6,6 +6,7 @@ #define __LArWheelCalculator_Impl_DistanceCalculatorSaggingOn_H__ #include "DistanceCalculatorSaggingOff.h" +#include "GeoModelKernel/GeoDefinitions.h" #include <vector> class LArWheelCalculator; @@ -32,14 +33,14 @@ namespace LArWheelCalculator_Impl /// @name Geometry methods /// @{ - virtual double DistanceToTheNeutralFibre(const CLHEP::Hep3Vector &p, int fan_number) const; - virtual CLHEP::Hep3Vector NearestPointOnNeutralFibre(const CLHEP::Hep3Vector &p, int fan_number) const; - virtual double AmplitudeOfSurface(const CLHEP::Hep3Vector& P, int side, int fan_number) const; + virtual double DistanceToTheNeutralFibre(const GeoTrf::Vector3D &p, int fan_number) const; + virtual GeoTrf::Vector3D NearestPointOnNeutralFibre(const GeoTrf::Vector3D &p, int fan_number) const; + virtual double AmplitudeOfSurface(const GeoTrf::Vector3D& P, int side, int fan_number) const; /// @} private: - double get_sagging(const CLHEP::Hep3Vector &P, int fan_number) const; + double get_sagging(const GeoTrf::Vector3D &P, int fan_number) const; void init_sagging_parameters(); std::vector<std::vector<double> > m_sagging_parameter; diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/IDistanceCalculator.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/IDistanceCalculator.h index d45f474..4bc81b2 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/IDistanceCalculator.h +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/IDistanceCalculator.h @@ -6,7 +6,8 @@ #define __LArWheelCalculator_Impl_IDistanceCalculator_H__ -#include "CLHEP/Vector/ThreeVector.h" +//#include "CLHEP/Vector/ThreeVector.h" +#include "GeoModelKernel/GeoDefinitions.h" namespace LArWheelCalculator_Impl { @@ -26,13 +27,13 @@ namespace LArWheelCalculator_Impl /// @name Geometry methods /// @{ - virtual double DistanceToTheNeutralFibre(const CLHEP::Hep3Vector &p, + virtual double DistanceToTheNeutralFibre(const GeoTrf::Vector3D &p, int fan_number) const = 0; - virtual CLHEP::Hep3Vector NearestPointOnNeutralFibre(const CLHEP::Hep3Vector &p, + virtual GeoTrf::Vector3D NearestPointOnNeutralFibre(const GeoTrf::Vector3D &p, int fan_number) const = 0; - virtual double AmplitudeOfSurface(const CLHEP::Hep3Vector& p, int side, + virtual double AmplitudeOfSurface(const GeoTrf::Vector3D& p, int side, int fan_number) const = 0; /// @} diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/IFanCalculator.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/IFanCalculator.h index 4cd70f9..cd0f7dc 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/IFanCalculator.h +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/IFanCalculator.h @@ -6,7 +6,8 @@ #define __LArWheelCalculator_Impl_IFanCalculator_H__ -#include "CLHEP/Vector/ThreeVector.h" +//#include "CLHEP/Vector/ThreeVector.h" +#include "GeoModelKernel/GeoDefinitions.h" namespace LArWheelCalculator_Impl { @@ -26,12 +27,12 @@ namespace LArWheelCalculator_Impl /// @name Geometry methods /// @{ - virtual double DistanceToTheNearestFan(CLHEP::Hep3Vector &p, + virtual double DistanceToTheNearestFan(GeoTrf::Vector3D &p, int & out_fan_number) const = 0; virtual int PhiGapNumberForWheel(int i) const = 0; - virtual std::pair<int, int> GetPhiGapAndSide(const CLHEP::Hep3Vector &p) const = 0; + virtual std::pair<int, int> GetPhiGapAndSide(const GeoTrf::Vector3D &p) const = 0; /// @} diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx b/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx index 04f19f6..3008f52 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx @@ -5,6 +5,8 @@ #include "ModuleFanCalculator.h" #include "GeoSpecialShapes/LArWheelCalculator.h" +#include "GeoModelKernel/GeoDefinitions.h" +//#include "CLHEP/Vector/ThreeVector.h" //#include "GaudiKernel/PhysicalConstants.h" //using namespace Gaudi::Units; @@ -27,14 +29,17 @@ namespace LArWheelCalculator_Impl { } - double ModuleFanCalculator::DistanceToTheNearestFan(CLHEP::Hep3Vector &p, int & out_fan_number) const + double ModuleFanCalculator::DistanceToTheNearestFan(GeoTrf::Vector3D &p, int & out_fan_number) const { - int fan_number = int((p.phi() - SYSTEM_OF_UNITS::halfpi - lwc()->m_ZeroFanPhi_ForDetNeaFan) / lwc()->m_FanStepOnPhi); + //int fan_number = int((p.phi() - SYSTEM_OF_UNITS::halfpi - lwc()->m_ZeroFanPhi_ForDetNeaFan) / lwc()->m_FanStepOnPhi); + int fan_number = int((std::atan2(p(1),p(0)) - SYSTEM_OF_UNITS::halfpi - lwc()->m_ZeroFanPhi_ForDetNeaFan) / lwc()->m_FanStepOnPhi); double angle = lwc()->m_FanStepOnPhi * fan_number + lwc()->m_ZeroFanPhi_ForDetNeaFan; #ifdef HARDDEBUG printf("DistanceToTheNearestFan: initial FN %4d\n", fan_number); #endif - p.rotateZ(-angle); + //p.rotateZ(-angle); + p=GeoTrf::RotateZ3D(-angle)*p; + // determine search direction double d0 = lwc()->DistanceToTheNeutralFibre(p, lwc()->adjust_fan_number(fan_number)); double d1 = d0; @@ -42,7 +47,8 @@ namespace LArWheelCalculator_Impl if(d0 < 0.) delta = -1; // search direction has been determined angle = - lwc()->m_FanStepOnPhi * delta; do { // search: - p.rotateZ(angle); + //p.rotateZ(angle); + p = GeoTrf::RotateZ3D(angle)*p; fan_number += delta; d1 = lwc()->DistanceToTheNeutralFibre(p, lwc()->adjust_fan_number(fan_number)); } while(d0 * d1 > 0.); @@ -51,14 +57,19 @@ namespace LArWheelCalculator_Impl int adj_fan_number = fan_number; if(adj_fan_number < lwc()->m_FirstFan) { - p.rotateZ((adj_fan_number - lwc()->m_FirstFan) * lwc()->m_FanStepOnPhi); + //p.rotateZ((adj_fan_number - lwc()->m_FirstFan) * lwc()->m_FanStepOnPhi); + p = GeoTrf::RotateZ3D((adj_fan_number - lwc()->m_FirstFan) * lwc()->m_FanStepOnPhi)*p; + //p.RotateZ3D((adj_fan_number - lwc()->m_FirstFan) * lwc()->m_FanStepOnPhi); + p = GeoTrf::RotateZ3D((adj_fan_number - lwc()->m_FirstFan) * lwc()->m_FanStepOnPhi)*p; adj_fan_number = lwc()->m_FirstFan; } else if(adj_fan_number >= lwc()->m_LastFan) { - p.rotateZ((adj_fan_number - lwc()->m_LastFan + 1) * lwc()->m_FanStepOnPhi); + //p.rotateZ((adj_fan_number - lwc()->m_LastFan + 1) * lwc()->m_FanStepOnPhi); + p = GeoTrf::RotateZ3D((adj_fan_number - lwc()->m_LastFan + 1) * lwc()->m_FanStepOnPhi)*p; adj_fan_number = lwc()->m_LastFan - 1; } - p.rotateZ(-0.5 * angle); + //p.rotateZ(-0.5 * angle); + p = GeoTrf::RotateZ3D(-0.5 * angle)*p; out_fan_number = adj_fan_number; return lwc()->DistanceToTheNeutralFibre(p, adj_fan_number); } @@ -71,17 +82,18 @@ namespace LArWheelCalculator_Impl return i; } - std::pair<int, int> ModuleFanCalculator::GetPhiGapAndSide(const CLHEP::Hep3Vector &p) const + std::pair<int, int> ModuleFanCalculator::GetPhiGapAndSide(const GeoTrf::Vector3D &p) const { // Note: this object was changed from static to local for thread-safety. // If this is found to be too costly we can re-evaluate. - CLHEP::Hep3Vector p1 = p; - - int fan_number = int((p.phi() - SYSTEM_OF_UNITS::halfpi - lwc()->m_ZeroFanPhi) / lwc()->m_FanStepOnPhi); + GeoTrf::Vector3D p1 = p; + //int fan_number = int((p.phi() - SYSTEM_OF_UNITS::halfpi - lwc()->m_ZeroFanPhi) / lwc()->m_FanStepOnPhi); + int fan_number = int((std::atan2(p(1),p(0)) - SYSTEM_OF_UNITS::halfpi - lwc()->m_ZeroFanPhi) / lwc()->m_FanStepOnPhi); double angle = lwc()->m_FanStepOnPhi * fan_number + lwc()->m_ZeroFanPhi; - p1.rotateZ(-angle); - + //p1.rotateZ(-angle); + p1 =GeoTrf::RotateZ3D(-angle) * p1; + double d0 = lwc()->DistanceToTheNeutralFibre(p1, lwc()->adjust_fan_number(fan_number)); double d1 = d0; @@ -89,7 +101,8 @@ namespace LArWheelCalculator_Impl if(d0 < 0.) delta = -1; angle = - lwc()->m_FanStepOnPhi * delta; do { - p1.rotateZ(angle); + //p1.rotateZ(angle); + p1 = GeoTrf::RotateZ3D(angle)*p1; fan_number += delta; d1 = lwc()->DistanceToTheNeutralFibre(p1, lwc()->adjust_fan_number(fan_number)); } while(d0 * d1 > 0.); @@ -100,7 +113,8 @@ namespace LArWheelCalculator_Impl if(adj_fan_number < lwc()->m_FirstFan) adj_fan_number = lwc()->m_FirstFan - 1; else if(adj_fan_number > lwc()->m_LastFan) adj_fan_number = lwc()->m_LastFan; - p1.rotateZ(-0.5 * angle); + //p1.rotateZ(-0.5 * angle); + p1 = GeoTrf::RotateZ3D(-0.5 * angle) * p1; double dd = lwc()->DistanceToTheNeutralFibre(p1, adj_fan_number); int side = dd < 0.? -1: 1; #ifdef HARDDEBUG diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.h index 327c70c..da2cfbc 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.h +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.h @@ -8,6 +8,7 @@ #include "IFanCalculator.h" //#include "RDBAccessSvc/IRDBAccessSvc.h" //#include "GeoModelUtilities/DecodeVersionKey.h" +#include "GeoModelKernel/GeoDefinitions.h" class LArWheelCalculator; @@ -23,9 +24,9 @@ namespace LArWheelCalculator_Impl const DecodeVersionKey & larVersionKey*/); // geometry methods: - virtual double DistanceToTheNearestFan(CLHEP::Hep3Vector &p, int & out_fan_number) const; + virtual double DistanceToTheNearestFan(GeoTrf::Vector3D &p, int & out_fan_number) const; virtual int PhiGapNumberForWheel(int i) const; - virtual std::pair<int, int> GetPhiGapAndSide(const CLHEP::Hep3Vector &p) const; + virtual std::pair<int, int> GetPhiGapAndSide(const GeoTrf::Vector3D &p) const; inline const LArWheelCalculator *lwc() const { return m_lwc; }; diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/WheelFanCalculator.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/WheelFanCalculator.h index 98632d2..c372142 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/WheelFanCalculator.h +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/WheelFanCalculator.h @@ -9,6 +9,7 @@ //#include "RDBAccessSvc/IRDBAccessSvc.h" //#include "GeoModelUtilities/DecodeVersionKey.h" #include "GeoSpecialShapes/LArWheelCalculator.h" +#include "GeoModelKernel/GeoDefinitions.h" //#include "GaudiKernel/PhysicalConstants.h" // Physical constants @@ -33,7 +34,7 @@ namespace LArWheelCalculator_Impl class DistanceToTheNeutralFibre_OfFan<SaggingOn_t> { public: - static inline double calculate(const LArWheelCalculator* lwc, int fan_number, CLHEP::Hep3Vector &p) { + static inline double calculate(const LArWheelCalculator* lwc, int fan_number, GeoTrf::Vector3D &p) { //lwc->set_m_fan_number(fan_number); return lwc->DistanceToTheNeutralFibre(p, lwc->adjust_fan_number(fan_number)); } @@ -42,7 +43,7 @@ namespace LArWheelCalculator_Impl template<> class DistanceToTheNeutralFibre_OfFan<SaggingOff_t> { public: - static inline double calculate(const LArWheelCalculator* lwc, int /*fan_number*/, CLHEP::Hep3Vector &p) { + static inline double calculate(const LArWheelCalculator* lwc, int /*fan_number*/, GeoTrf::Vector3D &p) { // saggingOff distance calculations does not use fan_number, use arbitrary recognisible magic number return lwc->DistanceToTheNeutralFibre(p, -531135); } @@ -115,9 +116,11 @@ namespace LArWheelCalculator_Impl /// @todo Needs documentation template <typename SaggingType, FanSearchDirection_t dir, class NFDistance > inline void rotate_to_nearest_fan(const LArWheelCalculator* lwc, int &fan_number, - const double angle, CLHEP::Hep3Vector &p) + const double angle, GeoTrf::Vector3D &p) { - p.rotateZ(angle); + + //p.rotateZ(angle); + p=GeoTrf::RotateZ3D(angle)*p; StepFan<SaggingType, dir>::next(fan_number); //fan_number += delta; double d1 = NFDistance::calculate(lwc, fan_number, p); @@ -125,7 +128,8 @@ namespace LArWheelCalculator_Impl //while(d0 * d1 > 0.) -> dir*d1 > 0 -> FORWARD: d1 > 0., BACKWARD: d1 < 0. while ( DoSearch<dir>::pred(d1) ) { // search: - p.rotateZ(angle); + //p.rotateZ(angle); + p=GeoTrf::RotateZ3D(angle)*p; StepFan<SaggingType, dir>::next(fan_number); //fan_number += delta; @@ -156,15 +160,17 @@ namespace LArWheelCalculator_Impl /// @name Geometry methods /// @{ - virtual double DistanceToTheNearestFan(CLHEP::Hep3Vector &p, int & out_fan_number) const + virtual double DistanceToTheNearestFan(GeoTrf::Vector3D &p, int & out_fan_number) const { //using Gaudi::Units::halfpi; - int fan_number = int((p.phi() - SYSTEM_OF_UNITS::halfpi - lwc()->m_ZeroFanPhi_ForDetNeaFan) / lwc()->m_FanStepOnPhi); + //int fan_number = int((p.phi() - SYSTEM_OF_UNITS::halfpi - lwc()->m_ZeroFanPhi_ForDetNeaFan) / lwc()->m_FanStepOnPhi); + int fan_number = int((std::atan2(p(1),p(0)) - SYSTEM_OF_UNITS::halfpi - lwc()->m_ZeroFanPhi_ForDetNeaFan) / lwc()->m_FanStepOnPhi); const double angle = lwc()->m_FanStepOnPhi * fan_number + lwc()->m_ZeroFanPhi_ForDetNeaFan; #ifdef HARDDEBUG printf("DistanceToTheNearestFan: initial FN %4d\n", fan_number); #endif - p.rotateZ(-angle); + //p.rotateZ(-angle); + p=GeoTrf::RotateZ3D(- angle)*p; // determine search direction typedef DistanceToTheNeutralFibre_OfFan<SaggingType> NFDistance; @@ -202,7 +208,8 @@ namespace LArWheelCalculator_Impl if(delta > 0) fan_number --; */ - p.rotateZ(-0.5 * step_angle); + //p.rotateZ(-0.5 * step_angle); + p=GeoTrf::RotateZ3D(-0.5 * step_angle)*p; #ifdef HARDDEBUG printf("DistanceToTheNearestFan: final FN %4d\n", fan_number); #endif @@ -216,14 +223,16 @@ namespace LArWheelCalculator_Impl return i; } - virtual std::pair<int, int> GetPhiGapAndSide(const CLHEP::Hep3Vector &p) const + virtual std::pair<int, int> GetPhiGapAndSide(const GeoTrf::Vector3D &p) const { //using Gaudi::Units::halfpi; - CLHEP::Hep3Vector p1 = p; - - int fan_number = int((p.phi() - SYSTEM_OF_UNITS::halfpi - lwc()->m_ZeroFanPhi) / lwc()->m_FanStepOnPhi); + GeoTrf::Vector3D p1 = p; + //int fan_number = int((p.phi() - SYSTEM_OF_UNITS::halfpi - lwc()->m_ZeroFanPhi) / lwc()->m_FanStepOnPhi); + int fan_number = int((std::atan2(p(1),p(0)) - SYSTEM_OF_UNITS::halfpi - lwc()->m_ZeroFanPhi) / lwc()->m_FanStepOnPhi); const double angle = lwc()->m_FanStepOnPhi * fan_number + lwc()->m_ZeroFanPhi; - p1.rotateZ(-angle); + p1=GeoTrf::RotateZ3D(- angle)*p1; + //p1.rotateZ(-angle); + typedef DistanceToTheNeutralFibre_OfFan<SaggingType> NFDistance; @@ -238,7 +247,8 @@ namespace LArWheelCalculator_Impl //if(d0 < 0.) delta = -1; const double step_angle = - lwc()->m_FanStepOnPhi * delta; do { - p1.rotateZ(step_angle); + //p1.rotateZ(step_angle); + p1 = GeoTrf::RotateZ3D(step_angle)*p1; fan_number += delta; d1 = NFDistance::calculate(lwc(), fan_number, p1); //lwc()->set_m_fan_number(fan_number); @@ -248,7 +258,8 @@ namespace LArWheelCalculator_Impl if(delta > 0) fan_number --; if(!lwc()->m_isElectrode) fan_number ++; - p1.rotateZ(-0.5 * step_angle); + //p1.rotateZ(-0.5 * step_angle); + p1 = GeoTrf::RotateZ3D(-0.5 * step_angle)*p1; const int a_fan_number = lwc()->adjust_fan_number(fan_number); double dd = lwc()->DistanceToTheNeutralFibre(p1, a_fan_number); -- GitLab From 83b788e13c1f7dd621947f320b97634044e65d67 Mon Sep 17 00:00:00 2001 From: Marilena Bandieramonte <marilena.bandieramonte@cern.ch> Date: Fri, 7 Feb 2020 01:45:24 +0100 Subject: [PATCH 7/7] Cleaning of the code --- .../GeoSpecialShapes/LArCustomShape.h | 35 +-------- .../GeoSpecialShapes/LArWheelCalculator.h | 15 ---- GeoSpecialShapes/src/LArCustomShape.cxx | 40 +--------- GeoSpecialShapes/src/LArWheelCalculator.cxx | 76 ------------------- .../DistanceCalculatorFactory.cxx | 8 +- .../DistanceCalculatorFactory.h | 4 - .../DistanceCalculatorSaggingOff.cxx | 10 +-- .../DistanceCalculatorSaggingOff.h | 6 +- .../DistanceCalculatorSaggingOn.cxx | 8 -- .../DistanceCalculatorSaggingOn.h | 4 +- .../FanCalculatorFactory.cxx | 10 +-- .../FanCalculatorFactory.h | 6 +- .../IDistanceCalculator.h | 2 - .../LArWheelCalculator_Impl/IFanCalculator.h | 2 - .../ModuleFanCalculator.cxx | 7 -- .../ModuleFanCalculator.h | 6 +- .../WheelFanCalculator.h | 3 - .../LArWheelCalculator_Impl/sincos_poly.cxx | 12 --- 18 files changed, 15 insertions(+), 239 deletions(-) diff --git a/GeoSpecialShapes/GeoSpecialShapes/LArCustomShape.h b/GeoSpecialShapes/GeoSpecialShapes/LArCustomShape.h index 3a24f3c..b7f790f 100644 --- a/GeoSpecialShapes/GeoSpecialShapes/LArCustomShape.h +++ b/GeoSpecialShapes/GeoSpecialShapes/LArCustomShape.h @@ -8,12 +8,6 @@ #include <string> #include <map> -//#ifndef XAOD_STANDALONE -// #include "GaudiKernel/ServiceHandle.h" -// #include "GaudiKernel/StatusCode.h" -// #include "StoreGate/StoreGateSvc.h" -//#endif // XAOD_STANDALONE - #include "GeoModelKernel/GeoShape.h" #include "GeoSpecialShapes/LArWheelCalculator.h" #include "GeoSpecialShapes/LArWheelCalculatorEnums.h" @@ -28,9 +22,6 @@ class LArCustomShape : public GeoShape { public: - // #ifndef XAOD_STANDALONE - // typedef ServiceHandle<StoreGateSvc> StoreGateSvc_t; - // #endif // XAOD_STANDALONE typedef std::pair<LArG4::LArWheelCalculator_t, int> CalcDef_t; typedef std::map<std::string, CalcDef_t> ShapeCalc_typemap; @@ -65,23 +56,13 @@ class LArCustomShape : public GeoShape /// Executes a GeoShapeAction virtual void exec(GeoShapeAction* action) const; -//#ifndef XAOD_STANDALONE -// /** @brief The standard @c StoreGateSvc/DetectorStore -// * Returns (kind of) a pointer to the @c StoreGateSvc -// */ -// StoreGateSvc_t& detStore() const; -//#endif // XAOD_STANDALONE - protected: virtual ~LArCustomShape(); private: - //#if defined XAOD_STANDALONE - int createCalculator(const CalcDef_t & cdef); - //#else // XAOD_STANDALONE - // StatusCode createCalculator(const CalcDef_t & cdef); - //#endif + + int createCalculator(const CalcDef_t & cdef); // Prohibited operations. LArCustomShape(const LArCustomShape &right); @@ -98,11 +79,6 @@ class LArCustomShape : public GeoShape /// The calculator: const LArWheelCalculator *m_calculator; - //#ifndef XAOD_STANDALONE - /// Pointer to StoreGate (detector store by default) - // mutable StoreGateSvc_t m_detStore; - //#endif // XAOD_STANDALONE - }; inline const std::string& LArCustomShape::getClassType() { @@ -113,11 +89,4 @@ inline ShapeType LArCustomShape::getClassTypeID() { return s_classTypeID; } -//#ifndef XAOD_STANDALONE -// inline ServiceHandle<StoreGateSvc>& LArCustomShape::detStore() const { -// return m_detStore; -// } -//#endif // XAOD_STANDALONE - - #endif // LArCustomShape_h diff --git a/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculator.h b/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculator.h index bcbebd1..df379a6 100644 --- a/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculator.h +++ b/GeoSpecialShapes/GeoSpecialShapes/LArWheelCalculator.h @@ -7,11 +7,7 @@ #include <vector> -//#include "CLHEP/Vector/ThreeVector.h" #include "GeoModelKernel/GeoDefinitions.h" -//#ifndef XAOD_STANDALONE -// #include "AthenaKernel/CLASS_DEF.h" -//#endif // XAOD_STANDALONE #include "GeoSpecialShapes/LArWheelCalculatorEnums.h" // Physical constants @@ -22,8 +18,6 @@ #define LARWC_DTNF_NEW class IRDBRecordset; -//class RDBParamRecords; - //#define HARDDEBUG // Forward declarations @@ -138,9 +132,6 @@ class LArWheelCalculator double m_sin_parametrization[7]; // up to pol6 double m_cos_parametrization[7]; std::vector<std::vector<double> > m_sagging_parameter; // ! - //double m_WheelThickness; - // double m_HalfWheelThickness; - //double m_zWheelFrontFace, m_zWheelBackFace; // N.B. all const values copied from the DB@ // https://atlas-geometry-db.web.cern.ch/atlas-geometry-db/ @@ -224,10 +215,4 @@ class LArWheelCalculator void fill_sincos_parameterization(); }; -//#ifndef XAOD_STANDALONE - //using the macro below we can assign an identifier (and a version) - //This is required and checked at compile time when you try to record/retrieve -// CLASS_DEF(LArWheelCalculator , 900345678 , 1) -//#endif // XAOD_STANDALONE - #endif // GEOSPECIALSHAPES_LARWHEELCALCULATOR_H diff --git a/GeoSpecialShapes/src/LArCustomShape.cxx b/GeoSpecialShapes/src/LArCustomShape.cxx index 86af121..c6f2a23 100644 --- a/GeoSpecialShapes/src/LArCustomShape.cxx +++ b/GeoSpecialShapes/src/LArCustomShape.cxx @@ -95,35 +95,13 @@ const LArCustomShape::ShapeCalc_typemap LArCustomShape::s_calculatorTypes = { LArCustomShape::LArCustomShape(const std::string& a_shapeName) : m_shapeName(a_shapeName), m_calculator(0) - //#ifndef XAOD_STANDALONE - // ,m_detStore( "StoreGateSvc/DetectorStore", a_shapeName ) - //#endif // XAOD_STANDALONE { -//#ifdef XAOD_STANDALONE std::cout << "LArCustomShape::LArCustomShape()" << std::endl; std::cout << "Constructor -- Creating the calculator..." << std::endl; if ( createCalculator( s_calculatorTypes.at(a_shapeName) ) == 1 ) { // map.at throws std::out_of_range exception on unknown shape name std::string error = std::string("Can't create LArWheelCalculator for name ") + a_shapeName + " in LArCustomShape constructor"; throw std::runtime_error(error); } -//#else // XAOD_STANDALONE -// std::string name = a_shapeName; -// size_t index = name.find("Slice"); -// if(index != std::string::npos) name.replace(index + 5, 2, "00"); -// if(s_calculatorTypes.find(name) == s_calculatorTypes.end()){ -// std::string error = -// std::string("LArCustomShape: unknown shape name ") + -// a_shapeName; -// throw std::runtime_error(error); -// } else { -// if(createCalculator(s_calculatorTypes.at(name)).isFailure()){ // map.at throws std::out_of_range exception on unknown shape name -// std::string error = -// std::string("Can't create LArWheelCalculator for name ") + -// a_shapeName + " in LArCustomShape constructor"; -// throw std::runtime_error(error); -// } -// } -//#endif // Athena } LArCustomShape::~LArCustomShape() @@ -131,7 +109,7 @@ LArCustomShape::~LArCustomShape() //delete m_calculator; } -//#if defined XAOD_STANDALONE + int LArCustomShape::createCalculator(const CalcDef_t & cdef) { // LArG4::LArWheelCalculator_t wheelType, int zside std::cout << "LArCustomShape::createCalculator()" << std::endl; @@ -150,22 +128,6 @@ int LArCustomShape::createCalculator(const CalcDef_t & cdef) { // LArG4::LArWhee std::cout << "createCalculator() - done." << std::endl; } -//#else // XAOD_STANDALONE -//StatusCode LArCustomShape::createCalculator(const CalcDef_t & cdef) { // LArG4::LArWheelCalculator_t wheelType, int zside -// LArG4::LArWheelCalculator_t wheelType = cdef.first; -// int zside = cdef.second; -// -// std::string calcDSname = std::string("LAr::EMEC::")+ (zside>0?"Pos::":"Neg::")+LArWheelCalculator::LArWheelCalculatorTypeString(wheelType); -// if(detStore()->contains<LArWheelCalculator>(calcDSname)){ -// return detStore()->retrieve(m_calculator, calcDSname); -// } -// -// m_calculator = new LArWheelCalculator(wheelType, zside); -// -// // ownership is passed to detStore -// return detStore()->record(m_calculator, calcDSname); -//} -//#endif // Athena const LArWheelCalculator *LArCustomShape::calculator() const { diff --git a/GeoSpecialShapes/src/LArWheelCalculator.cxx b/GeoSpecialShapes/src/LArWheelCalculator.cxx index baaae58..0792b35 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator.cxx +++ b/GeoSpecialShapes/src/LArWheelCalculator.cxx @@ -9,31 +9,11 @@ #include <climits> #include <cassert> -//#ifndef BUILDVP1LIGHT -// #include "GaudiKernel/ISvcLocator.h" -// #include "GaudiKernel/Bootstrap.h" -// #include "GaudiKernel/MsgStream.h" -// #include "GaudiKernel/PhysicalConstants.h" -// #include "GeoModelInterfaces/IGeoModelSvc.h" -// #include "RDBAccessSvc/IRDBRecord.h" -// #include "RDBAccessSvc/IRDBRecordset.h" -// #include "RDBAccessSvc/IRDBAccessSvc.h" -// #include "./LArWheelCalculator_Impl/RDBParamReader.h" -// #include "./LArWheelCalculator_Impl/RDBParamRecords.h" -//#endif - -//#include "GeoModelUtilities/DecodeVersionKey.h" - #include "GeoSpecialShapes/LArWheelCalculator.h" #include "./LArWheelCalculator_Impl/DistanceCalculatorFactory.h" #include "./LArWheelCalculator_Impl/FanCalculatorFactory.h" -//#include "AthenaKernel/Units.h" - - -//using namespace Athena::Units; -//using Gaudi::Units::twopi; // The radial boundaries of the inner and outer wheels are defined @@ -114,25 +94,6 @@ LArWheelCalculator::LArWheelCalculator(LArG4::LArWheelCalculator_t a_wheelType, m_distanceCalcImpl(0), m_fanCalcImpl(0) { - // Get pointer to the message service - //ISvcLocator* svcLocator = Gaudi::svcLocator(); - //IMessageSvc* msgSvc; - //StatusCode status = svcLocator->service("MessageSvc", msgSvc); - //if(status.isFailure()){ - // throw std::runtime_error("LArWheelCalculator constructor: cannot initialze message service"); - //} - //MsgStream msg(msgSvc, "LArWheelCalculator"); - //msg << MSG::VERBOSE << "LArWheelCalculator constructor at " << this - // << " (type " << LArWheelCalculatorTypeString(m_type) - // << "):" << endmsg; - -//#ifdef LARWC_DTNF_NEW -// msg << MSG::VERBOSE << "compiled with new DTNF" << endmsg; -//#endif - - // Access source of detector parameters. - // msg << MSG::VERBOSE - // << "initializing data members from DB..." << endmsg; //#ifndef BUILDVP1LIGHT @@ -199,43 +160,6 @@ LArWheelCalculator::LArWheelCalculator(LArG4::LArWheelCalculator_t a_wheelType, // m_zWheelFrontFace = m_dMechFocaltoWRP + m_dWRPtoFrontFace; // m_zWheelBackFace = m_zWheelFrontFace + m_WheelThickness; // -// msg << MSG::DEBUG << "... got these values:" << std::endl -// << "m_zWheelRefPoint : " << m_zWheelRefPoint / cm << " [cm]" << std::endl -// << "m_dMechFocaltoWRP : " << m_dMechFocaltoWRP / cm << " [cm]" << std::endl -// << "m_dElecFocaltoWRP : " << m_dElecFocaltoWRP / cm << " [cm]" << std::endl -// << "m_HalfGapBetweenWheels : " << m_HalfGapBetweenWheels / cm << " [cm]" << std::endl -// << "m_rOuterCutoff : " << m_rOuterCutoff / cm << " [cm]" << std::endl -// << "m_zWheelFrontFace : " << m_zWheelFrontFace / cm << " [cm]" << std::endl -// << "m_zWheelBackFace : " << m_zWheelBackFace / cm << " [cm]" << std::endl -// << "m_zShift : " << m_zShift / cm << " [cm]" << std::endl -// << "Phi rotation : " << (m_phiRotation? "true": "false") << std::endl -// << "eta wheels limits : " << m_eta_low << ", " << m_eta_mid << ", " << m_eta_hi -// << endmsg; -// msg << MSG::VERBOSE << "hardcoded constants: " << std::endl -// << "m_WheelThickness : " << m_WheelThickness / cm << " [cm]" << std::endl -// << "m_dWRPtoFrontFace : " << m_dWRPtoFrontFace / cm << " [cm]" -// << endmsg; - - //#endif -//#ifdef BUILDVP1LIGHT //FIXME: check all this!!! - //TO DO: put real values - //m_zWheelRefPoint = 999;// / cm - //m_dMechFocaltoWRP = 999;// / cm << " [cm]" << std::endl - //m_dElecFocaltoWRP = 999;// : " << m_dElecFocaltoWRP / cm << " [cm]" << std::endl - //m_HalfGapBetweenWheels = 999;// : " << m_HalfGapBetweenWheels / cm << " [cm]" << std::endl - //m_rOuterCutoff = 999;// : " << m_rOuterCutoff / cm << " [cm]" << std::endl - //m_zWheelFrontFace = 999;// : " << m_zWheelFrontFace / cm << " [cm]" << std::endl - //m_zWheelBackFace = 999;// : " << m_zWheelBackFace / cm << " [cm]" << std::endl - //m_zShift = 999;// : " << m_zShift / cm << " [cm]" << std::endl - m_phiRotation = true;//? "true": "false") << std::endl - //m_eta_low = 999;// - //m_eta_mid = 999;// - //m_eta_hi = 999;// - - //m_WheelThickness = 999;// : " << m_WheelThickness / cm << " [cm]" << std::endl - //m_dWRPtoFrontFace = 999;// : " << m_dWRPtoFrontFace / cm << " [cm]" -//#endif - // Constructor initializes the geometry. diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx index 055baef..fad07f8 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.cxx @@ -12,17 +12,15 @@ namespace LArWheelCalculator_Impl { IDistanceCalculator* DistanceCalculatorFactory::Create(const std::string & sagging_opt, - LArWheelCalculator* lwc/*, - IRDBAccessSvc* rdbAccess, - const DecodeVersionKey & larVersionKey*/) + LArWheelCalculator* lwc) { // the same condition is in LArWheelCalculator constructor bool SaggingOn = (sagging_opt != "" && sagging_opt != "off")? true: false; if (SaggingOn) { - return new DistanceCalculatorSaggingOn(sagging_opt, lwc/*, rdbAccess, larVersionKey*/); + return new DistanceCalculatorSaggingOn(sagging_opt, lwc); } else { - return new DistanceCalculatorSaggingOff(lwc/*, rdbAccess, larVersionKey*/ ); + return new DistanceCalculatorSaggingOff(lwc); } } diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.h index f1dbc8d..7fd5a6d 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.h +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorFactory.h @@ -10,10 +10,6 @@ #include <string> #include "IDistanceCalculator.h" -//#ifndef BUILDVP1LIGHT -// #include "RDBAccessSvc/IRDBAccessSvc.h" -//#endif -//#include "GeoModelUtilities/DecodeVersionKey.h" class LArWheelCalculator; diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx index 47289c4..aea5269 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.cxx @@ -6,7 +6,6 @@ #include "GeoSpecialShapes/LArWheelCalculator.h" #include "GeoModelKernel/GeoDefinitions.h" -//#include "GaudiKernel/PhysicalConstants.h" #include<cassert> //#define LWC_PARAM_ANGLE @@ -17,19 +16,12 @@ #include<signal.h> -//using namespace Gaudi::Units; - // Physical constants #include "GeoModelKernel/Units.h" #define SYSTEM_OF_UNITS GeoModelKernelUnits namespace LArWheelCalculator_Impl -{ - - //DistanceCalculatorSaggingOff::DistanceCalculatorSaggingOff(LArWheelCalculator* c, - // IRDBAccessSvc* /*rdbAccess*/, - // const DecodeVersionKey & /*larVersionKey*/) - DistanceCalculatorSaggingOff::DistanceCalculatorSaggingOff(LArWheelCalculator* c) +{ DistanceCalculatorSaggingOff::DistanceCalculatorSaggingOff(LArWheelCalculator* c) : m_lwc(c) { m_EndQuarterWave = lwc()->m_ActiveLength - lwc()->m_QuarterWaveLength; diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.h index 6812002..fe19799 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.h +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOff.h @@ -8,8 +8,6 @@ #include "IDistanceCalculator.h" #include "GeoModelKernel/GeoDefinitions.h" -//#include "RDBAccessSvc/IRDBAccessSvc.h" -//#include "GeoModelUtilities/DecodeVersionKey.h" class LArWheelCalculator; @@ -26,9 +24,7 @@ namespace LArWheelCalculator_Impl public: /// Constructor - DistanceCalculatorSaggingOff(LArWheelCalculator* lwc/*, - IRDBAccessSvc* rdbAccess, - const DecodeVersionKey& larVersionKey*/); + DistanceCalculatorSaggingOff(LArWheelCalculator* lwc); /// @name Geometry methods /// @{ diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx index c7cf211..7e7c1c9 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.cxx @@ -2,12 +2,7 @@ Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration */ -//#include "GaudiKernel/ISvcLocator.h" -//#include "GaudiKernel/Bootstrap.h" -//#include "GaudiKernel/MsgStream.h" - #include "DistanceCalculatorSaggingOn.h" -//#include "CLHEP/Vector/ThreeVector.h" #include "GeoModelKernel/GeoDefinitions.h" #include <vector> @@ -15,9 +10,6 @@ #include "GeoSpecialShapes/LArWheelCalculator.h" -//#include "AthenaKernel/Units.h" -//using Athena::Units::mm; - // Physical constants #include "GeoModelKernel/Units.h" #define SYSTEM_OF_UNITS GeoModelKernelUnits diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.h index 7ca0448..31ab47d 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.h +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/DistanceCalculatorSaggingOn.h @@ -27,9 +27,7 @@ namespace LArWheelCalculator_Impl /// Constructor DistanceCalculatorSaggingOn(const std::string& saggingOptions, - LArWheelCalculator* lwc/*, - IRDBAccessSvc* rdbAccess, - const DecodeVersionKey & larVersionKey*/); + LArWheelCalculator* lwc); /// @name Geometry methods /// @{ diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx b/GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx index 0fb27ac..be80f09 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.cxx @@ -11,17 +11,15 @@ namespace LArWheelCalculator_Impl { IFanCalculator* FanCalculatorFactory::Create(bool isSaggingOn, bool isModule, - LArWheelCalculator* lwc/*, - IRDBAccessSvc* rdbAccess, - const DecodeVersionKey& larVersionKey*/) + LArWheelCalculator* lwc) { if (isModule) { - return new ModuleFanCalculator(lwc/*, rdbAccess, larVersionKey*/); + return new ModuleFanCalculator(lwc); } if (isSaggingOn) { - return new WheelFanCalculator<SaggingOn_t>(lwc/*, rdbAccess, larVersionKey*/); + return new WheelFanCalculator<SaggingOn_t>(lwc); } else { - return new WheelFanCalculator<SaggingOff_t>(lwc/*, rdbAccess, larVersionKey*/); + return new WheelFanCalculator<SaggingOff_t>(lwc); } } diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.h index 79b207f..e4f8f37 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.h +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/FanCalculatorFactory.h @@ -7,8 +7,6 @@ #include "IFanCalculator.h" -//#include "RDBAccessSvc/IRDBAccessSvc.h" -//#include "GeoModelUtilities/DecodeVersionKey.h" class LArWheelCalculator; @@ -24,9 +22,7 @@ namespace LArWheelCalculator_Impl { public: static IFanCalculator* Create(bool isSaggingOn, bool isModule, - LArWheelCalculator* lwc/*, - IRDBAccessSvc* rdbAccess, - const DecodeVersionKey & larVersionKey*/); + LArWheelCalculator* lwc); }; } diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/IDistanceCalculator.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/IDistanceCalculator.h index 4bc81b2..bb553a6 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/IDistanceCalculator.h +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/IDistanceCalculator.h @@ -5,8 +5,6 @@ #ifndef __LArWheelCalculator_Impl_IDistanceCalculator_H__ #define __LArWheelCalculator_Impl_IDistanceCalculator_H__ - -//#include "CLHEP/Vector/ThreeVector.h" #include "GeoModelKernel/GeoDefinitions.h" namespace LArWheelCalculator_Impl diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/IFanCalculator.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/IFanCalculator.h index cd0f7dc..56f9e06 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/IFanCalculator.h +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/IFanCalculator.h @@ -5,8 +5,6 @@ #ifndef __LArWheelCalculator_Impl_IFanCalculator_H__ #define __LArWheelCalculator_Impl_IFanCalculator_H__ - -//#include "CLHEP/Vector/ThreeVector.h" #include "GeoModelKernel/GeoDefinitions.h" namespace LArWheelCalculator_Impl diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx b/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx index 3008f52..6079e0c 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.cxx @@ -6,10 +6,7 @@ #include "GeoSpecialShapes/LArWheelCalculator.h" #include "GeoModelKernel/GeoDefinitions.h" -//#include "CLHEP/Vector/ThreeVector.h" -//#include "GaudiKernel/PhysicalConstants.h" -//using namespace Gaudi::Units; // Physical constants #include "GeoModelKernel/Units.h" #define SYSTEM_OF_UNITS GeoModelKernelUnits @@ -20,10 +17,6 @@ namespace LArWheelCalculator_Impl { - - //ModuleFanCalculator::ModuleFanCalculator(LArWheelCalculator* lwc, - // IRDBAccessSvc* /*rdbAccess*/, - // const DecodeVersionKey & /*larVersionKey*/) ModuleFanCalculator::ModuleFanCalculator(LArWheelCalculator* lwc) : m_lwc(lwc) { diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.h index da2cfbc..a0fe5ce 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.h +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/ModuleFanCalculator.h @@ -6,8 +6,6 @@ #define __LArWheelCalculator_Impl_ModuleFanCalculator_H__ #include "IFanCalculator.h" -//#include "RDBAccessSvc/IRDBAccessSvc.h" -//#include "GeoModelUtilities/DecodeVersionKey.h" #include "GeoModelKernel/GeoDefinitions.h" class LArWheelCalculator; @@ -19,9 +17,7 @@ namespace LArWheelCalculator_Impl class ModuleFanCalculator : public IFanCalculator { public: - ModuleFanCalculator(LArWheelCalculator* lwc/*, - IRDBAccessSvc* rdbAccess, - const DecodeVersionKey & larVersionKey*/); + ModuleFanCalculator(LArWheelCalculator* lwc); // geometry methods: virtual double DistanceToTheNearestFan(GeoTrf::Vector3D &p, int & out_fan_number) const; diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/WheelFanCalculator.h b/GeoSpecialShapes/src/LArWheelCalculator_Impl/WheelFanCalculator.h index c372142..44ad15a 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/WheelFanCalculator.h +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/WheelFanCalculator.h @@ -6,12 +6,9 @@ #define LARWHEELCALCULATOR_IMPL_WHEELFANCALCULATOR_H #include "IFanCalculator.h" -//#include "RDBAccessSvc/IRDBAccessSvc.h" -//#include "GeoModelUtilities/DecodeVersionKey.h" #include "GeoSpecialShapes/LArWheelCalculator.h" #include "GeoModelKernel/GeoDefinitions.h" -//#include "GaudiKernel/PhysicalConstants.h" // Physical constants #include "GeoModelKernel/Units.h" #define SYSTEM_OF_UNITS GeoModelKernelUnits diff --git a/GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx b/GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx index 8d47d28..2a7f18b 100644 --- a/GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx +++ b/GeoSpecialShapes/src/LArWheelCalculator_Impl/sincos_poly.cxx @@ -4,18 +4,6 @@ #include "GeoSpecialShapes/LArWheelCalculator.h" #include "GeoSpecialShapes/sincos.h" -//#include "CLHEP/Units/SystemOfUnits.h" - -/// TO DO : Dependencies from fROOT - gone -/// TO BE TESTED : RowVectorXd equivalent of TVectorD -/// MatrixXd equivalent of TMatrixD - -//#include "TMath.h" -//#include "TMatrixD.h" -//#include "TVectorD.h" -//#include "TMatrixDLazy.h" -//#include "TDecompLU.h" -//#include "TDecompSVD.h" #include <Eigen/Dense> #include <vector> -- GitLab