当前位置: 首页>>代码示例>>C++>>正文


C++ Parameters::GetParametersDouble方法代码示例

本文整理汇总了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] );
}
开发者ID:simw,项目名称:opacity,代码行数:25,代码来源:store.cpp

示例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.;
}
开发者ID:simw,项目名称:opacity,代码行数:55,代码来源:zcolldist.cpp

示例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_;
}
开发者ID:simw,项目名称:opacity,代码行数:89,代码来源:radcalcer.cpp


注:本文中的Parameters::GetParametersDouble方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。