本文整理汇总了C++中Parameters::GetParametersDouble方法的典型用法代码示例。如果您正苦于以下问题:C++ Parameters::GetParametersDouble方法的具体用法?C++ Parameters::GetParametersDouble怎么用?C++ Parameters::GetParametersDouble使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Parameters
的用法示例。
在下文中一共展示了Parameters::GetParametersDouble方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: long
void Store2D::SetParameters( Parameters& MyParameters )
{
std::vector<double> ReturnedParamsDouble1, ReturnedParamsDouble2;
std::list<std::string> ReturnedParamsString;
// First, get the details from the parameters object
double min1, max1, min2, max2;
long size1, size2;
ReturnedParamsDouble1 = MyParameters.GetParametersDouble( "@storedim1" );
if ( ReturnedParamsDouble1.size() < 3 )
std::cerr << "Error with @storedim1" << std::endl;
ReturnedParamsDouble2 = MyParameters.GetParametersDouble( "@storedim2" );
if ( ReturnedParamsDouble2.size() < 3 )
std::cerr << "Error with @storedim2" << std::endl;
size1 = long(ReturnedParamsDouble1.at(2)+0.5);
size2 = long(ReturnedParamsDouble2[2]+0.5);
min1 = ReturnedParamsDouble1[0];
min2 = ReturnedParamsDouble2[0];
max1 = ReturnedParamsDouble1[1];
max2 = ReturnedParamsDouble2[1];
SetSize( size1, size2, 1 );
SetLimitsDim1( ReturnedParamsDouble1[0], ReturnedParamsDouble1[1] );
SetLimitsDim2( ReturnedParamsDouble2[0], ReturnedParamsDouble2[1] );
}
示例2: zmin
ZposGenerator::ZposGenerator( Parameters& params_, long opacity_ )
: mSize( opacity_ ), mPositions( opacity_+1 )
{
std::vector<double> ReturnedParamsDouble;
std::vector<long> ReturnedParamsLong;
std::list<std::string> ReturnedParamsString;
// First, we get the parameters of the medium
// This is: 1st = mu, 2nd = temperature, 3rd = gluon mass, 4th = gluon mean free path
// Here, we only need the gluon mass
// the zDist will need the others
ReturnedParamsDouble = params_.GetParametersDouble( "@mediumParams" );
_mu = ReturnedParamsDouble[0];
_temp = ReturnedParamsDouble[1];
double _gluonlambda = ReturnedParamsDouble[3];
// The jet path length in the medium
ReturnedParamsDouble = params_.GetParametersDouble( "@pathLength" );
double _length = ReturnedParamsDouble[0];
double _maxlen;
_maxlen = _length * 5.;
_loverlambda = _length / _gluonlambda;
MyArray zmin(1), zmax(1), param(1);
// Reference function => the function under the integral
// Sample function => the function from which to sample our Monte Carlo points
// For uniform reference function
// UniformFunction refFn1( 1 );
// param[0] = 0.; zmin[0] = 0.; zmax[0] = _length;
// refFn1.SetLimits( zmin, zmax); refFn1.SetParams( param );
// For exponential decay reference function
ExpDecayFunction refFn1( 1 );
param[0] = _length / static_cast<double>(mSize+1); zmin[0] = 0.; zmax[0] = _maxlen;
refFn1.SetLimits( zmin, zmax ); refFn1.SetParams( param );
// For uniform sample function
// UniformFunction sampFn1( 1 );
// param[0] = 0.;
// sampFn1.SetParams( param );
// For exponential decay sample function
ExpDecayFunction sampFn1( 1 );
param[0] = _length / static_cast<double>(mSize+1);
sampFn1.SetParams( param );
refFn = refFn1;
sampleFn = sampFn1;
mPositions[0] = 0.;
}
示例3: if
RadCalcer::RadCalcer( Parameters& params_, long opacity_, bool correlated_ )
: zDist( params_, opacity_ ), qperps( opacity_, correlated_ ), n( opacity_ )
{
std::vector<double> ReturnedParamsDouble;
std::vector<long> ReturnedParamsLong;
std::list<std::string> ReturnedParamsString;
std::list<std::string>::iterator it;
// First, we get the parameters of the medium
// This is: 1st = mu, 2nd = temperature, 3rd = gluon mass, 4th = gluon mean free path
// Here, we only need the gluon mass
// the zDist will need the others
ReturnedParamsDouble = params_.GetParametersDouble( "@mediumParams" );
_mg = ReturnedParamsDouble[2];
// Next, get the jet flavour
ReturnedParamsString = params_.GetParametersString( "@jetFlavour" );
std::string jetFlavour = ReturnedParamsString.front();
if ( jetFlavour == "Gluon" )
{
_cr = 3.; _mass = _mg;
}
else if ( jetFlavour == "Light" )
{
_cr = 4./3.; _mass = _mg / sqrt(2);
}
else if ( jetFlavour == "Charm" )
{
_cr = 4./3.; _mass = 1.2;
}
else if ( jetFlavour == "Bottom" )
{
_cr = 4./3.; _mass = 4.75;
}
else
{
std::cerr << "@jetFlavour not understood" << std::endl;
exit(0);
}
// Now, check whether also specifying a jet mass
ReturnedParamsDouble = params_.GetParametersDouble( "@jetMassDirect" );
if ( ReturnedParamsDouble.size() > 0 )
_mass = ReturnedParamsDouble[0];
// Now, the momentum, to give the jet energy
ReturnedParamsDouble = params_.GetParametersDouble( "@jetMomentum" );
double jetMomentum = ReturnedParamsDouble[0];
// Now calculate and set energy, and mass
_en = sqrt( _mass*_mass + jetMomentum*jetMomentum );
// The jet path length in the medium
ReturnedParamsDouble = params_.GetParametersDouble( "@pathLength" );
_length = ReturnedParamsDouble[0];
// The setting on the k max
ReturnedParamsLong = params_.GetParametersLong( "@limitSet" );
_switchkmax = ReturnedParamsLong[0];
// The strong coupling, alpha_s
ReturnedParamsString = params_.GetParametersString( "@alpha" );
it = ReturnedParamsString.begin();
if ( *it == "fixed" )
{
++it;
_alphas = boost::lexical_cast<double>( *it );
}
else
{
std::cerr << "Radcalcer, @alpha not understood";
std::cerr << std::endl;
exit(0);
}
ReturnedParamsString = params_.GetParametersString( "@incClassicalDiffusion" );
if ( ReturnedParamsString.front() == "yes" )
_diffexclude = false;
else if ( ReturnedParamsString.front() == "no" )
_diffexclude = true;
else
{
std::cerr << "Radcalcer, @incClassicalDiffusion not understood as yes or no";
std::cerr << std::endl;
exit(0);
}
_correlated = correlated_;
}