2017-10-29 12:17:15 +01:00
|
|
|
#include <iostream>
|
2017-10-30 09:41:11 +01:00
|
|
|
#include "BM1DProcess.hh"
|
|
|
|
#include "Plotter.hh"
|
2017-10-29 12:17:15 +01:00
|
|
|
#include "TApplication.h"
|
|
|
|
|
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
int main(int argc, char* argv[])
|
|
|
|
{
|
2017-10-31 11:28:19 +01:00
|
|
|
Int_t nSteps, nRuns, x0,x1,x2,x3;
|
2017-10-31 10:39:23 +01:00
|
|
|
Double_t mu1, mu2, sigma1, sigma2;
|
|
|
|
string fileName="input.root";
|
2017-10-31 11:28:19 +01:00
|
|
|
char random_type='u';
|
2017-10-31 10:39:23 +01:00
|
|
|
Int_t vis, typeOfRun;
|
|
|
|
|
2017-10-31 11:28:19 +01:00
|
|
|
nSteps=nRuns=x0=x1=x2=x3=vis=typeOfRun=0;
|
2017-10-31 10:39:23 +01:00
|
|
|
mu1=mu2=sigma1=sigma2=0.0;
|
|
|
|
if(argc==15)
|
|
|
|
{
|
|
|
|
nSteps=atoi(argv[1]);
|
|
|
|
nRuns=atoi(argv[2]);
|
2017-10-31 11:28:19 +01:00
|
|
|
x0=atoi(argv[3]);
|
|
|
|
x1=atoi(argv[4]);
|
|
|
|
x2=atoi(argv[5]);
|
|
|
|
x3=atoi(argv[6]);
|
2017-10-31 10:39:23 +01:00
|
|
|
mu1=atof(argv[7]);
|
|
|
|
mu2=atof(argv[8]);
|
|
|
|
sigma1=atof(argv[9]);
|
|
|
|
sigma2=atof(argv[10]);
|
|
|
|
fileName=argv[11];
|
2017-10-31 11:28:19 +01:00
|
|
|
random_type=argv[13][0];
|
|
|
|
vis=atoi(argv[14]); if((vis!=0)||(vis!=1)){vis=0;}
|
|
|
|
typeOfRun=atoi(argv[15]); if((typeOfRun!=0)||(typeOfRun!=1)||(typeOfRun!=2)){typeOfRun=0;}
|
2017-10-31 10:39:23 +01:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
//default runs with less parameters
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2017-10-30 09:41:11 +01:00
|
|
|
TApplication App("tapp", &argc, argv);
|
|
|
|
Int_t n = 1000;
|
|
|
|
BM1DProcess *myBM1DProcess = new BM1DProcess(n);
|
|
|
|
myBM1DProcess->Init();
|
2017-10-31 11:28:19 +01:00
|
|
|
switch(random_type){
|
|
|
|
case 'u':
|
|
|
|
myBM1DProcess->Run(nRuns, nSteps, x0, x1);
|
|
|
|
break;
|
|
|
|
case 'g':
|
|
|
|
myBM1DProcess->Run(nRuns, nSteps, x0, mu1, sigma1);
|
|
|
|
break;
|
|
|
|
case 'l':
|
|
|
|
myBM1DProcess->Run(nRuns, nSteps, x0, x1, x2, mu1, sigma1, mu2, sigma2);
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
cout<<"ERROR! Wrong parameter for type of random generator! \n No run!"<<endl;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2017-10-30 09:41:11 +01:00
|
|
|
Plotter* myPlotter = new Plotter();
|
|
|
|
myPlotter->Plot(n, myBM1DProcess->GetT(), myBM1DProcess->GetX());
|
2017-10-29 12:17:15 +01:00
|
|
|
|
2017-10-30 09:41:11 +01:00
|
|
|
App.Run();
|
|
|
|
return 0;
|
2017-10-29 12:17:15 +01:00
|
|
|
}
|