Version 1.2 - Upload to repo
This commit is contained in:
parent
09f5881738
commit
292e1a2b9b
|
@ -0,0 +1,81 @@
|
||||||
|
/// BM1D program. Date: 2017-10-29 Creators: Balázs Demeter, Balázs Ujvári
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
#include "Progress.hh"
|
||||||
|
#include "TApplication.h"
|
||||||
|
#include "TGraph.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
void OpenRootFile()
|
||||||
|
{
|
||||||
|
TFile *fIn = TFile::Open("Plot1.root", "READ");
|
||||||
|
fIn->ls();
|
||||||
|
TGraph *Ga;
|
||||||
|
TGraph *Gb;
|
||||||
|
fIn->GetObject("1", Ga);
|
||||||
|
fIn->GetObject("2", Gb);
|
||||||
|
Ga->Draw();
|
||||||
|
Gb->Draw("same");
|
||||||
|
delete fIn;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int main(int argc, char* argv[])
|
||||||
|
{
|
||||||
|
Int_t n = 1000;
|
||||||
|
|
||||||
|
TApplication App("tapp", &argc, argv);
|
||||||
|
TCanvas* Canv = new TCanvas("c10","Live display",800,400);
|
||||||
|
|
||||||
|
if(argc==2)
|
||||||
|
{
|
||||||
|
OpenRootFile();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
Progress* Pr1 = new Progress(n);
|
||||||
|
Progress* Pr2 = new Progress(n);
|
||||||
|
|
||||||
|
Pr1->Count('u');
|
||||||
|
Pr2->Count('g');
|
||||||
|
|
||||||
|
vector<Double_t> x1 = Pr1->GetX();
|
||||||
|
vector<Double_t> y1 = Pr1->GetY();
|
||||||
|
vector<Double_t> x2 = Pr2->GetX();
|
||||||
|
vector<Double_t> y2 = Pr2->GetY();
|
||||||
|
|
||||||
|
TGraph* G1 = new TGraph(n,&x1[0],&y1[0]);
|
||||||
|
TGraph* G2 = new TGraph(n,&x2[0],&y2[0]);
|
||||||
|
|
||||||
|
TFile* fOut = new TFile("Plot1.root", "RECREATE");
|
||||||
|
|
||||||
|
G1->SetLineColor(1);
|
||||||
|
G1->SetLineWidth(1);
|
||||||
|
G1->SetMarkerColor(1);
|
||||||
|
G1->SetMarkerStyle(0);
|
||||||
|
G1->SetTitle("Brownian Movement D=1");
|
||||||
|
G1->GetXaxis()->SetTitle("X");
|
||||||
|
G1->GetYaxis()->SetTitle("Time");
|
||||||
|
G2->SetLineColor(2);
|
||||||
|
G2->SetLineWidth(1);
|
||||||
|
G2->SetMarkerColor(2);
|
||||||
|
G2->SetMarkerStyle(0);
|
||||||
|
G2->SetTitle("Brownian Movement D=1");
|
||||||
|
G2->GetXaxis()->SetTitle("X");
|
||||||
|
G2->GetYaxis()->SetTitle("Time");
|
||||||
|
|
||||||
|
G1->Draw();
|
||||||
|
G2->Draw("same");
|
||||||
|
G1->Write("1");
|
||||||
|
G2->Write("2");
|
||||||
|
|
||||||
|
fOut->Close();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
App.Run();
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,40 @@
|
||||||
|
# $Id: CMakeLists.txt 12345 2017-10-26 10:11:23 Demeter Balázs $
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Setup the project
|
||||||
|
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
|
||||||
|
project(BM1D)
|
||||||
|
|
||||||
|
list(APPEND CMAKE_PREFIX_PATH $ENV{ROOTSYS})
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Find ROOT (required package)
|
||||||
|
#
|
||||||
|
find_package(ROOT REQUIRED)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Setup ROOT include directories and compile definitions
|
||||||
|
#
|
||||||
|
include(${ROOT_USE_FILE})
|
||||||
|
|
||||||
|
# Setup include directory for this project
|
||||||
|
#
|
||||||
|
include_directories(${PROJECT_SOURCE_DIR}/include ${ROOT_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Locate sources and headers for this project
|
||||||
|
# NB: headers are included so they will show up in IDEs
|
||||||
|
#
|
||||||
|
file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc)
|
||||||
|
file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh)
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Add the executable
|
||||||
|
#
|
||||||
|
add_executable(BM1D BM1D.cc ${sources} ${headers})
|
||||||
|
target_link_libraries(BM1D ${ROOT_LIBRARIES} )
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Install the executable to 'bin' directory under CMAKE_INSTALL_PREFIX
|
||||||
|
#
|
||||||
|
install(TARGETS BM1D DESTINATION bin)
|
|
@ -0,0 +1,45 @@
|
||||||
|
/// BM1D program. Date: 2017-10-29 Creators: Balázs Demeter, Balázs Ujvári
|
||||||
|
|
||||||
|
#ifndef Progress_h
|
||||||
|
#define Progress_h 1
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
#include <string>
|
||||||
|
#include <fstream>
|
||||||
|
#include <cmath>
|
||||||
|
|
||||||
|
#include "TROOT.h"
|
||||||
|
#include "TF1.h"
|
||||||
|
#include "TH1.h"
|
||||||
|
#include "TH2.h"
|
||||||
|
#include "TH3.h"
|
||||||
|
#include "TNtuple.h"
|
||||||
|
#include "TFile.h"
|
||||||
|
#include "TRandom.h"
|
||||||
|
#include "TMath.h"
|
||||||
|
#include "TCanvas.h"
|
||||||
|
|
||||||
|
class Progress {
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
Progress(Int_t n);
|
||||||
|
~Progress();
|
||||||
|
|
||||||
|
void Count(char a);
|
||||||
|
|
||||||
|
std::vector<Double_t> GetX();
|
||||||
|
std::vector<Double_t> GetY();
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
TRandom* random1;
|
||||||
|
const Int_t n;
|
||||||
|
std::vector<Double_t> x;
|
||||||
|
std::vector<Double_t> y;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Author: Balázs Demeter (balazsdemeter92@gmail.com)
|
||||||
|
# Version: 1.0
|
||||||
|
#
|
||||||
|
# Script for build and make Brownian movement in one dimension
|
||||||
|
|
||||||
|
mkdir bm1d_build
|
||||||
|
cd bm1d_build
|
||||||
|
cmake ../
|
||||||
|
make
|
||||||
|
echo Setup complete.
|
|
@ -0,0 +1,67 @@
|
||||||
|
/// BM1D program. Date: 2017-10-29 Creators: Balázs Demeter, Balázs Ujvári
|
||||||
|
|
||||||
|
#include "Progress.hh"
|
||||||
|
|
||||||
|
Progress::Progress(Int_t nP) :
|
||||||
|
n (nP)
|
||||||
|
{
|
||||||
|
random1 = new TRandom();
|
||||||
|
}
|
||||||
|
|
||||||
|
Progress::~Progress()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Progress::Count(char a)
|
||||||
|
{
|
||||||
|
for (Int_t i=0;i<n;i++)
|
||||||
|
{
|
||||||
|
if(i==0)
|
||||||
|
{
|
||||||
|
x.push_back(0.0);
|
||||||
|
y.push_back(0.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
y.push_back((Double_t)i);
|
||||||
|
|
||||||
|
switch(a)
|
||||||
|
{
|
||||||
|
case 'u':
|
||||||
|
if(random1->Uniform()>=0.5)
|
||||||
|
{
|
||||||
|
x.push_back(x[i-1]-0.1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
x.push_back(x[i-1]+0.1);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'g':
|
||||||
|
if(random1->Gaus()>=0.5)
|
||||||
|
{
|
||||||
|
x.push_back(x[i-1]-0.1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
x.push_back(x[i-1]+0.1);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
std::cout<<"Invalid argument!"<<std::endl;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<Double_t> Progress::GetX()
|
||||||
|
{
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<Double_t> Progress::GetY()
|
||||||
|
{
|
||||||
|
return y;
|
||||||
|
}
|
Loading…
Reference in New Issue