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


C++ Solid::name方法代码示例

本文整理汇总了C++中Solid::name方法的典型用法代码示例。如果您正苦于以下问题:C++ Solid::name方法的具体用法?C++ Solid::name怎么用?C++ Solid::name使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Solid的用法示例。


在下文中一共展示了Solid::name方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: algorithm

static long algorithm(Detector& /* description */,
                      ParsingContext& ctxt,
                      xml_h e,
                      SensitiveDetector& /* sens */)
{
  typedef vector<double> vecdouble;
  Namespace      ns(ctxt, e, true);
  AlgoArguments  args(ctxt, e);
  string    mother       = args.parentName();
  string    genMat       = args.str("GeneralMaterial");           //General material name
  double    detectorTilt = args.dble("DetectorTilt");             //Detector Tilt
  double    layerL       = args.dble("LayerL");                   //Length of the layer

  double    radiusLo     = args.dble("RadiusLo");                 //Radius for detector at lower level
  int       stringsLo    = args.integer("StringsLo");             //Number of strings      ......
  string    detectorLo   = args.str("StringDetLoName");           //Detector string name   ......

  double    radiusUp     = args.dble("RadiusUp");                 //Radius for detector at upper level
  int       stringsUp    = args.integer("StringsUp");             //Number of strings      ......
  string    detectorUp   = args.str("StringDetUpName");           //Detector string name   ......

  double    cylinderT    = args.dble("CylinderThickness");        //Cylinder thickness
  double    cylinderInR  = args.dble("CylinderInnerRadius");      //Cylinder inner radius
  string    cylinderMat  = args.str("CylinderMaterial");          //Cylinder material
  double    MFRingInR    = args.dble("MFRingInnerRadius");        //Inner Manifold Ring Inner Radius 
  double    MFRingOutR   = args.dble("MFRingOuterRadius");        //Outer Manifold Ring Outer Radius 
  double    MFRingT      = args.dble("MFRingThickness");          //Manifold Ring Thickness
  double    MFRingDz     = args.dble("MFRingDeltaz");             //Manifold Ring Half Lenght
  string    MFIntRingMat = args.str("MFIntRingMaterial");         //Manifold Ring Material
  string    MFExtRingMat = args.str("MFExtRingMaterial");         //Manifold Ring Material

  double    supportT     = args.dble("SupportThickness");         //Cylinder barrel CF skin thickness

  string    centMat      = args.str("CentRingMaterial");          //Central rings  material
  vecdouble centRing1par = args.vecDble("CentRing1");             //Central rings parameters
  vecdouble centRing2par = args.vecDble("CentRing2");             //Central rings parameters

  string    fillerMat    = args.str("FillerMaterial");            //Filler material
  double    fillerDz     = args.dble("FillerDeltaz");             //Filler Half Length

  string    ribMat       = args.str("RibMaterial");               //Rib material
  vecdouble ribW         = args.vecDble("RibWidth");              //Rib width
  vecdouble ribPhi       = args.vecDble("RibPhi");                //Rib Phi position

  vecdouble dohmListFW   = args.vecDble("DOHMListFW");            //DOHM/AUX positions in #strings FW
  vecdouble dohmListBW   = args.vecDble("DOHMListBW");            //DOHM/AUX positions in #strings BW

  double    dohmtoMF            = args.dble("DOHMtoMFDist");      //DOHM Distance to MF
  double    dohmCarrierPhiOff   = args.dble("DOHMCarrierPhiOffset"); //DOHM Carrier Phi offset wrt horizontal
  string    dohmPrimName        = args.str("StringDOHMPrimName"); //DOHM Primary Logical Volume name
  string    dohmAuxName         = args.str("StringDOHMAuxName");  //DOHM Auxiliary Logical Volume name

  string    dohmCarrierMaterial = args.str("DOHMCarrierMaterial");//DOHM Carrier Material
  string    dohmCableMaterial   = args.str("DOHMCableMaterial");  //DOHM Cable Material
  double    dohmPrimL           = args.dble("DOHMPRIMLength");    //DOHM PRIMary Length
  string    dohmPrimMaterial    = args.str("DOHMPRIMMaterial");   //DOHM PRIMary Material
  double    dohmAuxL            = args.dble("DOHMAUXLength");     //DOHM AUXiliary Length
  string    dohmAuxMaterial     = args.str("DOHMAUXMaterial");    //DOHM AUXiliary Material

  string    pillarMaterial      = args.str("PillarMaterial");     //Pillar Material

  double    fwIntPillarDz       = args.dble("FWIntPillarDz");     //Internal pillar parameters
  double    fwIntPillarDPhi     = args.dble("FWIntPillarDPhi");  
  vecdouble fwIntPillarZ        = args.vecDble("FWIntPillarZ");  
  vecdouble fwIntPillarPhi      = args.vecDble("FWIntPillarPhi");  
  double    bwIntPillarDz       = args.dble("BWIntPillarDz");  
  double    bwIntPillarDPhi     = args.dble("BWIntPillarDPhi");  
  vecdouble bwIntPillarZ        = args.vecDble("BWIntPillarZ");  
  vecdouble bwIntPillarPhi      = args.vecDble("BWIntPillarPhi");  

  double    fwExtPillarDz       = args.dble("FWExtPillarDz");        //External pillar parameters
  double    fwExtPillarDPhi     = args.dble("FWExtPillarDPhi");  
  vecdouble fwExtPillarZ        = args.vecDble("FWExtPillarZ");    
  vecdouble fwExtPillarPhi      = args.vecDble("FWExtPillarPhi");  
  double    bwExtPillarDz       = args.dble("BWExtPillarDz");  
  double    bwExtPillarDPhi     = args.dble("BWExtPillarDPhi");  
  vecdouble bwExtPillarZ        = args.vecDble("BWExtPillarZ");    
  vecdouble bwExtPillarPhi      = args.vecDble("BWExtPillarPhi");  
  
  LogDebug("TIBGeom") << "Parent " << mother
      << " NameSpace " << ns.name
      << " General Material " << genMat;
  LogDebug("TIBGeom") << "Lower layer Radius " << radiusLo
      << " Number " << stringsLo << " String " << detectorLo;
  LogDebug("TIBGeom") << "Upper layer Radius "<< radiusUp
      << " Number " << stringsUp << " String " << detectorUp;
  LogDebug("TIBGeom") << "Cylinder Material/thickness " << cylinderMat << " " << cylinderT 
      << " Rib Material " << ribMat << " at " << ribW.size() << " positions with width/phi";
  for (unsigned int i = 0; i < ribW.size(); i++)  {
    LogDebug("TIBGeom") << "\tribW[" << i << "] = " <<  ribW[i] 
        << "\tribPhi[" << i << "] = " << ribPhi[i]/CLHEP::deg;
  }
  LogDebug("TIBGeom") << "DOHM Primary " << " Material " << dohmPrimMaterial << " Length " << dohmPrimL;
  LogDebug("TIBGeom") << "DOHM Aux     " << " Material " << dohmAuxMaterial << " Length " << dohmAuxL;
  for (double i : dohmListFW) {
    if (i>0.) LogDebug("TIBGeom") << "DOHM Primary at FW Position " << i;
    if (i<0.) LogDebug("TIBGeom") << "DOHM Aux     at FW Position " << -i;
  }
  for (double i : dohmListBW) {
    if (i>0.) LogDebug("TIBGeom") << "DOHM Primary at BW Position " << i;
//.........这里部分代码省略.........
开发者ID:AIDASoft,项目名称:DD4hep,代码行数:101,代码来源:DDTIBLayerAlgo.cpp


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