66 lines
1.2 KiB
C++
66 lines
1.2 KiB
C++
//
|
|
// Parameters.hpp
|
|
// Parameters
|
|
//
|
|
// Created by Baranyai David on 2018. 06. 30..
|
|
// Copyright © 2018. Baranyai David. All rights reserved.
|
|
//
|
|
|
|
#ifndef Parameters_hpp
|
|
#define Parameters_hpp
|
|
|
|
#include <stdio.h>
|
|
#include <iostream>
|
|
#include <fstream>
|
|
#include <vector>
|
|
#include <string>
|
|
#include <sstream>
|
|
|
|
class Parameters
|
|
{
|
|
public:
|
|
static Parameters *GetInstance();
|
|
|
|
double GetMaterial(int, int, int); //Get by coordinates
|
|
double GetMaterial(int); //Get by index
|
|
std::vector<double> GetMaterialList(); //Get the whole vector
|
|
double GetListSize();
|
|
|
|
double GetEnergy();
|
|
void SetEnergy(double);
|
|
|
|
double GetShape();
|
|
void SetShape(double);
|
|
|
|
std::vector<double> GetDimension();
|
|
|
|
std::vector<double> GetVoxel();
|
|
|
|
~Parameters();
|
|
private:
|
|
Parameters();
|
|
static Parameters *instance;
|
|
|
|
std::ifstream file;
|
|
|
|
double energy;
|
|
double shape;
|
|
|
|
/*
|
|
* Shape dimension
|
|
* X, Y, Z
|
|
*/
|
|
std::vector<double> dimension;
|
|
|
|
/*
|
|
* Voxel
|
|
* X, Y, Z
|
|
*/
|
|
std::vector<double> n;
|
|
double n_sum = 1;
|
|
|
|
std::vector<double> material;
|
|
};
|
|
|
|
#endif /* Parameters_hpp */
|