From 673356a1397afb75e4f036ca3840efc1c826c93f Mon Sep 17 00:00:00 2001 From: Marina Ganeva <m.ganeva@fz-juelich.de> Date: Fri, 6 Dec 2013 10:20:05 +0100 Subject: [PATCH] C++ example for cylinders and prisms is working now. --- CMakeLists.txt | 3 + .../CylindersAndPrisms.cpp | 58 ++++++++----------- .../CylindersAndPrisms.h | 8 +-- .../modules/FindBornAgain.cmake | 5 +- 4 files changed, 34 insertions(+), 40 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ee5d52b0fb4..753386fa400 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,9 @@ cmake_minimum_required(VERSION 2.8.3 FATAL_ERROR) project(BornAgain) +set (CMAKE_CXX_FLAGS "-H -Wall") + + # --- The version number --- set(BornAgain_VERSION_MAJOR 0) set(BornAgain_VERSION_MINOR 9) diff --git a/Examples/cpp/ex001_CylindersAndPrisms/CylindersAndPrisms.cpp b/Examples/cpp/ex001_CylindersAndPrisms/CylindersAndPrisms.cpp index 359f3f17067..37b17139d63 100644 --- a/Examples/cpp/ex001_CylindersAndPrisms/CylindersAndPrisms.cpp +++ b/Examples/cpp/ex001_CylindersAndPrisms/CylindersAndPrisms.cpp @@ -59,48 +59,40 @@ void CylindersAndPrismsExample::setSample() void CylindersAndPrismsExample::setSimulation() { - m_simulation = new Simulation(); + m_simulation = new Simulation(); m_simulation->setDetectorParameters( - 100,-1.0*Units::degree, 1.0*Units::degree, 100, - 0.0*Units::degree, 2.0*Units::degree, true); + 400,-1.0*Units::degree, 1.0*Units::degree, 400, + 0.0*Units::degree, 2.0*Units::degree, true); m_simulation->setBeamParameters( - 1.0*Units::angstrom, 0.2*Units::degree, 0.0*Units::degree); + 1.0*Units::angstrom, 0.2*Units::degree, 0.0*Units::degree); m_simulation->setSample(*m_sample); } CylindersAndPrismsExample::CylindersAndPrismsExample() : m_result(0) { - setSample(); + setSample(); setSimulation(); } void CylindersAndPrismsExample::runSimulation() { - m_simulation->runSimulation(); + m_simulation->runSimulation(); m_result = m_simulation->getIntensityData(); - -//=====DEBUG============ - std::cout << "Rank: " << m_result->getRank() << ", Size: " << m_result->getAllocatedSize() << std::endl; - - for (size_t i=0; i<m_result->getAllocatedSize();++i){ - std::cout << (*m_result)[i] << std::endl; - } -//=========DEBUG==END=========== } void CylindersAndPrismsExample::drawResult() { - const IAxis *axisPhi = m_result->getAxis(0); - const IAxis *axisAlpha = m_result->getAxis(1); + const IAxis *axisPhi = m_result->getAxis(0); + const IAxis *axisAlpha = m_result->getAxis(1); - size_t nPhibins = axisPhi->getSize(); - size_t nAlphabins = axisAlpha->getSize(); + size_t nPhibins = axisPhi->getSize(); + size_t nAlphabins = axisAlpha->getSize(); - TH2D *hist = new TH2D("Layer with Roughness", "Layer with Roughness", - (int)nPhibins, axisPhi->getMin()/Units::degree, axisPhi->getMax()/Units::degree, - (int)nAlphabins, axisAlpha->getMin()/Units::degree, axisAlpha->getMax()/Units::degree); + TH2D *hist = new TH2D("Cylinders and prisms", "Cylinders and prisms", + (int)nPhibins, axisPhi->getMin()/Units::degree, axisPhi->getMax()/Units::degree, + (int)nAlphabins, axisAlpha->getMin()/Units::degree, axisAlpha->getMax()/Units::degree); hist->GetXaxis()->SetTitle( axisPhi->getName().c_str() ); hist->GetYaxis()->SetTitle( axisAlpha->getName().c_str() ); @@ -114,20 +106,20 @@ void CylindersAndPrismsExample::drawResult() hist->Fill(x/Units::degree, y/Units::degree, value); } - hist->SetContour(50); + hist->SetContour(50); hist->SetStats(0); hist->GetYaxis()->SetTitleOffset(1.1); gStyle->SetPalette(1); gStyle->SetOptStat(0); - TCanvas *c1 = new TCanvas("Layer with Roughness", "Layer with Roughness", 800, 800); - c1->cd(); - c1->SetLogz(); - hist->SetMinimum(1.0); - hist->DrawCopy("colz"); - c1->Update(); - + TCanvas *c1 = new TCanvas("Cylinders and prisms", "Cylinders and prisms", 980, 800); + c1->cd(); + c1->SetLogz(); + hist->SetMinimum(1.0); + hist->DrawCopy("colz"); + c1->Update(); + delete axisPhi; delete axisAlpha; delete hist; @@ -136,12 +128,12 @@ void CylindersAndPrismsExample::drawResult() int main(int argc, char **argv) { - CylindersAndPrismsExample* example = new CylindersAndPrismsExample(); + CylindersAndPrismsExample* example = new CylindersAndPrismsExample(); example->runSimulation(); - // TApplication *theApp = new TApplication("theApp", &argc, argv); - // example->drawResult(); - // theApp->Run(); + TApplication *theApp = new TApplication("theApp", &argc, argv); + example->drawResult(); + theApp->Run(); delete example; return 0; diff --git a/Examples/cpp/ex001_CylindersAndPrisms/CylindersAndPrisms.h b/Examples/cpp/ex001_CylindersAndPrisms/CylindersAndPrisms.h index d6379a811f1..81d321267ea 100644 --- a/Examples/cpp/ex001_CylindersAndPrisms/CylindersAndPrisms.h +++ b/Examples/cpp/ex001_CylindersAndPrisms/CylindersAndPrisms.h @@ -16,13 +16,13 @@ public: void drawResult(); protected: - void setSample(); + void setSample(); void setSimulation(); private: - OutputData<double> *m_result; - Simulation *m_simulation; - MultiLayer *m_sample; + OutputData<double> *m_result; + Simulation *m_simulation; + MultiLayer *m_sample; }; #endif /* CYLINDERSANDPRISMS_H_ */ diff --git a/Examples/cpp/ex001_CylindersAndPrisms/modules/FindBornAgain.cmake b/Examples/cpp/ex001_CylindersAndPrisms/modules/FindBornAgain.cmake index ad4de305b83..7209e9d3a2a 100644 --- a/Examples/cpp/ex001_CylindersAndPrisms/modules/FindBornAgain.cmake +++ b/Examples/cpp/ex001_CylindersAndPrisms/modules/FindBornAgain.cmake @@ -22,9 +22,8 @@ find_library (BORNAGAIN_FIT BornAgainFit set(BORNAGAIN_LIBRARIES ${BORNAGAIN_CORE} ${BORNAGAIN_FIT}) find_path(BORNAGAIN_INCLUDE_DIR BAVersion.h - /usr/include/BornAgain - /usr/local/include/BornAgain - /opt/local/include/BornAgain + PATHS /usr/include /usr/local/include /opt/local/include ${BORNAGAIN_INCLUDE_DIR} + PATH_SUFFIXES BornAgain HINTS ${BORNAGAIN_INCLUDE_DIR} ) -- GitLab