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