23 #ifndef _INPUT_DATA_HH_
24 #define _INPUT_DATA_HH_
52 ,
const std :: vector< Scalar > & blockNumberController
55 ,
const Scalar & dist2BoundCoeff
56 ,
const Scalar & interBlockDistCoeff
57 ,
const std :: string & outputPath
58 ,
const std :: string & outputDirName)
70 blockCenterRandSeqId_ = ( unsigned ) time(0);
71 blockAngleRandSeqId_ = ( unsigned ) time(0);
72 blockCenterPertCoeff_ = 0;
77 ,
const std :: vector< Scalar > & blockNumberController
80 ,
const Scalar & dist2BoundCoeff
81 ,
const Scalar & interBlockDistCoeff
82 ,
const std :: string & outputPath
83 ,
const std :: string & outputDirName
84 ,
const std :: vector< std :: pair< Scalar, Scalar > > & blockCenter
85 ,
const std :: vector< Scalar > & blockAngle) :
InputData(xMin, xMax, blockNumberController, dr, rafCoeff, dist2BoundCoeff, interBlockDistCoeff, outputPath, outputDirName)
87 if ( blockCenter.size() < blockAngle.size() ) {
88 std :: cerr <<
"warning : blockCenter.size() < blockAngle.size() , additional angles will be ignored!!\n";
91 if ( blockCenter.size() > blockAngle.size() ) {
92 std :: cerr <<
"warning : blockCenter.size() > blockAngle.size() , additional angles will be randomly generated!!\n";
98 for (
unsigned int ib = 0; ib < blockCenter.size(); ++ib ) {
99 blockCenter_.push_back(blockCenter [ ib ]);
103 for (
unsigned int ib = 0; ib < blockCenter.size(); ++ib ) {
104 blockAngle_.push_back(blockAngle [ ib ]);
107 if ( blockCenter.size() > blockAngle.size() ) {
108 for (
unsigned int ib = 0; ib < ( blockCenter.size() - blockAngle.size() ); ++ib ) {
117 const std :: string &blockAngleDistribution,
118 const int &blockCenterRandSeqId,
119 const int &blockAngleRandSeqId,
120 const int &blockCenterPertCoeff)
165 const std :: vector< std :: pair< Scalar, Scalar > > &
blockCenter()
const
172 {
return blockCenter_.size(); }