diff --git a/DDCMS/CMakeLists.txt b/DDCMS/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..f58733264c21c2833fc5cfb041b6aafa00798a2f --- /dev/null +++ b/DDCMS/CMakeLists.txt @@ -0,0 +1,30 @@ +#========================================================================== +# AIDA Detector description implementation +#-------------------------------------------------------------------------- +# Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN) +# All rights reserved. +# +# For the licensing terms see $DD4hepINSTALL/LICENSE. +# For the list of contributors see $DD4hepINSTALL/doc/CREDITS. +# +#========================================================================== +# +# DDCMS is a detector description convention developed by the CMS experiment. +# +#================================================================================= + +dd4hep_package( DDCMS + USES DDCore + INCLUDE_DIRS include + INSTALL_INCLUDES include/DDCMS) + +# +# We only create only library for DDCMS. The whole package is a single component +# library. A priory there is no need to seperate the implementation from the +# plugins.... +# +# If need arises, this can be changed easily. +# +#---DDCMS plugin library ------------------------------------------------------- +dd4hep_add_plugin ( DDCMS SOURCES src/*.cpp src/plugins/*.cpp + USES DDCore DDAlign DDCond ) diff --git a/DDCMS/README.txt b/DDCMS/README.txt new file mode 100644 index 0000000000000000000000000000000000000000..020398cad9cf0ba80a9821c875dc7d84cc7661ae --- /dev/null +++ b/DDCMS/README.txt @@ -0,0 +1,9 @@ +Package DDCMS +============= + +This is a small test development to demonstrate how to +convert a small part of the CMS geometry to DD4hep. +It is by no means complete. + + M.Frank, September 2017 + diff --git a/DDCMS/include/DDCMS/DDCMS.h b/DDCMS/include/DDCMS/DDCMS.h new file mode 100644 index 0000000000000000000000000000000000000000..5192332eb2705b48b296527a7dee1d897bc17aa2 --- /dev/null +++ b/DDCMS/include/DDCMS/DDCMS.h @@ -0,0 +1,154 @@ +//========================================================================== +// AIDA Detector description implementation +//-------------------------------------------------------------------------- +// Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN) +// All rights reserved. +// +// For the licensing terms see $DD4hepINSTALL/LICENSE. +// For the list of contributors see $DD4hepINSTALL/doc/CREDITS. +// +// Author : M.Frank +// +//========================================================================== +// +// DDCMS is a detector description convention developed by the CMS experiment. +// +//========================================================================== +#ifndef DD4HEP_DDCMS_DDCMS_H +#define DD4HEP_DDCMS_DDCMS_H + +// Framework includes +#include "XML/XML.h" +#include "DD4hep/DetElement.h" +#include "DDCMS/DDCMSTags.h" + +// C/C++ include files +#include <map> + +/// Namespace for the AIDA detector description toolkit +namespace dd4hep { + + /// Namespace of DDCMS conversion namespace + namespace cms { + + // Forward declaration + class ParsingContext; + + /// XML namespace for the evaluator + /* + * + * \author M.Frank + * \version 1.0 + * \ingroup DD4HEP_CORE + */ + class Namespace { + public: + /// Reference to the global parsing context + ParsingContext* context = 0; + std::string name; + bool pop = false; + public: + /// NO Default constructor + Namespace() = delete; + /// Initializing constructor + Namespace(ParsingContext* ctx, xml_h element); + /// Initializing constructor + Namespace(ParsingContext* ctx); + /// Initializing constructor + Namespace(ParsingContext& ctx); + /// NO Copy constructor + Namespace(const Namespace& copy) = delete; + /// Standard destructor (Non virtual!) + ~Namespace(); + /// NO assignment + Namespace& operator=(const Namespace& copy) = delete; + /// Prepend name with namespace + std::string prepend(const std::string& n) const; + /// Resolve namespace during XML parsing + std::string real_name(const std::string& v) const; + template <typename T> T attr(xml_elt_t elt,const xml_tag_t& n) const { + std::string val = real_name(elt.attr<std::string>(n)); + elt.setAttr(n,val); + return elt.attr<T>(n); + } + }; + + /// XML parser context to store intermediate stuff + /* + * + * \author M.Frank + * \version 1.0 + * \ingroup DD4HEP_CORE + */ + class ParsingContext { + public: + std::map<std::string, Rotation3D> rotations; + std::map<std::string, Solid> shapes; + std::map<std::string, Volume> volumes; + std::vector<std::string> namespaces; + bool geo_inited = false; + + // Debug flags + bool debug_constants = false; + bool debug_materials = false; + bool debug_shapes = false; + bool debug_volumes = false; + bool debug_placements = false; + bool debug_namespaces = false; + bool debug_visattr = false; + + public: + ParsingContext() { namespaces.push_back(""); } + ~ParsingContext() = default; + const std::string& ns() const { return namespaces.back(); } + Volume volume(const std::string& name) const; + const Rotation3D& rotation(const std::string& name) const; + }; + + /// Encapsulation of the CMS detector description algorithm arguments + /* + * + * \author M.Frank + * \version 1.0 + * \ingroup DD4HEP_CORE + */ + class AlgoArguments { + protected: + /// Access raw argument as a string by name + xml_h raw_arg(const std::string& name) const; + /// Access namespace resolved argument as a string by name + std::string resolved_scalar_arg(const std::string& name) const; + + public: + std::string name; + ParsingContext& context; + xml_h element; + + /// Initializing constructor + AlgoArguments(ParsingContext& ctxt, xml_h algorithm); + /// Default constructor + AlgoArguments() = delete; + /// Copy constructor + AlgoArguments(const AlgoArguments& copy) = delete; + /// Assignment operator + AlgoArguments& operator=(const AlgoArguments& copy) = delete; + /// Standatd destructor + ~AlgoArguments() = default; + + /// Access value of rParent child node + std::string parentName() const; + /// Check the existence of an argument by name + bool find(const std::string& name) const; + /// Access typed argument by name + template<typename T> T value(const std::string& name) const; + }; + + /// Create 3D rotation matrix from angles. + Rotation3D make_rotation3D(double thetaX, double phiX, + double thetaY, double phiY, + double thetaZ, double phiZ); + + } /* End namespace cms */ +} /* End namespace dd4hep */ + +#endif /* DD4HEP_DDCMS_DDCMS_H */ diff --git a/DDCMS/include/DDCMS/DDCMSPlugins.h b/DDCMS/include/DDCMS/DDCMSPlugins.h new file mode 100644 index 0000000000000000000000000000000000000000..4600936be6a0a4c27dbdbf7218d0d00db204f38c --- /dev/null +++ b/DDCMS/include/DDCMS/DDCMSPlugins.h @@ -0,0 +1,61 @@ +//========================================================================== +// AIDA Detector description implementation +//-------------------------------------------------------------------------- +// Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN) +// All rights reserved. +// +// For the licensing terms see $DD4hepINSTALL/LICENSE. +// For the list of contributors see $DD4hepINSTALL/doc/CREDITS. +// +// Author : M.Frank +// +//========================================================================== +// +// DDCMS is a detector description convention developed by the CMS experiment. +// +//========================================================================== +#ifndef DD4HEP_DDCMS_DDCMSPLUGINS_H +#define DD4HEP_DDCMS_DDCMSPLUGINS_H + +// Framework includes +#include "DD4hep/Plugins.h" +#include "DDCMS/DDCMS.h" + +/// Namespace for the AIDA detector description toolkit +namespace dd4hep { + + // Forward declarations + class SensitiveDetector; + + /// Standard factory to create Detector elements from an XML representation. + /** + * \author M.Frank + * \version 1.0 + * \date 2012/07/31 + * \ingroup DD4HEP_CMS + */ + template <typename T> class DDCMSDetElementFactory : public PluginFactoryBase { + public: + static Handle<NamedObject> create(Detector& description,cms::ParsingContext& ctxt,xml::Handle_t e,SensitiveDetector& sens); + }; +} /* End namespace dd4hep */ +namespace { + /// Forward declartion of the base factory template + template <typename P, typename S> class Factory; + DD4HEP_PLUGIN_FACTORY_ARGS_4(ns::Named*,dd4hep::Detector*,dd4hep::cms::ParsingContext*,ns::xml_h*,dd4hep::SensitiveDetector*) + { return dd4hep::DDCMSDetElementFactory<P>::create(*a0,*a1,*a2,*a3).ptr(); } +} + +#define DECLARE_DDCMS_DETELEMENT(name,func) \ + DD4HEP_OPEN_PLUGIN(dd4hep,ddcms_det_element_##name) { \ + template <> Handle<NamedObject> \ + DDCMSDetElementFactory< ddcms_det_element_##name >::create(dd4hep::Detector& d, \ + cms::ParsingContext& c, \ + xml::Handle_t e, \ + SensitiveDetector& h) \ + { return func(d,c,e,h); } \ + DD4HEP_PLUGINSVC_FACTORY(ddcms_det_element_##name,name, \ + NamedObject*(dd4hep::Detector*,dd4hep::cms::ParsingContext*, \ + ns::xml_h*,dd4hep::SensitiveDetector*),__LINE__) } + +#endif /* DD4HEP_DDCMS_DDCMSPLUGINS_H */ diff --git a/DDCMS/include/DDCMS/DDCMSTags.h b/DDCMS/include/DDCMS/DDCMSTags.h new file mode 100644 index 0000000000000000000000000000000000000000..b11ccf673bf414173890826403493ae6c3620be1 --- /dev/null +++ b/DDCMS/include/DDCMS/DDCMSTags.h @@ -0,0 +1,122 @@ +//========================================================================== +// AIDA Detector description implementation +//-------------------------------------------------------------------------- +// Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN) +// All rights reserved. +// +// For the licensing terms see $DD4hepINSTALL/LICENSE. +// For the list of contributors see $DD4hepINSTALL/doc/CREDITS. +// +// Author : M.Frank +// +//========================================================================== +// +// DDCMS is a detector description convention developed by the CMS experiment. +// +//========================================================================== + +// Framework includes +#ifndef DD4HEP_DDCMS_DDCMSTAGS_H +#define DD4HEP_DDCMS_DDCMSTAGS_H + +// Framework include files +#include "XML/XMLElements.h" +#ifndef UNICODE +#define UNICODE(x) extern const ::dd4hep::xml::Tag_t Unicode_##x +#endif + +/// Namespace for the AIDA detector description toolkit +namespace dd4hep { + + /// Namespace of DDCMS conversion namespace + namespace DDCMS { + UNICODE(DDCMS); + + UNICODE(DDDefinition); + + UNICODE(ConstantsSection); + UNICODE(Constant); + + UNICODE(MaterialSection); + UNICODE(ElementaryMaterial); + UNICODE(CompositeMaterial); + UNICODE(atomicWeight); + UNICODE(density); + UNICODE(symbol); + UNICODE(atomicNumber); + UNICODE(MaterialFraction); + + + UNICODE(RotationSection); + UNICODE(Rotation); + UNICODE(rRotation); + UNICODE(thetaX); + UNICODE(phiX); + UNICODE(thetaY); + UNICODE(phiY); + UNICODE(thetaZ); + UNICODE(phiZ); + + UNICODE(TransformationSection); + UNICODE(Transformation); + + UNICODE(SolidSection); + + UNICODE(Box); + UNICODE(dx); + UNICODE(dy); + UNICODE(dz); + + UNICODE(Tubs); + UNICODE(rMin); + UNICODE(rMax); + UNICODE(startPhi); + UNICODE(deltaPhi); + + UNICODE(Polycone); + UNICODE(ZSection); + UNICODE(z); + + UNICODE(LogicalPartSection); + UNICODE(LogicalPart); + UNICODE(rSolid); + UNICODE(rMaterial); + + UNICODE(PosPartSection); + UNICODE(PosPart); + UNICODE(copyNumber); + UNICODE(rParent); + UNICODE(rChild); + UNICODE(Translation); + + UNICODE(Algorithm); + UNICODE(String); + UNICODE(Numeric); + UNICODE(Vector); + UNICODE(nEntries); + + UNICODE(VisSection); + UNICODE(vis); + + /// Debug flags + UNICODE(debug_constants); + UNICODE(debug_materials); + UNICODE(debug_shapes); + UNICODE(debug_volumes); + UNICODE(debug_placements); + UNICODE(debug_namespaces); + UNICODE(debug_visattr); + + /// DD4hep specific + UNICODE(IncludeSection); + UNICODE(Include); + + } /* End namespace DDCMS */ +} /* End namespace dd4hep */ + +#undef UNICODE // Do not miss this one! +#include "XML/XMLTags.h" + +#define _CMU(a) ::dd4hep::DDCMS::Unicode_##a + +#endif /* DD4HEP_DDCMS_DDCMSTAGS_H */ diff --git a/DDCMS/src/DDCMS.cpp b/DDCMS/src/DDCMS.cpp new file mode 100644 index 0000000000000000000000000000000000000000..c7f6a22643eefb3d63466c6c1fb21ae696dc969c --- /dev/null +++ b/DDCMS/src/DDCMS.cpp @@ -0,0 +1,261 @@ +//========================================================================== +// AIDA Detector description implementation +//-------------------------------------------------------------------------- +// Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN) +// All rights reserved. +// +// For the licensing terms see $DD4hepINSTALL/LICENSE. +// For the list of contributors see $DD4hepINSTALL/doc/CREDITS. +// +// Author : M.Frank +// +//========================================================================== +// +// DDCMS is a detector description convention developed by the CMS experiment. +// +//========================================================================== + +// Framework includes +#include "DD4hep/Printout.h" +#include "DD4hep/BasicGrammar.h" +#include "DDCMS/DDCMS.h" + +// C/C++ include files +#include <stdexcept> + +using namespace std; +using namespace dd4hep; +using namespace dd4hep::cms; + +Rotation3D dd4hep::cms::make_rotation3D(double thetaX, double phiX, + double thetaY, double phiY, + double thetaZ, double phiZ) { + Position posX(sin(thetaX) * cos(phiX), sin(thetaX) * sin(phiX), cos(thetaX)); + Position posY(sin(thetaY) * cos(phiY), sin(thetaY) * sin(phiY), cos(thetaY)); + Position posZ(sin(thetaZ) * cos(phiZ), sin(thetaZ) * sin(phiZ), cos(thetaZ)); + Rotation3D rot(posX,posY,posZ); + return rot; +} + +Volume ParsingContext::volume(const std::string& name) const { + auto i = volumes.find(name); + if ( i != volumes.end() ) return (*i).second; + throw runtime_error("Unknown volume identifier:"+name); +} + +const Rotation3D& ParsingContext::rotation(const std::string& name) const { + static Rotation3D s_null; + auto i = rotations.find(name); + if ( i != rotations.end() ) return (*i).second; + if ( name.find("_NULL") == name.length()-5 ) return s_null; + throw runtime_error("Unknown rotation identifier:"+name); +} + +/// Initializing constructor +Namespace::Namespace(ParsingContext* ctx, xml_h element) : context(ctx) { + xml_dim_t elt(element); + bool has_label = elt.hasAttr(_U(label)); + name = has_label ? elt.labelStr() : ""; + if ( !has_label ) { + if ( !context->namespaces.empty() ) { + name = context->namespaces.back(); + } + printout(context->debug_namespaces ? ALWAYS : DEBUG, + "DDCMS","+++ Current namespace is now: %s",name.c_str()); + return; + } + name = name.substr(0,name.find('.')); + context->namespaces.push_back(name.empty() ? name : name+'_'); + pop = true; + printout(context->debug_namespaces ? ALWAYS : DEBUG, + "DDCMS","+++ Current namespace is now: %s",name.c_str()); +} + +/// Initializing constructor +Namespace::Namespace(ParsingContext* ctx) : context(ctx) { + name = context->namespaces.back(); +} + +/// Initializing constructor +Namespace::Namespace(ParsingContext& ctx) : context(&ctx) { + name = context->namespaces.back(); +} + +/// Standard destructor (Non virtual!) +Namespace::~Namespace() { + if ( pop ) { + context->namespaces.pop_back(); + printout(context->debug_namespaces ? ALWAYS : DEBUG, + "DDCMS","+++ Current namespace is now: %s",context->ns().c_str()); + } +} + +/// Prepend name with namespace +std::string Namespace::prepend(const std::string& n) const { + return name + n; +} + +/// Resolve namespace during XML parsing +std::string Namespace::real_name(const std::string& v) const { + size_t idx, idq, idp; + string val = v; + while ( (idx=val.find('[')) != string::npos ) { + val.erase(idx,1); + idp = val.find(':'); + idq = val.find(']'); + val.erase(idq,1); + if ( idp == string::npos || idp > idq ) + val.insert(idx,name); + else if ( idp != string::npos && idp < idq ) + val[idp] = '_'; + } + while ( (idx=val.find(':')) != string::npos ) val[idx]='_'; + return val; +} + + +AlgoArguments::AlgoArguments(ParsingContext& ctxt, xml_h elt) + : context(ctxt), element(elt) +{ + name = xml_dim_t(element).nameStr(); +} + +/// Access value of rParent child node +std::string AlgoArguments::parentName() const { + Namespace ns(context); + xml_dim_t e(element); + string val = ns.real_name(xml_dim_t(e.child(_CMU(rParent))).nameStr()); + return val; +} + +/// Check the existence of an argument by name +bool AlgoArguments::find(const std::string& nam) const { + for(xml_coll_t p(element,_U(star)); p; ++p) { + string n = p.attr<string>(_U(name)); + if ( n == nam ) { + return true; + } + } + return false; +} + +/// Access raw argument as a string by name +xml_h AlgoArguments::raw_arg(const string& nam) const { + for(xml_coll_t p(element,_U(star)); p; ++p) { + string n = p.attr<string>(_U(name)); + if ( n == nam ) { + return p; + } + } + throw runtime_error("DDCMS: Attempt to access non-existing algorithm option: " + name); +} + +/// Access namespace resolved argument as a string by name +string AlgoArguments::resolved_scalar_arg(const string& nam) const { + Namespace ns(context); + xml_h arg = raw_arg(nam); + string val = arg.attr<string>(_U(value)); + return ns.real_name(val); +} + +namespace { + + /// Access of raw strings as vector by argument name + vector<string> raw_vector(const AlgoArguments* a, xml_h arg) { + xml_dim_t xp(arg); + vector<string> data; + Namespace ns(a->context); + string val = xp.text(); + string nam = xp.nameStr(); + string typ = xp.typeStr(); + int num = xp.attr<int>(_CMU(nEntries)); + const BasicGrammar& gr = BasicGrammar::instance<vector<string> >(); + + val = '['+ns.real_name(val)+']'; + val = remove_whitespace(val); + int res = gr.fromString(&data,val); + if ( !res ) { + except("DDCMS","+++ VectorParam<%s>: %s -> %s [Invalid conversion:%d]", + typ.c_str(), nam.c_str(), val.c_str(), res); + } + else if ( num != (int)data.size() ) { + except("DDCMS","+++ VectorParam<%s>: %s -> %s [Invalid entry count: %d <> %ld]", + typ.c_str(), nam.c_str(), val.c_str(), num, data.size()); + } + printout(INFO,"DDCMS","+++ VectorParam<%s>: ret=%d %s -> %s", + typ.c_str(), res, nam.c_str(), gr.str(&data).c_str()); + return data; + } + + + template <typename T> T __cnv(const string&) { return 0;} + template <> double __cnv<double>(const string& arg) { return _toDouble(arg); } + template <> float __cnv<float> (const string& arg) { return _toFloat(arg); } + template <> long __cnv<long> (const string& arg) { return _toLong(arg); } + template <> int __cnv<int> (const string& arg) { return _toInt(arg); } + template <> string __cnv<string>(const string& arg) { return arg; } + + template <typename T> vector<T> __cnvVect(const AlgoArguments* a, const char* req_typ, xml_h xp) { + vector<string> str_data = raw_vector(a, xp); + string typ = xp.attr<string>(_U(type)); + if ( typ != req_typ ) { + string nam = xp.attr<string>(_U(name)); + const BasicGrammar& gr = BasicGrammar::instance<vector<string> >(); + except("DDCMS", + "+++ VectorParam<%s | %s>: %s -> <%s> %s [Incompatible vector-type]", + req_typ, typ.c_str(), nam.c_str(), typeName(typeid(T)).c_str(), + gr.str(&str_data).c_str()); + } + vector<T> res_data; + for(const auto& v : str_data) { + T d = __cnv<T>(v); + res_data.push_back(d); + } + return res_data; + } +} + +/// Namespace for the AIDA detector description toolkit +namespace dd4hep { + + /// Namespace of DDCMS conversion namespace + namespace cms { + + /// Access typed argument by name + template<typename T> T AlgoArguments::value(const string& nam) const { + return __cnv<T>(resolved_scalar_arg(nam)); + } + + template double AlgoArguments::value<double>(const string& nam) const; + template float AlgoArguments::value<float>(const string& nam) const; + template long AlgoArguments::value<long>(const string& nam) const; + template int AlgoArguments::value<int>(const string& nam) const; + template string AlgoArguments::value<string>(const string& nam) const; + + /// Access typed vector<string> argument by name + template<> vector<string> AlgoArguments::value<vector<string> >(const string& nam) const { + xml_h xp = raw_arg(nam); + return raw_vector(this,xp); + } + + /// Access typed vector<double> argument by name + template<> vector<double> AlgoArguments::value<vector<double> >(const string& nam) const { + return __cnvVect<double>(this,"numeric",raw_arg(nam)); + } + + /// Access typed vector<float> argument by name + template<> vector<float> AlgoArguments::value<vector<float> >(const string& nam) const { + return __cnvVect<float>(this,"numeric",raw_arg(nam)); + } + + /// Access typed vector<long> argument by name + template<> vector<long> AlgoArguments::value<vector<long> >(const string& nam) const { + return __cnvVect<long>(this,"numeric",raw_arg(nam)); + } + + /// Access typed vector<int> argument by name + template<> vector<int> AlgoArguments::value<vector<int> >(const string& nam) const { + return __cnvVect<int>(this,"numeric",raw_arg(nam)); + } + } +} diff --git a/DDCMS/src/DDCMSTags.cpp b/DDCMS/src/DDCMSTags.cpp new file mode 100644 index 0000000000000000000000000000000000000000..0a47c5446e9fb05a1d0304cfa6e52e3ed34ae0e4 --- /dev/null +++ b/DDCMS/src/DDCMSTags.cpp @@ -0,0 +1,23 @@ +//========================================================================== +// AIDA Detector description implementation +//-------------------------------------------------------------------------- +// Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN) +// All rights reserved. +// +// For the licensing terms see $DD4hepINSTALL/LICENSE. +// For the list of contributors see $DD4hepINSTALL/doc/CREDITS. +// +// Author : M.Frank +// +//========================================================================== +// +// DDCMS is a detector description convention developed by the CMS experiment. +// +//========================================================================== + +// Framework include files +#include "XML/XMLTags.h" + +// Define unicode tags +#define UNICODE(x) extern const ::dd4hep::xml::Tag_t Unicode_##x ( #x ) +#include "DDCMS/DDCMSTags.h" diff --git a/DDCMS/src/plugins/DDDefinitions2Objects.cpp b/DDCMS/src/plugins/DDDefinitions2Objects.cpp new file mode 100644 index 0000000000000000000000000000000000000000..16482c5de5b6ade78fe9f53125ba3815d20aeacf --- /dev/null +++ b/DDCMS/src/plugins/DDDefinitions2Objects.cpp @@ -0,0 +1,620 @@ +//========================================================================== +// AIDA Detector description implementation +//-------------------------------------------------------------------------- +// Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN) +// All rights reserved. +// +// For the licensing terms see $DD4hepINSTALL/LICENSE. +// For the list of contributors see $DD4hepINSTALL/doc/CREDITS. +// +// Author : M.Frank +// +//========================================================================== +// +// DDCMS is a detector description convention developed by the CMS experiment. +// +//========================================================================== + +// Framework includes +#include "DD4hep/DetFactoryHelper.h" +#include "DD4hep/DD4hepUnits.h" +#include "DD4hep/GeoHandler.h" +#include "DD4hep/Printout.h" +#include "DD4hep/Plugins.h" +#include "DD4hep/Path.h" +#include "DD4hep/detail/SegmentationsInterna.h" +#include "DD4hep/detail/DetectorInterna.h" +#include "DD4hep/detail/ObjectsInterna.h" + +#include "XML/Utilities.h" +#include "DDCMS/DDCMS.h" + +// Root/TGeo include files +#include "TGeoManager.h" +#include "TGeoMaterial.h" + +// C/C++ include files +#include <climits> +#include <iostream> +#include <iomanip> +#include <set> +#include <map> + +using namespace std; +using namespace dd4hep; +using namespace dd4hep::cms; + +/// Namespace for the AIDA detector description toolkit +namespace dd4hep { + + namespace { + + static UInt_t unique_mat_id = 0xAFFEFEED; + + class dddefinition; + class include; + class constantssection; + class constant; + + class materialsection; + class elementarymaterial; + class compositematerial; + + class rotationsection; + class rotation; + + class pospartsection; + class pospart; + + class logicalpartsection; + class logicalpart; + + class solidsection; + class tubs; + class polycone; + class box; + class algorithm; + + class vissection; + class vis_apply; + class vis; + class debug; + } + + /// Converter instances implemented in this compilation unit + template <> void Converter<dddefinition>::operator()(xml_h element) const; + template <> void Converter<debug>::operator()(xml_h element) const; + + template <> void Converter<constantssection>::operator()(xml_h element) const; + template <> void Converter<constant>::operator()(xml_h element) const; + + template <> void Converter<vissection>::operator()(xml_h element) const; + template <> void Converter<vis_apply>::operator()(xml_h element) const; + template <> void Converter<vis>::operator()(xml_h element) const; + + template <> void Converter<materialsection>::operator()(xml_h element) const; + template <> void Converter<elementarymaterial>::operator()(xml_h element) const; + template <> void Converter<compositematerial>::operator()(xml_h element) const; + + template <> void Converter<rotationsection>::operator()(xml_h element) const; + template <> void Converter<rotation>::operator()(xml_h element) const; + + template <> void Converter<logicalpartsection>::operator()(xml_h element) const; + template <> void Converter<logicalpart>::operator()(xml_h element) const; + + template <> void Converter<pospartsection>::operator()(xml_h element) const; + template <> void Converter<pospart>::operator()(xml_h element) const; + + template <> void Converter<solidsection>::operator()(xml_h element) const; + template <> void Converter<polycone>::operator()(xml_h element) const; + template <> void Converter<tubs>::operator()(xml_h element) const; + template <> void Converter<box>::operator()(xml_h element) const; + + template <> void Converter<algorithm>::operator()(xml_h element) const; + + /// DD4hep specific + template <> void Converter<include>::operator()(xml_h element) const; +} + +/// Converter for <ConstantsSection/> tags +template <> void Converter<constantssection>::operator()(xml_h element) const { + ParsingContext* context = _param<ParsingContext>(); + Namespace ns(context, element); + xml_coll_t(element, _CMU(Constant)).for_each(Converter<constant>(description,context)); +} + +/// Converter for <VisSection/> tags +template <> void Converter<vissection>::operator()(xml_h element) const { + ParsingContext* context = _param<ParsingContext>(); + Namespace ns(context, element); + xml_coll_t(element, _CMU(vis)).for_each(Converter<vis>(description,context)); +} + +template <> void Converter<materialsection>::operator()(xml_h element) const { + ParsingContext* context = _param<ParsingContext>(); + Namespace ns(context, element); + xml_coll_t(element, _CMU(ElementaryMaterial)).for_each(Converter<elementarymaterial>(description,context)); + xml_coll_t(element, _CMU(CompositeMaterial)).for_each(Converter<compositematerial>(description,context)); +} + +template <> void Converter<rotationsection>::operator()(xml_h element) const { + Namespace ns(_param<ParsingContext>(), element); + xml_coll_t(element, _CMU(Rotation)).for_each(Converter<rotation>(description,ns.context)); +} + +template <> void Converter<pospartsection>::operator()(xml_h element) const { + Namespace ns(_param<ParsingContext>(), element); + xml_coll_t(element, _CMU(PosPart)).for_each(Converter<pospart>(description,ns.context)); +} + +template <> void Converter<logicalpartsection>::operator()(xml_h element) const { + Namespace ns(_param<ParsingContext>(), element); + xml_coll_t(element, _CMU(LogicalPart)).for_each(Converter<logicalpart>(description,ns.context)); +} + +template <> void Converter<solidsection>::operator()(xml_h element) const { + Namespace ns(_param<ParsingContext>(), element); + for(xml_coll_t solid(element, _U(star)); solid; ++solid) { + string tag = solid.tag(); + if ( tag == "Box" ) + Converter<box>(description,ns.context)(solid); + else if ( tag == "Polycone" ) + Converter<polycone>(description,ns.context)(solid); + else if ( tag == "Tubs" ) + Converter<tubs>(description,ns.context)(solid); + else + printout(ERROR,"DDCMS","+++ Request to process unknown shape of type %s",tag.c_str()); + } +} + +/// Converter for <Constant/> tags +template <> void Converter<constant>::operator()(xml_h element) const { + Namespace ns(_param<ParsingContext>()); + xml_dim_t constant(element); + xml_dim_t parent(constant.parent()); + bool eval = parent.hasAttr(_U(eval)) ? parent.attr<bool>(_U(eval)) : false; + string val = "";//ns.real_name(constant.attr<string>(_U(value))); + string nam = ns.prepend(constant.nameStr()); + string typ = eval ? "number" : "string"; + + if ( constant.hasAttr(_U(type)) ) typ = constant.typeStr(); + if ( nam == "pixbarladderfull_CFStripY" ) { // debugging + val = ns.real_name(constant.attr<string>(_U(value))); + } + else { + val = ns.real_name(constant.attr<string>(_U(value))); + } + printout(ns.context->debug_constants ? ALWAYS : DEBUG, + "DDCMS","+++ Add constant object: %s = %s [type:%s]", + nam.c_str(), val.c_str(), typ.c_str()); + Constant c(nam, val, typ); + _toDictionary(nam, val, typ); + description.addConstant(c); +} + +/** Convert compact visualization attribute to Detector visualization attribute + * + * <vis name="SiVertexBarrelModuleVis" + * alpha="1.0" r="1.0" g="0.75" b="0.76" + * drawingStyle="wireframe" + * showDaughters="false" + * visible="true"/> + */ +template <> void Converter<vis>::operator()(xml_h e) const { + Namespace ns(_param<ParsingContext>()); + VisAttr attr(e.attr<string>(_U(name))); + float red = e.hasAttr(_U(r)) ? e.attr<float>(_U(r)) : 1.0f; + float green = e.hasAttr(_U(g)) ? e.attr<float>(_U(g)) : 1.0f; + float blue = e.hasAttr(_U(b)) ? e.attr<float>(_U(b)) : 1.0f; + + printout(ns.context->debug_visattr ? ALWAYS : DEBUG, "Compact", + "++ Converting VisAttr structure: %-16s. R=%.3f G=%.3f B=%.3f", + attr.name(), red, green, blue); + attr.setColor(red, green, blue); + if (e.hasAttr(_U(alpha))) + attr.setAlpha(e.attr<float>(_U(alpha))); + if (e.hasAttr(_U(visible))) + attr.setVisible(e.attr<bool>(_U(visible))); + if (e.hasAttr(_U(lineStyle))) { + string ls = e.attr<string>(_U(lineStyle)); + if (ls == "unbroken") + attr.setLineStyle(VisAttr::SOLID); + else if (ls == "broken") + attr.setLineStyle(VisAttr::DASHED); + } + else { + attr.setLineStyle(VisAttr::SOLID); + } + if (e.hasAttr(_U(drawingStyle))) { + string ds = e.attr<string>(_U(drawingStyle)); + if (ds == "wireframe") + attr.setDrawingStyle(VisAttr::WIREFRAME); + else if (ds == "solid") + attr.setDrawingStyle(VisAttr::SOLID); + } + else { + attr.setDrawingStyle(VisAttr::SOLID); + } + if (e.hasAttr(_U(showDaughters))) + attr.setShowDaughters(e.attr<bool>(_U(showDaughters))); + else + attr.setShowDaughters(true); + description.addVisAttribute(attr); +} + +/// Converter for <ElementaryMaterial/> tags +template <> void Converter<elementarymaterial>::operator()(xml_h element) const { + Namespace ns(_param<ParsingContext>()); + xml_dim_t xmat(element); + string nam = ns.prepend(xmat.nameStr()); + TGeoManager& mgr = description.manager(); + TGeoMaterial* mat = mgr.GetMaterial(nam.c_str()); + if ( 0 == mat ) { + const char* matname = nam.c_str(); + double density = xmat.density(); + //double atomicWeight = xmat.attr<double>(_CMU(atomicWeight)); + double atomicNumber = xmat.attr<double>(_CMU(atomicNumber)); + TGeoElementTable* tab = mgr.GetElementTable(); + TGeoMixture* mix = new TGeoMixture(nam.c_str(), 1, density); + TGeoElement* elt = tab->FindElement(xmat.nameStr().c_str()); + + printout(ns.context->debug_materials ? ALWAYS : DEBUG, "DDCMS", + "++ Converting material %-48s Density: %.3f.", + ('"'+nam+'"').c_str(), density); + + if ( !elt ) { + printout(WARNING,"DDCMS", + "+++ Converter<ElementaryMaterial> No element present with name:%s [FAKE IT]", + matname); + int n = int(atomicNumber/2e0); + if ( n < 2 ) n = 2; + elt = new TGeoElement(xmat.nameStr().c_str(),"CMS element",n,atomicNumber); + //return; + } + if ( elt->Z() == 0 ) { + int n = int(atomicNumber/2e0); + if ( n < 2 ) n = 2; + elt = new TGeoElement((xmat.nameStr()+"-CMS").c_str(),"CMS element",n,atomicNumber); + } + mix->AddElement(elt, 1.0); + mix->SetRadLen(0e0); + /// Create medium from the material + TGeoMedium* medium = mgr.GetMedium(matname); + if (0 == medium) { + --unique_mat_id; + medium = new TGeoMedium(matname, unique_mat_id, mix); + medium->SetTitle("material"); + medium->SetUniqueID(unique_mat_id); + } + } +} + +/// Converter for <CompositeMaterial/> tags +template <> void Converter<compositematerial>::operator()(xml_h element) const { + Namespace ns(_param<ParsingContext>()); + xml_dim_t xmat(element); + string nam = ns.prepend(xmat.nameStr()); + TGeoManager& mgr = description.manager(); + TGeoMaterial* mat = mgr.GetMaterial(nam.c_str()); + if ( 0 == mat ) { + const char* matname = nam.c_str(); + double density = xmat.density(); + xml_coll_t composites(xmat,_CMU(MaterialFraction)); + TGeoMixture* mix = new TGeoMixture(nam.c_str(), composites.size(), density); + + printout(ns.context->debug_materials ? ALWAYS : DEBUG, "DDCMS", + "++ Converting material %-48s Density: %.3f.", + ('"'+nam+'"').c_str(), density); + + for (composites.reset(); composites; ++composites) { + xml_dim_t xfrac(composites); + xml_dim_t xfrac_mat(xfrac.child(_CMU(rMaterial))); + double fraction = xfrac.fraction(); + string fracname = ns.real_name(xfrac_mat.nameStr()); + + TGeoMaterial* frac_mat = mgr.GetMaterial(fracname.c_str()); + if ( frac_mat ) { + mix->AddElement(frac_mat, fraction); + continue; + } + printout(WARNING,"DDCMS","+++ Composite material \"%s\" not present!", + fracname.c_str()); + } + mix->SetRadLen(0e0); + /// Create medium from the material + TGeoMedium* medium = mgr.GetMedium(matname); + if (0 == medium) { + --unique_mat_id; + medium = new TGeoMedium(matname, unique_mat_id, mix); + medium->SetTitle("material"); + medium->SetUniqueID(unique_mat_id); + } + } +} + +/// Converter for <Rotation/> tags +template <> void Converter<rotation>::operator()(xml_h element) const { + ParsingContext* ctx = _param<ParsingContext>(); + Namespace ns(ctx); + xml_dim_t xrot(element); + string nam = ns.prepend(xrot.nameStr()); + double thetaX = xrot.hasAttr(_CMU(thetaX)) ? xrot.attr<double>(_CMU(thetaX)) : 0e0; + double phiX = xrot.hasAttr(_CMU(phiX)) ? xrot.attr<double>(_CMU(phiX)) : 0e0; + double thetaY = xrot.hasAttr(_CMU(thetaY)) ? xrot.attr<double>(_CMU(thetaY)) : 0e0; + double phiY = xrot.hasAttr(_CMU(phiY)) ? xrot.attr<double>(_CMU(phiY)) : 0e0; + double thetaZ = xrot.hasAttr(_CMU(thetaZ)) ? xrot.attr<double>(_CMU(thetaZ)) : 0e0; + double phiZ = xrot.hasAttr(_CMU(phiZ)) ? xrot.attr<double>(_CMU(phiZ)) : 0e0; + + Rotation3D rot = make_rotation3D(thetaX, phiX, thetaY, phiY, thetaZ, phiZ); + ctx->rotations[nam] = rot; +} + +/// Converter for <Rotation/> tags +template <> void Converter<logicalpart>::operator()(xml_h element) const { + Namespace ns(_param<ParsingContext>()); + xml_dim_t e(element); + string sol_nam = xml_dim_t(e.child(_CMU(rSolid))).nameStr(); + string mat_nam = xml_dim_t(e.child(_CMU(rMaterial))).nameStr(); + Material material = description.material(ns.real_name(mat_nam)); + Solid solid = ns.context->shapes[sol_nam]; + Volume volume(ns.prepend(e.nameStr()), solid, material); + + printout(ns.context->debug_volumes ? ALWAYS : DEBUG, "DDCMS", + "+++ Volume:%-24s Solid:%-24s [%-24s] Material:%s", + volume.name(), solid.name(), solid.type(), material.name()); + + ns.context->volumes[volume.name()] = volume; +} + +/// Converter for <Rotation/> tags +template <> void Converter<pospart>::operator()(xml_h element) const { + Namespace ns(_param<ParsingContext>()); + xml_dim_t e(element); + int copy = e.attr<int>(_CMU(copyNumber)); + string parent_nam = ns.real_name(xml_dim_t(e.child(_CMU(rParent))).nameStr()); + string child_nam = ns.real_name(xml_dim_t(e.child(_CMU(rChild))).nameStr()); + Volume parent = ns.context->volumes[parent_nam]; + Volume child = ns.context->volumes[child_nam]; + xml_dim_t translation(e.child(_CMU(Translation),false)); + xml_dim_t rotation(e.child(_CMU(Rotation),false)); + xml_dim_t refRotation(e.child(_CMU(rRotation),false)); + Position pos; + RotationZYX rot; + + printout(ns.context->debug_placements ? ALWAYS : DEBUG, "DDCMS", + "+++ %s Parent: %-24s [%s] Child: %-32s [%s] copy:%d", + e.tag().c_str(), + parent_nam.c_str(), parent.isValid() ? "VALID" : "INVALID", + child_nam.c_str(), child.isValid() ? "VALID" : "INVALID", + copy); + if ( translation.ptr() ) { + double x = ns.attr<double>(translation,_U(x)); + double y = ns.attr<double>(translation,_U(y)); + double z = ns.attr<double>(translation,_U(z)); + pos = Position(x,y,z); + } + if ( rotation.ptr() ) { + double x = ns.attr<double>(rotation,_U(x)); + double y = ns.attr<double>(rotation,_U(y)); + double z = ns.attr<double>(rotation,_U(z)); + rot = RotationZYX(z,y,x); + } + PlacedVolume pv; + if ( child.isValid() ) { + if ( !translation.ptr() && !rotation.ptr() ) + pv = parent.placeVolume(child); + else if ( translation.ptr() && !rotation.ptr() ) + pv = parent.placeVolume(child,pos); + else if ( !translation.ptr() && rotation.ptr() ) + pv = parent.placeVolume(child,rot); + else { + Transform3D trafo(rot,pos); + pv = parent.placeVolume(child,rot); + } + } + if ( !pv.isValid() ) { + printout(ERROR,"DDCMS","+++ Placement FAILED!"); + } +} + +/// Converter for <Polycone/> tags +template <> void Converter<polycone>::operator()(xml_h element) const { + Namespace ns(_param<ParsingContext>()); + xml_dim_t e(element); + string nam = e.nameStr(); + double startPhi = ns.attr<double>(e,_CMU(startPhi)); + double deltaPhi = ns.attr<double>(e,_CMU(deltaPhi)); + vector<double> z, rmin, rmax; + + for(xml_coll_t zplane(element, _CMU(ZSection)); zplane; ++zplane) { + rmin.push_back(ns.attr<double>(zplane,_CMU(rMin))); + rmax.push_back(ns.attr<double>(zplane,_CMU(rMax))); + z.push_back(ns.attr<double>(zplane,_CMU(z))); + } + printout(ns.context->debug_shapes ? ALWAYS : DEBUG, "DDCMS", + "+++ Processing shape of type %s : %s",e.tag().c_str(), nam.c_str()); + printout(ns.context->debug_shapes ? ALWAYS : DEBUG, "DDCMS", + "+++ startPhi=%10.3f [rad] deltaPhi=%10.3f [rad] %4ld z-planes", + startPhi, deltaPhi, z.size()); + Polycone pc(startPhi,deltaPhi,rmin,rmax,z); + ns.context->shapes[nam] = pc.setName(nam); +} + +/// Converter for <Tubs/> tags +template <> void Converter<tubs>::operator()(xml_h element) const { + Namespace ns(_param<ParsingContext>()); + xml_dim_t e(element); + string nam = e.nameStr(); + double dz = ns.attr<double>(e,_CMU(dz)); + double rmin = ns.attr<double>(e,_CMU(rMin)); + double rmax = ns.attr<double>(e,_CMU(rMax)); + double startPhi = ns.attr<double>(e,_CMU(startPhi)); + double deltaPhi = ns.attr<double>(e,_CMU(deltaPhi)); + + printout(ns.context->debug_shapes ? ALWAYS : DEBUG, "DDCMS", + "+++ Processing shape of type %s : %s",e.tag().c_str(), nam.c_str()); + printout(ns.context->debug_shapes ? ALWAYS : DEBUG, "DDCMS", + "+++ dz=%10.3f [cm] rmin=%10.3f [cm] rmax=%10.3f [cm]" + " startPhi=%10.3f [rad] deltaPhi=%10.3f [rad]", dz, rmin, rmax, startPhi, deltaPhi); + + Tube tube(rmin,rmax,dz,startPhi,deltaPhi); + ns.context->shapes[nam] = tube.setName(nam); +} + +/// Converter for <Box/> tags +template <> void Converter<box>::operator()(xml_h element) const { + Namespace ns(_param<ParsingContext>()); + xml_dim_t e(element); + string nam = e.nameStr(); + double dx = ns.attr<double>(e,_CMU(dx)); + double dy = ns.attr<double>(e,_CMU(dy)); + double dz = ns.attr<double>(e,_CMU(dz)); + + printout(ns.context->debug_shapes ? ALWAYS : DEBUG, "DDCMS", + "+++ Processing shape of type %s : %s",e.tag().c_str(), nam.c_str()); + printout(ns.context->debug_shapes ? ALWAYS : DEBUG, "DDCMS", + "+++ dx=%10.3f [cm] dy=%10.3f [cm] dz=%10.3f [cm]", dx, dy, dz); + Box box(dx,dy,dz); + ns.context->shapes[nam] = box.setName(nam); +} + +/// DD4hep specific Converter for <Include/> tags +template <> void Converter<include>::operator()(xml_h element) const { + xml::DocumentHolder doc(xml::DocumentHandler().load(element, element.attr_value(_U(ref)))); + xml_h node = doc.root(); + Converter<dddefinition>(description,_param<ParsingContext>())(node); +} + +/// Converter for <Algorithm/> tags +template <> void Converter<algorithm>::operator()(xml_h element) const { + Namespace ns(_param<ParsingContext>()); + xml_dim_t e(element); + string name = e.nameStr(); + try { + SensitiveDetector sd; + Segmentation seg; + string type = ns.real_name(e.nameStr()); + + // SensitiveDetector and Segmentation currently are undefined. Let's keep it like this + // until we found something better..... + + DetElement det(PluginService::Create<NamedObject*>(type, &description, ns.context, &element, &sd)); + if (det.isValid()) { + // setChildTitles(make_pair(name, det)); + if ( sd.isValid() ) { + det->flag |= DetElement::Object::HAVE_SENSITIVE_DETECTOR; + } + if ( seg.isValid() ) { + seg->sensitive = sd; + seg->detector = det; + } + } +#if 0 + if (!det.isValid()) { + PluginDebug dbg; + PluginService::Create<NamedObject*>(type, &description, ns.context, &element, &sd); + except("DDCMS","Failed to execute subdetector creation plugin. " + dbg.missingFactory(type)); + } +#endif + ///description.addDetector(det); + printout(ERROR, "DDCMS", "++ FAILED NOT ADDING SUBDETECTOR %s", name.c_str()); + return; + } + catch (const exception& exc) { + printout(ERROR, "DDCMS", "++ FAILED to convert subdetector: %s: %s", name.c_str(), exc.what()); + terminate(); + } + catch (...) { + printout(ERROR, "DDCMS", "++ FAILED to convert subdetector: %s: %s", name.c_str(), "UNKNONW Exception"); + terminate(); + } +} + +template <> void Converter<debug>::operator()(xml_h dbg) const { + Namespace ns(_param<ParsingContext>()); + if ( dbg.hasChild(_CMU(debug_constants)) ) ns.context->debug_constants = true; + if ( dbg.hasChild(_CMU(debug_materials)) ) ns.context->debug_materials = true; + if ( dbg.hasChild(_CMU(debug_shapes)) ) ns.context->debug_shapes = true; + if ( dbg.hasChild(_CMU(debug_volumes)) ) ns.context->debug_volumes = true; + if ( dbg.hasChild(_CMU(debug_placements)) ) ns.context->debug_placements = true; + if ( dbg.hasChild(_CMU(debug_namespaces)) ) ns.context->debug_namespaces = true; +} + +template <> void Converter<vis_apply>::operator()(xml_h /* dddefinition */) const { + struct VisPatcher: public detail::GeoScan { + Detector& detector; + VisPatcher(Detector& d) : detail::GeoScan(d.world()), detector(d) { } + void patch() const { + printout(INFO,"Detector","+++ Applying DD4hep visualization attributes...."); + for (auto i = m_data->rbegin(); i != m_data->rend(); ++i) { + for( const TGeoNode* n : (*i).second ) { + Volume vol(n->GetVolume()); + VisAttr vis = detector.visAttributes(vol.name()); + printout(DEBUG,"Vis","+++ %s vis-attrs:%s",vol.name(), yes_no(vis.isValid())); + vol.setVisAttributes(vis); + } + } + } + }; + VisPatcher(description).patch(); +} + +/// Converter for <DDDefinition/> tags +template <> void Converter<dddefinition>::operator()(xml_h element) const { + static int num_calls = 0; + static ParsingContext ctxt; + xml_elt_t dddef(element); + string fname = xml::DocumentHandler::system_path(element); + bool open_geometry = true; + bool close_geometry = true; + ++num_calls; + + Path path(fname); + string ns = path.filename().substr(0,path.filename().rfind('.')); + ctxt.namespaces.push_back(ns+'_'); + xml_coll_t(dddef, _U(debug)).for_each(Converter<debug>(description,&ctxt)); + + // Here we define the order how XML elements are processed. + // Be aware of dependencies. This can only defined once. + // At the end it is a limitation of DOM.... + printout(INFO,"DDCMS","+++ Processing the CMS detector description %s",fname.c_str()); + xml_coll_t(dddef, _CMU(ConstantsSection)).for_each(Converter<constantssection>(description,&ctxt)); + xml_coll_t(dddef, _CMU(VisSection)).for_each(Converter<vissection>(description,&ctxt)); + xml_coll_t(dddef, _CMU(IncludeSection)).for_each(_CMU(Include), Converter<include>(description,&ctxt)); + + xml_coll_t(dddef, _CMU(RotationSection)).for_each(Converter<rotationsection>(description,&ctxt)); + xml_coll_t(dddef, _CMU(MaterialSection)).for_each(Converter<materialsection>(description,&ctxt)); + + xml_coll_t(dddef, _CMU(SolidSection)).for_each(Converter<solidsection>(description,&ctxt)); + xml_coll_t(dddef, _CMU(LogicalPartSection)).for_each(Converter<logicalpartsection>(description,&ctxt)); + xml_coll_t(dddef, _CMU(PosPartSection)).for_each(Converter<pospartsection>(description,&ctxt)); + + /// Analyse algorithms to be called + if ( !ctxt.geo_inited && dddef.hasChild(_CMU(Algorithm)) ) { + ctxt.geo_inited = true; + description.init(); + } + else if ( num_calls == 1 && open_geometry ) { + ctxt.geo_inited = true; + description.init(); + } + xml_coll_t(dddef, _CMU(Algorithm)).for_each(Converter<algorithm>(description,&ctxt)); + + /// This should be the end of all processing....close the geometry + if ( --num_calls == 0 && close_geometry ) { + Converter<vis_apply> cnv(description,&ctxt); + cnv(dddef); + description.endDocument(); + } + ctxt.namespaces.pop_back(); + printout(INFO,"DDDefinition","+++ Finished processing %s",fname.c_str()); +} + +static long load_dddefinition(Detector& description, xml_h element) { + Converter<dddefinition>converter(description); + converter(element); + return 1; +} + +// Now declare the factory entry for the plugin mechanism +DECLARE_XML_DOC_READER(DDDefinition,load_dddefinition) diff --git a/DDCMS/src/plugins/DDPixBarLayerAlgo.cpp b/DDCMS/src/plugins/DDPixBarLayerAlgo.cpp new file mode 100644 index 0000000000000000000000000000000000000000..69c649024a4b2fe97669ceec66989e79e5befa80 --- /dev/null +++ b/DDCMS/src/plugins/DDPixBarLayerAlgo.cpp @@ -0,0 +1,276 @@ +//========================================================================== +// AIDA Detector description implementation +//-------------------------------------------------------------------------- +// Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN) +// All rights reserved. +// +// For the licensing terms see $DD4hepINSTALL/LICENSE. +// For the list of contributors see $DD4hepINSTALL/doc/CREDITS. +// +// Author : M.Frank +// +//========================================================================== +// +// Specialized generic detector constructor +// +//========================================================================== + +// Framework include files +#include "DD4hep/DetFactoryHelper.h" +#include "DD4hep/Printout.h" +#include "DDCMS/DDCMSPlugins.h" +#include "CLHEP/Units/SystemOfUnits.h" + +// C/C++ include files +#include <sstream> + +using namespace std; +using namespace dd4hep; +using namespace dd4hep::detail; +using namespace dd4hep::cms; + +static Ref_t create_element(Detector& description, ParsingContext& ctxt, xml_h e, SensitiveDetector& /* sens */) { + stringstream str; + PlacedVolume pv; + Namespace ns(ctxt); + AlgoArguments args(ctxt, e); + string parentName = args.parentName(); + + printout(INFO,"DDCMS","+++ Parsing arguments for Algorithm:%-24s rParent:%s", + args.name.c_str(), parentName.c_str()); + + string genMat = args.value<string>("GeneralMaterial"); + int number = args.value<int>("Ladders"); + double layerDz = args.value<double>("LayerDz"); + double sensorEdge= args.value<double>("SensorEdge"); + double coolDz = args.value<double>("CoolDz"); + double coolWidth = args.value<double>("CoolWidth"); + double coolSide = args.value<double>("CoolSide"); + double coolThick = args.value<double>("CoolThick"); + double coolDist = args.value<double>("CoolDist"); + string coolMat = args.value<string>("CoolMaterial"); + string tubeMat = args.value<string>("CoolTubeMaterial"); + + str.str(""); + str << "DDPixBarLayerAlgo debug: Parent " << parentName + << " NameSpace " << ns.name << "\n" + << "\tLadders " << number << "\tGeneral Material " + << genMat << "\tLength " << layerDz << "\tSensorEdge " + << sensorEdge << "\tSpecification of Cooling Pieces:\n" + << "\tLength " << coolDz << " Width " << coolWidth + << " Side " << coolSide << " Thickness of Shell " + << coolThick << " Radial distance " << coolDist + << " Materials " << coolMat << ", " << tubeMat; + printout(DEBUG,"PixelGeom",str.str().c_str()); + + vector<string> ladder = args.value<vector<string> >("LadderName"); + vector<double> ladderWidth = args.value<vector<double> >("LadderWidth"); + vector<double> ladderThick = args.value<vector<double> >("LadderThick"); + + str.str(""); + str << "DDPixBarLayerAlgo debug: Full Ladder " + << ladder[0] << " width/thickness " << ladderWidth[0] + << ", " << ladderThick[0] << "\tHalf Ladder " + << ladder[1] << " width/thickness " << ladderWidth[1] + << ", " << ladderThick[1]; + printout(DEBUG,"PixelGeom",str.str().c_str()); + + string mother = parentName; + const std::string &idName = mother; + + double dphi = CLHEP::twopi/number; + double d2 = 0.5*coolWidth; + double d1 = d2 - coolSide*sin(0.5*dphi); + double x1 = (d1+d2)/(2.*sin(0.5*dphi)); + double x2 = coolDist*sin(0.5*dphi); + double rmin = (coolDist-0.5*(d1+d2))*cos(0.5*dphi)-0.5*ladderThick[0]; + double rmax = (coolDist+0.5*(d1+d2))*cos(0.5*dphi)+0.5*ladderThick[0]; + double rmxh = rmax - 0.5*ladderThick[0] + ladderThick[1]; + str.str(""); + str << "DDPixBarLayerAlgo test: Rmin/Rmax " << rmin + << ", " << rmax << " d1/d2 " << d1 << ", " << d2 + << " x1/x2 " << x1 << ", " << x2; + printout(DEBUG,"PixelGeom",str.str().c_str()); + + double rtmi = rmin + 0.5*ladderThick[0] - ladderThick[1]; + double rtmx = sqrt(rmxh*rmxh+ladderWidth[1]*ladderWidth[1]); + Solid solid = Tube(rtmi, rtmx, 0.5*layerDz, 0, CLHEP::twopi); + solid.setName(idName); + str.str(""); + str << "DDPixBarLayerAlgo test: " + << idName << " Tubs made of " + << genMat << " from 0 to " << CLHEP::twopi/CLHEP::deg + << " with Rin " << rtmi << " Rout " << rtmx + << " ZHalf " << 0.5*layerDz; + printout(DEBUG,"PixelGeom",str.str().c_str()); + + Material matter; + Volume layer(solid.name(), solid, description.material(genMat)); + + double rr = 0.5*(rmax+rmin); + double dr = 0.5*(rmax-rmin); + double h1 = 0.5*coolSide*cos(0.5*dphi); + std::string name = idName + "CoolTube"; + solid = Trap(0.5*coolDz, 0, 0, h1, d2, d1, 0, h1, d2, d1, 0); + solid.setName(idName+"CoolTube"); + str.str(""); + str << "DDPixBarLayerAlgo test: " <<solid.name() + << " Trap made of " << tubeMat << " of dimensions " + << 0.5*coolDz << ", 0, 0, " << h1 << ", " << d2 + << ", " << d1 << ", 0, " << h1 << ", " << d2 << ", " + << d1 << ", 0"; + printout(DEBUG,"PixelGeom",str.str().c_str()); + Volume coolTube(solid.name(), solid, description.material(tubeMat)); + + h1 -= coolThick; + d1 -= coolThick; + d2 -= coolThick; + solid = Trap(0.5*coolDz, 0, 0, h1, d2, d1, 0, h1, d2, d1, 0); + solid.setName(idName + "Coolant"); + + str.str(""); + str << "DDPixBarLayerAlgo test: " <<solid.name() + << " Trap made of " << coolMat << " of dimensions " + << 0.5*coolDz << ", 0, 0, " << h1 << ", " << d2 + << ", " << d1 << ", 0, " << h1 << ", " << d2 << ", " + << d1 << ", 0"; + printout(DEBUG,"PixelGeom",str.str().c_str()); + + Volume cool(solid.name(), solid, description.material(coolMat)); + + //cpv.position(cool, coolTube, 1, DDTranslation(0.0, 0.0, 0.0), DDRotation()); + pv = coolTube.placeVolume(cool); + str.str(""); + str << "DDPixBarLayerAlgo test: " << cool.name() + << " number 1 positioned in " << coolTube.name() + << " at (0,0,0) with no rotation"; + printout(DEBUG,"PixelGeom",str.str().c_str()); + + string ladderFull = ladder[0]; + string ladderHalf = ladder[1]; + int nphi=number/2, copy=1, iup=-1; + double phi0 = 90*CLHEP::deg; + Volume ladderHalfVol = ctxt.volume(ladderHalf); + Volume ladderFullVol = ctxt.volume(ladderFull); + + for (int i=0; i<number; i++) { + double phi = phi0 + i*dphi; + double phix, phiy, rrr, xx; + std::string rots; + Position tran; + Rotation3D rot; + if (i == 0 || i == nphi) { + rrr = rr + dr + 0.5*(ladderThick[1]-ladderThick[0]); + xx = (0.5*ladderWidth[1] - sensorEdge) * sin(phi); + tran = Position(xx, rrr*sin(phi), 0); + rots = idName + std::to_string(copy); + phix = phi-90*CLHEP::deg; + phiy = 90*CLHEP::deg+phix; + str.str(""); + str << "DDPixBarLayerAlgo test: Creating a new " + << "rotation: " << rots << "\t90., " + << phix/CLHEP::deg << ", 90.," << phiy/CLHEP::deg + << ", 0, 0"; + printout(DEBUG,"PixelGeom",str.str().c_str()); + rot = make_rotation3D(90*CLHEP::deg, phix, 90*CLHEP::deg, phiy, 0.,0.); + + //cpv.position(ladderHalf, layer, copy, tran, rot); + pv = layer.placeVolume(ladderHalfVol, Transform3D(rot,tran)); + if ( !pv.isValid() ) { } + str.str(""); + str << "DDPixBarLayerAlgo test: " << ladderHalfVol.name() + << " number " << copy << " positioned in " + << layer.name() << " at " << tran << " with " + << rot; + printout(DEBUG,"PixelGeom",str.str().c_str()); + + copy++; + iup = -1; + rrr = rr - dr - 0.5*(ladderThick[1]-ladderThick[0]); + tran = Position(-xx, rrr*sin(phi), 0); + rots = idName + std::to_string(copy); + phix = phi+90*CLHEP::deg; + phiy = 90*CLHEP::deg+phix; + str.str(""); + str << "DDPixBarLayerAlgo test: Creating a new " + << "rotation: " << rots << "\t90., " + << phix/CLHEP::deg << ", 90.," << phiy/CLHEP::deg + << ", 0, 0"; + printout(DEBUG,"PixelGeom",str.str().c_str()); + + rot = make_rotation3D(90*CLHEP::deg, phix, 90*CLHEP::deg, phiy, 0.,0.); + //cpv.position(ladderHalf, layer, copy, tran, rot); + pv = layer.placeVolume(ladderHalfVol, Transform3D(rot,tran)); + if ( !pv.isValid() ) { } + str.str(""); + str << "DDPixBarLayerAlgo test: " << ladderHalfVol.name() + << " number " << copy << " positioned in " + << layer.name() << " at " << tran << " with " + << rot; + printout(DEBUG,"PixelGeom",str.str().c_str()); + copy++; + } else { + iup =-iup; + rrr = rr + iup*dr; + tran = Position(rrr*cos(phi), rrr*sin(phi), 0); + rots = idName + std::to_string(copy); + if (iup > 0) phix = phi-90*CLHEP::deg; + else phix = phi+90*CLHEP::deg; + phiy = phix+90.*CLHEP::deg; + str.str(""); + str << "DDPixBarLayerAlgo test: Creating a new " + << "rotation: " << rots << "\t90., " + << phix/CLHEP::deg << ", 90.," << phiy/CLHEP::deg + << ", 0, 0"; + printout(DEBUG,"PixelGeom",str.str().c_str()); + + rot = make_rotation3D(90*CLHEP::deg, phix, 90*CLHEP::deg, phiy, 0.,0.); + + //cpv.position(ladderFull, layer, copy, tran, rot); + pv = layer.placeVolume(ladderFullVol, Transform3D(rot,tran)); + if ( !pv.isValid() ) { } + str.str(""); + str << "DDPixBarLayerAlgo test: " << ladderFullVol.name() + << " number " << copy << " positioned in " + << layer.name() << " at " << tran << " with " + << rot; + printout(DEBUG,"PixelGeom",str.str().c_str()); + copy++; + } + rrr = coolDist*cos(0.5*dphi); + tran = Position(rrr*cos(phi)-x2*sin(phi), rrr*sin(phi)+x2*cos(phi), 0); + rots = idName + std::to_string(i+100); + phix = phi+0.5*dphi; + if (iup > 0) phix += 180*CLHEP::deg; + phiy = phix+90.*CLHEP::deg; + str.str(""); + str << "DDPixBarLayerAlgo test: Creating a new " + << "rotation: " << rots << "\t90., " + << phix/CLHEP::deg << ", 90.," << phiy/CLHEP::deg + << ", 0, 0"; + printout(DEBUG,"PixelGeom",str.str().c_str()); + rot = make_rotation3D(90*CLHEP::deg, phix, 90*CLHEP::deg, phiy, 0.,0.); + //cpv.position(coolTube, layer, i+1, tran, rot); + pv = layer.placeVolume(coolTube,Transform3D(rot,tran)); + if ( !pv.isValid() ) { } + str.str(""); + str << "DDPixBarLayerAlgo test: " << coolTube.name() + << " number " << i+1 << " positioned in " + << layer.name() << " at " << tran << " with "<< rot; + printout(DEBUG,"PixelGeom",str.str().c_str()); + } + + // Now we have built the layer.....create the DetElement object + string det_name = "Layer_"+idName; + DetElement det_elt(det_name,0); + Assembly assembly(det_name); + Volume motherVol = description.pickMotherVolume(det_elt); + pv = assembly.placeVolume(layer); + pv = motherVol.placeVolume(assembly); + det_elt.setPlacement(pv); + return det_elt; +} + +// first argument is the type from the xml file +DECLARE_DDCMS_DETELEMENT(track_DDPixBarLayerAlgo,create_element) + diff --git a/DDCMS/src/plugins/DDTrackerLinear.cpp b/DDCMS/src/plugins/DDTrackerLinear.cpp new file mode 100644 index 0000000000000000000000000000000000000000..43c75df7099ab6fdac9364511acb64840cf061f2 --- /dev/null +++ b/DDCMS/src/plugins/DDTrackerLinear.cpp @@ -0,0 +1,99 @@ +//========================================================================== +// AIDA Detector description implementation +//-------------------------------------------------------------------------- +// Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN) +// All rights reserved. +// +// For the licensing terms see $DD4hepINSTALL/LICENSE. +// For the list of contributors see $DD4hepINSTALL/doc/CREDITS. +// +// Author : M.Frank +// +//========================================================================== +// +// Specialized generic detector constructor +// +//========================================================================== + +// Framework include files +#include "DD4hep/DetFactoryHelper.h" +#include "DD4hep/Printout.h" +#include "DDCMS/DDCMSPlugins.h" + +// C/C++ include files +#include <sstream> + +using namespace std; +using namespace dd4hep; +using namespace dd4hep::detail; +using namespace dd4hep::cms; + +static Ref_t create_element(Detector& /* description */, + ParsingContext& ctxt, + xml_h e, + SensitiveDetector& /* sens */) +{ + stringstream str; + Namespace ns(ctxt); + AlgoArguments args(ctxt, e); + xml_det_t x_det = e; + string name = x_det.nameStr(); + DetElement det (name,x_det.id()); + Assembly assembly(name); + string parentName = args.parentName(); + int startcn = 1, incrcn = 1; + int number = args.value<int>("Number"); + double theta = args.value<double>("Theta"); + double phi = args.value<double>("Phi"); + double offset = args.value<double>("Offset"); + double delta = args.value<double>("Delta"); + vector<double> centre = args.value<vector<double> >("Center"); + string rotMat = args.value<string>("Rotation"); + + if ( args.find("StartCopyNo") ) { + startcn = size_t(args.value<double>("StartCopyNo")); + } + if ( args.find("IncrCopyNo") ) { + incrcn = int(args.value<double>("IncrCopyNo")); + } + printout(INFO,"DDTrackerLinear","+++ Executing Algorithm:%-24s rParent:%s", + name.c_str(), parentName.c_str()); + + string childName = args.value<string>("ChildName"); + str << "DDTrackerLinear debug: Parent " << parentName + << "\tChild " << childName << " NameSpace " + << ns.name << "\tNumber " << number + << "\tAxis (theta/phi) " << theta/dd4hep::deg << ", " + << phi/dd4hep::deg << "\t(Offset/Delta) " << offset + << ", " << delta << "\tCentre " << centre[0] << ", " + << centre[1] << ", " << centre[2] << "\tRotation " + << rotMat; + printout(INFO,"DDTrackerLinear",str.str().c_str()); + + Volume mother = ctxt.volume(parentName); + Volume child = ctxt.volume(childName); + Position direction(sin(theta)*cos(phi),sin(theta)*sin(phi),cos(theta)); + Position base(centre[0],centre[1],centre[2]); + RotationZYX rot; + if ( !rotMat.empty() ) { + rot = ctxt.rotation(rotMat); + } + for (int i=0, ci=startcn; i<number; i++, ci += incrcn) { + Position tran = base + (offset + double(i)*delta)*direction; + // Copy number ??? + /* PlacedVolume pv = */ + rotMat.empty() + ? assembly.placeVolume(child,Transform3D(rot,tran)) + : assembly.placeVolume(child,tran); + str.str(""); + str << child.name() << " number " + << ci << " positioned in " << mother.name() << " at " + << tran << " with " << rot; + printout(INFO,"DDTrackerLinear",str.str().c_str()); + } + return det; +} + +// first argument is the type from the xml file +DECLARE_DDCMS_DETELEMENT(track_DDTrackerLinear,create_element) + diff --git a/DDCond/include/DDCond/ConditionsTreePersistency.h b/DDCond/include/DDCond/ConditionsTreePersistency.h index b3696b7ec367faf4966f56c5ac9cd70fc2bb3ec9..bed2520ed6f876c2fd5db75aae42f1bd96d577c7 100644 --- a/DDCond/include/DDCond/ConditionsTreePersistency.h +++ b/DDCond/include/DDCond/ConditionsTreePersistency.h @@ -32,6 +32,82 @@ namespace dd4hep { /// Namespace for implementation details of the AIDA detector description toolkit namespace cond { + /* + * event (iov) + * | + * | + * | Link attribute: + * | (priority,tag-id) + * V 0..* valid for mutiple conditions + * global tag ----------------> condition tag (iov,version,pool-id) + * (named,iov) | 1 [cached, # of consecutive iov] + * [in memory] | + * | + * | + * V 0..1 + * conditions pool (pool-id) + * | [DDCond cache/management] + * | + * | + * | + * V 0..* + * condition + * + * + */ + + /** Class representing a conditions tag + * + * \author M.Frank + * \version 1.0 + */ + class ConditionsTag { + public: + /// Tag name + std::string name; + /// Interval of validity + IOV iov{0}; + /// Version number of the condition + int version = -1; + /// The collections contributing to this tag + int collectionID = -1; + /// Default destructor + ~ConditionsTag() = default; + /// Default constructor + ConditionsTag() = default; + /// Copy contructor + ConditionsTag(const ConditionsTag& copy) = default; + /// Assignment operator + ConditionsTag& operator=(const ConditionsTag& copy) = default; + }; + + /** Class representing a global tag + * + * \author M.Frank + * \version 1.0 + */ + class GlobalTag { + public: + /// Name of the global tag + std::string name; + /// The interval of validity for this global tag + IOV iov{0}; + + /// This vector contains all the individual tags contributing to this global tag + /** Tuple: (priority,tag-id) -> tree collection identifier */ + std::map<std::pair<int,int>, int> tags; + + + /// Default detructor + ~GlobalTag() = default; + /// Default constructor + GlobalTag() = default; + /// Copy contructor + GlobalTag(const GlobalTag& copy) = default; + /// Assignment operator + GlobalTag& operator=(const GlobalTag& copy) = default; + }; + /// Forward declarations class ConditionsSlice; class ConditionsIOVPool; @@ -56,7 +132,6 @@ namespace dd4hep { typedef std::list<std::pair<iov_key_type, pool_type> > persistent_type; persistent_type conditionPools; - persistent_type userPools; persistent_type iovPools; float duration; enum ImportStrategy { @@ -98,14 +173,13 @@ namespace dd4hep { static TFile* openFile(const std::string& fname); /// Add conditions content to be saved. Note, that dependent conditions shall not be saved! - size_t add(const std::string& identifier, const IOV& iov, std::vector<Condition>& conditions); + size_t add(const std::string& tag, const IOV& iov, std::vector<Condition>& conditions); /// Add conditions content to be saved. Note, that dependent conditions shall not be saved! - size_t add(const std::string& identifier, ConditionsPool& pool); + size_t add(const std::string& tag, ConditionsPool& pool); /// Add conditions content to be saved. Note, that dependent conditions shall not be saved! - size_t add(const std::string& identifier, const UserPool& pool); - /// Add conditions content to be saved. Note, that dependent conditions shall not be saved! - size_t add(const std::string& identifier, const ConditionsIOVPool& pool); + size_t add(const std::string& tag, const ConditionsIOVPool& pool); + /// Load conditions content from file. static std::unique_ptr<ConditionsTreePersistency> load(TFile* file,const std::string& object); @@ -116,11 +190,8 @@ namespace dd4hep { /// Load conditions IOV pool and populate conditions manager size_t importIOVPool(const std::string& id, const std::string& iov_type, ConditionsManager mgr); - /// Load conditions user pool and populate conditions manager - size_t importUserPool(const std::string& id, const std::string& iov_type, ConditionsManager mgr); /// Load conditions pool and populate conditions manager size_t importConditionsPool(const std::string& id, const std::string& iov_type, ConditionsManager mgr); - /// Load conditions pool and populate conditions manager. Allow tro be selective also for the key size_t importConditionsPool(ImportStrategy strategy, const std::string& id, diff --git a/DDCond/src/ConditionsTreePersistency.cpp b/DDCond/src/ConditionsTreePersistency.cpp index 23868711afdf538fe26bc4beb0a200efc8e76e0b..cb0fff8461b70a3c6b85d852fad598f8226c1db0 100644 --- a/DDCond/src/ConditionsTreePersistency.cpp +++ b/DDCond/src/ConditionsTreePersistency.cpp @@ -125,21 +125,6 @@ size_t ConditionsTreePersistency::add(const string& identifier, const Conditions return count; } -/// Add conditions content to the saved. Note, that dependent conditions shall not be saved! -size_t ConditionsTreePersistency::add(const string& identifier, const UserPool& pool) { - DurationStamp stamp(this); - userPools.push_back(pair<iov_key_type, pool_type>()); - pool_type& ent = userPools.back().second; - iov_key_type& key = userPools.back().first; - const IOV& iov = pool.validity(); - key.first = identifier; - key.second.first = make_pair(iov.iovType->name,iov.type); - key.second.second = iov.key(); - pool.scan(Scanner(ent)); - for(auto c : ent) c.ptr()->addRef(); - return ent.size(); -} - /// Open ROOT file in read mode TFile* ConditionsTreePersistency::openFile(const string& fname) { TDirectory::TContext context; @@ -164,7 +149,6 @@ void ConditionsTreePersistency::_clear(persistent_type& pool) { void ConditionsTreePersistency::clear() { /// Cleanup all the stuff not useful.... _clear(conditionPools); - _clear(userPools); _clear(iovPools); } @@ -267,15 +251,6 @@ size_t ConditionsTreePersistency::importIOVPool(const std::string& identifier, return _import(IMPORT_ALL,iovPools,identifier,iov_type,IOV::Key(),mgr); } -/// Load ConditionsIOVPool and populate conditions manager -size_t ConditionsTreePersistency::importUserPool(const std::string& identifier, - const std::string& iov_type, - ConditionsManager mgr) -{ - DurationStamp stamp(this); - return _import(IMPORT_ALL,userPools,identifier,iov_type,IOV::Key(),mgr); -} - /// Load ConditionsIOVPool and populate conditions manager size_t ConditionsTreePersistency::importConditionsPool(const std::string& identifier, const std::string& iov_type, diff --git a/DDCore/include/DD4hep/Handle.h b/DDCore/include/DD4hep/Handle.h index 9f72bc4e96148d6d8c16de3659a3356868341418..58f478a7bd65501593a73bdfc7061795fd795c53 100644 --- a/DDCore/include/DD4hep/Handle.h +++ b/DDCore/include/DD4hep/Handle.h @@ -228,6 +228,9 @@ namespace dd4hep { } } + /// String manipulations: Remove unconditionally all white spaces + std::string remove_whitespace(const std::string& v); + /// String conversions: boolean value to string \ingroup DD4HEP_CORE std::string _toString(bool value); /// String conversions: integer value to string \ingroup DD4HEP_CORE diff --git a/DDCore/include/DD4hep/Shapes.h b/DDCore/include/DD4hep/Shapes.h index 1662f8647efc6a79b71e1c02d174c31efc18e3cd..3a0ff3e83a27b104091e8a854229b62b2c2155ce 100644 --- a/DDCore/include/DD4hep/Shapes.h +++ b/DDCore/include/DD4hep/Shapes.h @@ -86,6 +86,11 @@ namespace dd4hep { /// Access to shape name const char* name() const; + /// Set new shape name + Solid_type<T>& setName(const char* value); + /// Set new shape name + Solid_type<T>& setName(const std::string& value); + /// Access to shape type (The TClass name of the ROOT implementation) const char* type() const; /// Auto conversion to underlying ROOT object diff --git a/DDCore/include/XML/UnicodeValues.h b/DDCore/include/XML/UnicodeValues.h index 6172f47147b5c59b6229547f148e2bbaf0d84a92..ec2da27df565d8bfb6fb1296080b7a2cd7562695 100644 --- a/DDCore/include/XML/UnicodeValues.h +++ b/DDCore/include/XML/UnicodeValues.h @@ -127,6 +127,7 @@ UNICODE (eunit); UNICODE (end_x); UNICODE (end_y); UNICODE (end_z); +UNICODE (eval); UNICODE (f); UNICODE (F); diff --git a/DDCore/include/XML/detail/Dimension.h b/DDCore/include/XML/detail/Dimension.h index bfa9f50cd7a82479b73399bcfcb96c89c4c3044c..6a6e87522e48c996f8f7a01ea60a35e60d55aa2a 100644 --- a/DDCore/include/XML/detail/Dimension.h +++ b/DDCore/include/XML/detail/Dimension.h @@ -169,6 +169,10 @@ namespace dd4hep { double distance() const; ///Access parameters: distance double distance(double default_value) const; + /// Access parameters: fraction + double fraction() const; + /// Access parameters: fraction + double fraction(double default_value) const; /// Access parameters: B double B() const; /// Access parameters: B @@ -562,6 +566,10 @@ namespace dd4hep { std::string typeStr() const; /// Access "value" attribute as STL string std::string valueStr() const; + /// Access "label" attribute as STL string + std::string labelStr() const; + /// Access "symbol" attribute as STL string + std::string symbolStr() const; /// Access "module" attribute as STL string std::string moduleStr() const; /// Access "readout" attribute as STL string diff --git a/DDCore/include/XML/detail/Dimension.imp b/DDCore/include/XML/detail/Dimension.imp index d3fdb3d27f4e9a62b702a02c2272b484a054c9f3..ec1932619dfa668d4601a82b8989da7b374c5dc4 100644 --- a/DDCore/include/XML/detail/Dimension.imp +++ b/DDCore/include/XML/detail/Dimension.imp @@ -95,6 +95,7 @@ XML_ATTR_ACCESSOR_DOUBLE(beta) XML_ATTR_ACCESSOR_DOUBLE(gamma) XML_ATTR_ACCESSOR_DOUBLE(delta) XML_ATTR_ACCESSOR_DOUBLE(epsilon) +XML_ATTR_ACCESSOR_DOUBLE(fraction) XML_ATTR_ACCESSOR_DOUBLE(theta) XML_ATTR_ACCESSOR_DOUBLE(deltatheta) XML_ATTR_ACCESSOR(int, thetaBins) @@ -208,22 +209,37 @@ std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::valueStr() const { return m_element.attr < std::string > (_U(value)); } +/// Access "label" attribute as STL std::string +std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::labelStr() const { + return m_element.attr < std::string > (_U(label)); +} + +/// Access "symbol" attribute as STL std::string +std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::symbolStr() const { + return m_element.attr < std::string > (_U(symbol)); +} + +/// Access "region" attribute as STL std::string. If not present returns empty string. std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::regionStr() const { return m_element.hasAttr(_U(region)) ? m_element.attr < std::string > (_U(region)) : std::string(); } +/// Access "limits" attribute as STL std::string. If not present returns empty string. std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::limitsStr() const { return m_element.hasAttr(_U(limits)) ? m_element.attr < std::string > (_U(limits)) : std::string(); } +/// Access "vis" attribute as STL std::string. If not present returns empty string. std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::visStr() const { return m_element.hasAttr(_U(vis)) ? m_element.attr < std::string > (_U(vis)) : std::string(); } +/// Access "readout" attribute as STL std::string. If not present returns empty string. std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::readoutStr() const { return m_element.hasAttr(_U(readout)) ? m_element.attr < std::string > (_U(readout)) : std::string(); } +/// Access "module" attribute as STL std::string. If not present returns empty string. std::string dd4hep::DD4HEP_DIMENSION_NS::Dimension::moduleStr() const { return m_element.hasAttr(_U(module)) ? m_element.attr < std::string > (_U(module)) : std::string(); } diff --git a/DDCore/src/DetectorImp.cpp b/DDCore/src/DetectorImp.cpp index b3474a32a06fb482e82042fceb9f8d3f4c7141f2..7e5eb2f98976f8fad8e572704d13e0301f49d8cb 100644 --- a/DDCore/src/DetectorImp.cpp +++ b/DDCore/src/DetectorImp.cpp @@ -17,8 +17,9 @@ #include "DD4hep/GeoHandler.h" #include "DD4hep/DetectorHelper.h" #include "DD4hep/InstanceCount.h" -#include "DD4hep/detail/VolumeManagerInterna.h" +#include "DD4hep/detail/ObjectsInterna.h" #include "DD4hep/detail/DetectorInterna.h" +#include "DD4hep/detail/VolumeManagerInterna.h" #include "DetectorImp.h" // C/C++ include files @@ -178,11 +179,16 @@ void DetectorImp::declareMotherVolume(const string& detector_name, const Volume& m_motherVolumes.insert(make_pair(detector_name,vol)); return; } - throw runtime_error("Detector: A mother volume to the detector "+detector_name+" was already registered."); + except("DD4hep", + "+++ A mother volume to the detector %s was already registered.", + detector_name.c_str()); } - throw runtime_error("Detector: Attempt to register invalid mother volume for detector:"+detector_name+" [Invalid-Handle]."); + except("DD4hep", + "+++ Attempt to register invalid mother volume for detector: %s [Invalid-Handle].", + detector_name.c_str()); } - throw runtime_error("Detector: Attempt to register mother volume to invalid detector [Invalid-detector-name]."); + except("DD4hep", + "+++ Attempt to register mother volume to invalid detector [Invalid-detector-name]."); } /// Access mother volume by detector element @@ -191,11 +197,22 @@ Volume DetectorImp::pickMotherVolume(const DetElement& de) const { string de_name = de.name(); auto i = m_motherVolumes.find(de_name); if (i == m_motherVolumes.end()) { - return m_worldVol; + if ( m_worldVol.isValid() ) { + return m_worldVol; + } + except("DD4hep", + "+++ The world volume is not (yet) valid. Are you correctly building detector %s?", + de.name()); } - return (*i).second; + if ( (*i).second.isValid() ) { + return (*i).second; + } + except("DD4hep", + "+++ The mother volume of %s is not valid. Are you correctly building detectors?", + de.name()); } - throw runtime_error("Detector: Attempt access mother volume of invalid detector [Invalid-handle]"); + except("DD4hep","Detector: Attempt access mother volume of invalid detector [Invalid-handle]"); + return 0; } Detector& DetectorImp::addDetector(const Handle<NamedObject>& ref_det) { @@ -209,8 +226,7 @@ Detector& DetectorImp::addDetector(const Handle<NamedObject>& ref_det) { stringstream str; str << "Detector: The sensitive sub-detectors " << det_element.name() << " and " << existing_det.name() << " have the identical ID:" << det_element.id() << "."; - printout(ERROR,"Detector",str.str()); - throw runtime_error(str.str()); + except("DD4hep",str.str()); } } m_detectors.append(ref_det); @@ -231,7 +247,8 @@ Detector& DetectorImp::addDetector(const Handle<NamedObject>& ref_det) { return *this; } } - throw runtime_error("Detector: The detector " + string(det_element.name()) + " has no known parent."); + except("DD4hep","Detector: The detector %s has no known parent.", det_element.name()); + throw runtime_error("Detector-Error"); // Never called.... } /// Add a new constant by named reference to the detector description @@ -464,6 +481,7 @@ namespace { } +/// Finalize/close the geometry void DetectorImp::endDocument() { TGeoManager* mgr = m_manager; if (!mgr->IsClosed()) { @@ -488,15 +506,17 @@ void DetectorImp::endDocument() { } } +/// Initialize the geometry and set the bounding box of the world volume void DetectorImp::init() { if (!m_world.isValid()) { TGeoManager* mgr = m_manager; + Constant air_const = getRefChild(m_define, "Air", false); + Constant vac_const = getRefChild(m_define, "Vacuum", false); Box worldSolid("world_x", "world_y", "world_z"); printout(INFO,"Detector"," *********** created World volume with size : %7.0f %7.0f %7.0f", worldSolid->GetDX(), worldSolid->GetDY(), worldSolid->GetDZ()); - - m_materialAir = material("Air"); - m_materialVacuum = material("Vacuum"); + m_materialAir = material(air_const.isValid() ? air_const->GetTitle() : "Air"); + m_materialVacuum = material(vac_const.isValid() ? vac_const->GetTitle() : "Vacuum"); Volume world_vol("world_volume", worldSolid, m_materialAir); m_world = DetElement(new WorldObject(*this,"world")); diff --git a/DDCore/src/Handle.cpp b/DDCore/src/Handle.cpp index f6e6a097eb2c9b21612f014a2e880030ff3c1227..f61c0e0a08b625443be88a73bfbe0c12816a3b53 100644 --- a/DDCore/src/Handle.cpp +++ b/DDCore/src/Handle.cpp @@ -203,6 +203,16 @@ void dd4hep::_toDictionary(const std::string& name, const std::string& value, co } } +/// String manipulations: Remove unconditionally all white spaces +string dd4hep::remove_whitespace(const string& v) { + string value; + value.reserve(v.length()+1); + for(const char* p = v.c_str(); *p; ++p) { + if ( !::isspace(*p) ) value += *p; + } + return value; +} + template <typename T> static inline string __to_string(T value, const char* fmt) { char text[128]; ::snprintf(text, sizeof(text), fmt, value); diff --git a/DDCore/src/Shapes.cpp b/DDCore/src/Shapes.cpp index 7eccfc7fa3698c6719e783cc9da8088ac7b63900..c4598b411ee790d5f3388e15d226a47a63a43908 100644 --- a/DDCore/src/Shapes.cpp +++ b/DDCore/src/Shapes.cpp @@ -173,6 +173,18 @@ template <typename T> const char* Solid_type<T>::name() const { return this->ptr()->GetName(); } +/// Set new shape name +template <typename T> Solid_type<T>& Solid_type<T>::setName(const char* value) { + this->access()->SetName(value); + return *this; +} + +/// Set new shape name +template <typename T> Solid_type<T>& Solid_type<T>::setName(const std::string& value) { + this->access()->SetName(value.c_str()); + return *this; +} + /// Access to shape type (The TClass name of the ROOT implementation) template <typename T> const char* Solid_type<T>::type() const { if ( this->ptr() ) { diff --git a/DDCore/src/plugins/Compact2Objects.cpp b/DDCore/src/plugins/Compact2Objects.cpp index 4be2a4521c3413e032e128ad51e96f2d364f49fb..14852f8bcb3049e1b9f08897bc8141d55c3022a0 100644 --- a/DDCore/src/plugins/Compact2Objects.cpp +++ b/DDCore/src/plugins/Compact2Objects.cpp @@ -38,7 +38,9 @@ using namespace std; using namespace dd4hep; +/// Namespace for the AIDA detector description toolkit namespace dd4hep { + class Debug; class Isotope; class Plugin; @@ -50,6 +52,7 @@ namespace dd4hep { class JsonFile; class DetElementInclude; + /// Converter instances implemented in this compilation unit template <> void Converter<Debug>::operator()(xml_h element) const; template <> void Converter<Plugin>::operator()(xml_h element) const; template <> void Converter<Constant>::operator()(xml_h element) const; @@ -219,12 +222,12 @@ static Ref_t create_MultipoleField(Detector& description, xml_h e) { } DECLARE_XMLELEMENT(MultipoleMagnet,create_MultipoleField) -static long create_Compact(Detector& description, xml_h element) { +static long load_Compact(Detector& description, xml_h element) { Converter<Compact>converter(description); converter(element); return 1; } -DECLARE_XML_DOC_READER(lccdd,create_Compact) +DECLARE_XML_DOC_READER(lccdd,load_Compact) /** Convert parser debug flags. */ diff --git a/DDDB/src/DDDBTags.cpp b/DDDB/src/DDDBTags.cpp index 4a7a9726ff19b6b3458905ad3da0936bd77b662a..81da32c8a9caf0a8b2215da3fd0e234698bded0e 100644 --- a/DDDB/src/DDDBTags.cpp +++ b/DDDB/src/DDDBTags.cpp @@ -21,7 +21,5 @@ #include "XML/XMLTags.h" // Define unicode tags -#ifndef UNICODE #define UNICODE(x) extern const ::dd4hep::xml::Tag_t Unicode_##x ( #x ) -#endif #include "DDDB/DDDBTags.h" diff --git a/DDDetectors/src/DiskTracker_geo.cpp b/DDDetectors/src/DiskTracker_geo.cpp index 75bb698b9140ac6089b23fb3fd171bfc19e74cf4..a6e91eb8261f48b90e03ed5cbb1f738ef6ec6038 100644 --- a/DDDetectors/src/DiskTracker_geo.cpp +++ b/DDDetectors/src/DiskTracker_geo.cpp @@ -54,8 +54,8 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s Volume s_vol(s_nam, Tube(rmin,rmax,thick), mat); if ( x_slice.isSensitive() ) { - sens.setType("tracker"); - s_vol.setSensitiveDetector(sens); + sens.setType("tracker"); + s_vol.setSensitiveDetector(sens); } s_vol.setAttributes(description,x_slice.regionStr(),x_slice.limitsStr(),x_slice.visStr()); pv = l_vol.placeVolume(s_vol,Position(0,0,z-zmin-layerWidth/2+thick/2)); diff --git a/DDDetectors/src/LayeringExtensionPlugin.cpp b/DDDetectors/src/LayeringExtensionPlugin.cpp index 4779057c92b6f5289a86e3f10ee4312bf090a3da..c316364fc8b926a2624002a5b86312f1fbd57f32 100644 --- a/DDDetectors/src/LayeringExtensionPlugin.cpp +++ b/DDDetectors/src/LayeringExtensionPlugin.cpp @@ -25,8 +25,8 @@ namespace { public: DetElement det, parent; std::map<int,DetElement> layers; - LayeringContext() {} - ~LayeringContext() { + LayeringContext() noexcept(true) {} + ~LayeringContext() { LayeringExtensionImpl* e = new LayeringExtensionImpl(); det.addExtension<LayeringExtension>(e); for(std::map<int,DetElement>::const_iterator i=layers.begin(); i!=layers.end();++i) { diff --git a/DDG4/src/Geant4InputAction.cpp b/DDG4/src/Geant4InputAction.cpp index 16ad21e6b5c6e5d0d8a0ec437de7ad78f8ffff06..cbba3e42288ec2649453c47c75a764203bc517b9 100644 --- a/DDG4/src/Geant4InputAction.cpp +++ b/DDG4/src/Geant4InputAction.cpp @@ -67,7 +67,7 @@ void Geant4EventReader::checkParameters(std::map< std::string, std::string > &pa } -/// Move to the indicated event number. +#if 0 Geant4EventReader::EventReaderStatus Geant4EventReader::moveToEvent(int event_number) { if ( event_number >= INT_MIN ) { @@ -92,6 +92,13 @@ Geant4EventReader::moveToEvent(int event_number) { } return EVENT_READER_ERROR; } +#else +/// Move to the indicated event number. +Geant4EventReader::EventReaderStatus +Geant4EventReader::moveToEvent(int event_number) { + return EVENT_READER_OK; +} +#endif /// Standard constructor Geant4InputAction::Geant4InputAction(Geant4Context* ctxt, const string& nam) diff --git a/examples/DDCMS/CMS-tracker.png b/examples/DDCMS/CMS-tracker.png new file mode 100644 index 0000000000000000000000000000000000000000..9e55ffe9c20f6133294dece1453bb294ce062988 Binary files /dev/null and b/examples/DDCMS/CMS-tracker.png differ diff --git a/examples/DDCMS/CMakeLists.txt b/examples/DDCMS/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..083efadc72950a1d2607fb34d9d98532060d9404 --- /dev/null +++ b/examples/DDCMS/CMakeLists.txt @@ -0,0 +1,32 @@ +#========================================================================== +# AIDA Detector description implementation +#-------------------------------------------------------------------------- +# Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN) +# All rights reserved. +# +# For the licensing terms see $DD4hepINSTALL/LICENSE. +# For the list of contributors see $DD4hepINSTALL/doc/CREDITS. +# +#========================================================================== +# +# DDCMS is a detector description convention developed by the CMS experiment. +# +#========================================================================== +cmake_minimum_required(VERSION 3.3 FATAL_ERROR) + +include ( ${DD4hep_DIR}/cmake/DD4hep.cmake ) +#------------------------------------------------------------------------------ +dd4hep_configure_output () +dd4hep_package (DDCMS MAJOR 0 MINOR 0 PATCH 1 + USES [ROOT REQUIRED COMPONENTS Geom GenVector] + [DD4hep REQUIRED COMPONENTS DDCore DDCMS] + OPTIONAL XERCESC + INCLUDE_DIRS include ) + +#------------------------------------------------------------------------------ +dd4hep_add_plugin(DDCMSexample SOURCES src/*.cpp) +#---Package installation procedure(s) ----------------------------------------- +dd4hep_install_dir( data DESTINATION ${DD4hep_DIR}/examples/DDCMS ) +#---Testing-------------------------------------------------------------------- +dd4hep_configure_scripts ( DDCMS DEFAULT_SETUP WITH_TESTS ) + diff --git a/examples/DDCMS/data/cms.xml b/examples/DDCMS/data/cms.xml new file mode 100644 index 0000000000000000000000000000000000000000..7289b660af080ac777534e41c2bd438f1412dfc5 --- /dev/null +++ b/examples/DDCMS/data/cms.xml @@ -0,0 +1,120 @@ +<?xml version="1.0"?> +<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../../DetectorDescription/Schema/DDLSchema.xsd"> + <ConstantsSection label="cms.xml" eval="true"> + <Constant name="Rmin" value="[cmsextent:Rmin]"/> + <Constant name="Zmin" value="[cmsextent:Zmin]"/> + <Constant name="HallZ" value="[cmsextent:HallZ]"/> + <Constant name="HallR" value="[cmsextent:HallR]"/> + <Constant name="HallRMax" value="[cmsextent:HallRMax]"/> + <Constant name="CMSR1" value="[cmsextent:CMSR1]"/> + <Constant name="CMSR2" value="[cmsextent:CMSR2]"/> + <Constant name="CMSZ1" value="[cmsextent:CMSZ1]"/> + <Constant name="CMSZ2" value="[cmsextent:CMSZ2]"/> + <Constant name="TrackCalorR" value="1.233*m"/> + <Constant name="CalorMuonR" value="2.950*m"/> + <Constant name="CalorMuonR2" value="2.810*m"/> + <Constant name="TrackBeamZ1" value="1.948*m"/> + <Constant name="TrackBeamZ2" value="2.935*m"/> + <Constant name="TrackBeamR1" value="3.15*cm"/> + <Constant name="TrackBeamR2" value="7.40*cm"/> + <Constant name="TrackLumiR1" value="7.70*cm"/> + <Constant name="TrackLumiR2Min" value="3.3*cm"/> + <Constant name="TrackLumiZ1" value="1.722*m"/> + <Constant name="TrackLumiZ2" value="1.800*m"/> + <Constant name="CalorBeamZ1" value="3.180*m"/> + <Constant name="CalorBeamZ2" value="5.541*m"/> + <Constant name="CalorBeamZ3" value="5.245*m"/> + <Constant name="CalorBeamR1" value="8.00*cm"/> + <Constant name="CalorBeamR2" value="8.93*cm"/> + <Constant name="MuonBeamZ0" value="6.50*m"/> + <Constant name="MuonBeamZ1" value="7.499*m"/> + <Constant name="MuonBeamZ2" value="10.86*m"/> + <Constant name="MuonBeamR0" value="10.50*cm"/> + <Constant name="MuonBeamR1" value="11.785*cm"/> + <Constant name="MuonBeamR2" value="76.80*cm"/> + <Constant name="TotemMuonZ1" value="10.165*m"/> + <Constant name="TotemMuonZ2" value="10.50*m"/> + <Constant name="TotemMuonR1" value="1.0411*m"/> + <Constant name="TotemMuonR2" value="1.1300*m"/> + <Constant name="TotemBeamZ1" value="7.9500*m"/> + <Constant name="TotemBeamZ2" value="13.381*m"/> + <Constant name="TotemBeamZ3" value="13.439*m"/> + <Constant name="TotemBeamZ4" value="13.465*m"/> + <Constant name="TotemBeamR1" value="[MuonBeamR1]"/> + <Constant name="TotemBeamR2" value="12.15*cm"/> + <Constant name="TotemBeamR3" value="12.20*cm"/> + <Constant name="TotemBeamR4" value="3.675*cm"/> + <Constant name="TotemBeamR5" value="3.575*cm"/> + <Constant name="ForwdBeamZ1" value="10.539*m"/> + <Constant name="ForwdBeamZ2" value="13.109*m"/> + <Constant name="ForwdBeamZ3" value="13.290*m"/> + <Constant name="ForwdBeamZ4" value="16.0305*m"/> + <Constant name="ForwdBeamZ5" value="16.424*m"/> + <Constant name="ForwdBeamZ6" value="17.058*m"/> + <Constant name="ForwdBeamZ7" value="17.920*m"/> + <Constant name="ForwdBeamZ8" value="18.562*m"/> + <Constant name="ForwdBeamZ9" value="18.905*m"/> + <Constant name="ForwdBeamR0" value="15.95*cm"/> + <Constant name="ForwdBeamR1" value="12.495*cm"/> + <Constant name="ForwdBeamR2" value="12.50*cm"/> + <Constant name="ForwdBeamR3" value="25.0*cm"/> + <Constant name="ForwdBeamR4" value="2.85*cm"/> + <Constant name="ForwdBeamR5" value="7.50*cm"/> + <Constant name="ForwdBeamR6" value="20.5*cm"/> + <Constant name="ForwdBeamR7" value="4.00*cm"/> + <Constant name="ForwdBeamR8" value="2.15*cm"/> + <Constant name="ForwdVcalZ1" value="11.1495*m"/> + <Constant name="ForwdVcalZ2" value="12.8005*m"/> + <Constant name="ForwdVcalR1" value="1.595*m"/> + <Constant name="ForwdDetsZ1" value="16.0065*m"/> + <Constant name="ForwdDetsR1" value="33.00*cm"/> + <Constant name="MBarRmin" value="3.80*m"/> + <Constant name="MBarRmax" value="8.05*m"/> + <Constant name="MBarZ" value="6.61*m"/> + <Constant name="MBRingZ" value="1.268*m"/> + <Constant name="MBRing1Zpos" value="2.686*m"/> + <Constant name="MBRing2Zpos" value="5.342*m"/> + <Constant name="MEndcapZ0" value="6.59*m"/> + <Constant name="MEndcapZ1" value="6.835*m"/> + <Constant name="MERmin0" value="66.569*cm"/> + <Constant name="MERmin1" value="67.50*cm"/> + <Constant name="MERmin2" value="70.00*cm"/> + <Constant name="MERmin3" value="108.60*cm"/> + </ConstantsSection> + <SolidSection label="cms.xml"> + <Polycone name="OCMS" startPhi="0*deg" deltaPhi="360*deg"> + <ZSection z="-[CMSZ1]" rMin="[Rmin]" rMax="[CMSR2]"/> + <ZSection z="-[HallZ]" rMin="[Rmin]" rMax="[CMSR2]"/> + <ZSection z="-[HallZ]" rMin="[Rmin]" rMax="[HallRMax]"/> + <ZSection z="[HallZ]" rMin="[Rmin]" rMax="[HallRMax]"/> + <ZSection z="[HallZ]" rMin="[Rmin]" rMax="[CMSR2]"/> + <ZSection z="[CMSZ1]" rMin="[Rmin]" rMax="[CMSR2]"/> + </Polycone> + <Polycone name="CMSE" startPhi="0*deg" deltaPhi="360*deg"> + <ZSection z="-[CMSZ1]" rMin="[Rmin]" rMax="[CMSR2]"/> + <ZSection z="-[CMSZ2]" rMin="[Rmin]" rMax="[CMSR2]"/> + <ZSection z="-[CMSZ2]" rMin="[Rmin]" rMax="[CMSR1]"/> + <ZSection z="[CMSZ2]" rMin="[Rmin]" rMax="[CMSR1]"/> + <ZSection z="[CMSZ2]" rMin="[Rmin]" rMax="[CMSR2]"/> + <ZSection z="[CMSZ1]" rMin="[Rmin]" rMax="[CMSR2]"/> + </Polycone> + </SolidSection> + <LogicalPartSection label="cms.xml"> + <LogicalPart name="World" category="unspecified"> + <rSolid name="OCMS"/> + <rMaterial name="materials:Air"/> + </LogicalPart> + <LogicalPart name="OCMS" category="unspecified"> + <rSolid name="OCMS"/> + <rMaterial name="materials:Air"/> + </LogicalPart> + <LogicalPart name="MCMS" category="unspecified"> + <rSolid name="OCMS"/> + <rMaterial name="materials:Air"/> + </LogicalPart> + <LogicalPart name="CMSE" category="unspecified"> + <rSolid name="CMSE"/> + <rMaterial name="materials:Air"/> + </LogicalPart> + </LogicalPartSection> +</DDDefinition> diff --git a/examples/DDCMS/data/cms_tracker.xml b/examples/DDCMS/data/cms_tracker.xml new file mode 100644 index 0000000000000000000000000000000000000000..a48ea6be8461f7fbbbf3aa44c08390737804d168 --- /dev/null +++ b/examples/DDCMS/data/cms_tracker.xml @@ -0,0 +1,89 @@ +<?xml version="1.0"?> +<DDDefinition> + <debug> + <debug_shapes/> + <debug_volumes/> + <debug_placements/> + </debug> + <ConstantsSection label="" eval="true"> + <Constant name="world_x" value="5*m"/> + <Constant name="world_y" value="5*m"/> + <Constant name="world_z" value="5*m"/> + <Constant name="fm" value="1e-12*m"/> + <Constant name="Air" value="materials_Air" type="string"/> + <Constant name="Vacuum" value="materials_Vacuum" type="string"/> + </ConstantsSection> + + <VisSection> +<!-- Unused stuff: + <vis name="Layer_pixbarlayer0_PixelBarrelLayer0" alpha="1.0" r="1" g="0" b="1" showDaughters="true" visible="true"/> + + <vis name="pixbarladderhalf_PixelBarrelModuleHalfMinus" alpha="0.3" r="0.3" g="0.3" b="0.3" showDaughters="true" visible="true"/> + <vis name="pixbarladderhalf_PixelBarrelModuleHalfPlus" alpha="0.3" r="0.3" g="0.3" b="0.3" showDaughters="true" visible="true"/> + + <vis name="pixbarladderhalf_PixelBarrelROChipHalf" alpha="0.5" r="0.3" g="0.3" b="0.3" showDaughters="true" visible="true"/> + <vis name="pixbarladderhalf_PixelBarrelSensorHalf" alpha="1.0" r="0.9" g="0.9" b="0" showDaughters="true" visible="true"/> + <vis name="pixbarladderhalf_PixelBarrelActiveHalf" alpha="1.0" r="0.9" g="0.9" b="0" showDaughters="true" visible="true"/> + + <vis name="pixbarladderfull_PixelBarrelCFStripHoleFull" alpha="0.3" r="0.3" g="0.3" b="0.3" showDaughters="true" visible="true"/> + <vis name="pixbarladderfull_PixelBarrelModuleFullMinus" alpha="0.3" r="0.3" g="0.3" b="0.3" showDaughters="true" visible="true"/> + <vis name="pixbarladderfull_PixelBarrelModuleFullPlus" alpha="0.3" r="0.3" g="0.3" b="0.3" showDaughters="true" visible="true"/> + + <vis name="pixbarladderfull_PixelBarrelROChipFull" alpha="1" r="0.1" g="0.1" b="0.1" showDaughters="true" visible="true"/> + <vis name="pixbarladderfull_PixelBarrelSensorFull" alpha="1" r="0.9" g="0.9" b="0" showDaughters="true" visible="true"/> + <vis name="pixbarladderfull_PixelBarrelActiveFull" alpha="1" r="0.9" g="0.9" b="0" showDaughters="true" visible="true"/> +--> + + <!-- DO NOT REFORMAT PLEASE!!!! Vis attributes represent volume hierarchy! --> + + <vis name="pixbarladderhalf_PixelBarrelCable1Half" alpha="1.0" r="0" g="1" b="1" showDaughters="true" visible="true"/> + <vis name="pixbarladderhalf_PixelBarrelCable2Half" alpha="1.0" r="0" g="1" b="1" showDaughters="true" visible="true"/> + <vis name="pixbarladderhalf_PixelBarrelCable3Half" alpha="1.0" r="0" g="1" b="1" showDaughters="true" visible="true"/> + <vis name="pixbarladderhalf_PixelBarrelCable4Half" alpha="1.0" r="0" g="1" b="1" showDaughters="true" visible="true"/> + <vis name="pixbarladderhalf_PixelBarrelCableBoxHalf" alpha="0.4" r="0.4" g="0.2" b="0.2" showDaughters="true" visible="true"/> + <vis name="pixbarladderhalf_PixelBarrelModuleBoxHalf" alpha="0.6" r="0.2" g="0.2" b="0.2" showDaughters="true" visible="true"/> + <vis name="pixbarladderhalf_PixelBarrelCFStripHalf" alpha="1" r="1" g="0.1" b="0.1" showDaughters="true" visible="true"/> + <vis name="pixbarladderhalf_PixelBarrelLadderHalf" alpha="0.8" r="0.6" g="0.6" b="0.0" showDaughters="true" visible="true"/> + + <vis name="pixbarladderfull_PixelBarrelCable1Full" alpha="1.0" r="0" g="1" b="1" showDaughters="true" visible="true"/> + <vis name="pixbarladderfull_PixelBarrelCable2Full" alpha="1.0" r="0" g="1" b="1" showDaughters="true" visible="true"/> + <vis name="pixbarladderfull_PixelBarrelCable3Full" alpha="1.0" r="0" g="1" b="1" showDaughters="true" visible="true"/> + <vis name="pixbarladderfull_PixelBarrelCable4Full" alpha="1.0" r="0" g="1" b="1" showDaughters="true" visible="true"/> + <vis name="pixbarladderfull_PixelBarrelCableBoxFull" alpha="0.4" r="0.4" g="0.2" b="0.2" showDaughters="true" visible="true"/> + <vis name="pixbarladderfull_PixelBarrelModuleBoxFull" alpha="0.6" r="0.2" g="0.2" b="0.2" showDaughters="true" visible="true"/> + <vis name="pixbarladderfull_PixelBarrelCFStripFull" alpha="1" r="1" g="0.1" b="0.1" showDaughters="true" visible="true"/> + <vis name="pixbarladderfull_PixelBarrelLadderFull" alpha="0.8" r="0.6" g="0.6" b="0.0" showDaughters="true" visible="true"/> + + <vis name="pixbarlayer0_PixelBarrelLayer0Coolant" alpha="0.5" r="0" g="0.4" b="0.6" showDaughters="true" visible="false"/> + <vis name="pixbarlayer0_PixelBarrelLayer0CoolTube" alpha="1.0" r="0" g="0.2" b="0.8" showDaughters="true" visible="true"/> + <vis name="pixbarlayer0_PixelBarrelLayer0" alpha="0.5" r="0.6" g="0.6" b="0.6" showDaughters="true" visible="true"/> + + <vis name="pixbarlayer1_PixelBarrelLayer1Coolant" alpha="0.5" r="0" g="0.4" b="0.6" showDaughters="true" visible="false"/> + <vis name="pixbarlayer1_PixelBarrelLayer1CoolTube" alpha="1.0" r="0" g="0.2" b="0.8" showDaughters="true" visible="true"/> + <vis name="pixbarlayer1_PixelBarrelLayer1" alpha="0.5" r="0.6" g="0.6" b="0.6" showDaughters="true" visible="true"/> + + <vis name="pixbarlayer2_PixelBarrelLayer2Coolant" alpha="0.5" r="0" g="0.4" b="0.6" showDaughters="true" visible="false"/> + <vis name="pixbarlayer2_PixelBarrelLayer2CoolTube" alpha="1.0" r="0" g="0.2" b="0.8" showDaughters="true" visible="true"/> + <vis name="pixbarlayer2_PixelBarrelLayer2" alpha="0.5" r="0.6" g="0.6" b="0.6" showDaughters="true" visible="true"/> + + </VisSection> + + <IncludeSection> + <Include ref="materials.xml"/> + <Include ref="trackermaterial.xml"/> + <Include ref="pixfwdMaterials.xml"/> + <Include ref="pixbarmaterial.xml"/> + <Include ref="vacuum.xml"/> + <Include ref="cmsextent.xml"/> + <Include ref="cms.xml"/> + <Include ref="pixbar.xml"/> + <Include ref="pixbarladder.xml"/> + <Include ref="pixbarladderfull.xml"/> + <Include ref="pixbarladderhalf.xml"/> + <Include ref="pixbarlayer.xml"/> + <Include ref="pixbarlayer0.xml"/> + <Include ref="pixbarlayer1.xml"/> + <Include ref="pixbarlayer2.xml"/> + + </IncludeSection> +</DDDefinition> diff --git a/examples/DDCMS/data/cmsextent.xml b/examples/DDCMS/data/cmsextent.xml new file mode 100644 index 0000000000000000000000000000000000000000..e5f25f0bccf4ac73dfff50f71faa5cb383f4177c --- /dev/null +++ b/examples/DDCMS/data/cmsextent.xml @@ -0,0 +1,14 @@ +<?xml version="1.0"?> +<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../../../DetectorDescription/Schema/DDLSchema.xsd"> + <ConstantsSection label="cmsextent.xml" eval="true"> + <Constant name="Rmin" value="0*fm"/> + <Constant name="Zmin" value="0*fm"/> + <Constant name="HallZ" value="27.0*m"/> + <Constant name="HallR" value="13.0*m"/> + <Constant name="HallRMax" value="[HallR]"/> + <Constant name="CMSR1" value="8.30*m"/> + <Constant name="CMSR2" value="1.00*m"/> + <Constant name="CMSZ1" value="27.1*m"/> + <Constant name="CMSZ2" value="26.0*m"/> + </ConstantsSection> +</DDDefinition> diff --git a/examples/DDCMS/data/materials.xml b/examples/DDCMS/data/materials.xml new file mode 100644 index 0000000000000000000000000000000000000000..a159d384806b62e50d9d60d1821c97bbf27a2ec1 --- /dev/null +++ b/examples/DDCMS/data/materials.xml @@ -0,0 +1,4680 @@ +<?xml version="1.0"?> +<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../../DetectorDescription/Schema/DDLSchema.xsd"> + <MaterialSection label="materials.xml"> + <ElementaryMaterial name="Aluminium" density="2.7*g/cm3" symbol=" " atomicWeight="26.98*g/mole" atomicNumber="13"/> + <ElementaryMaterial name="TD_Aluminium" density="8.1*g/cm3" symbol=" " atomicWeight="26.98*g/mole" atomicNumber="13"/> + <ElementaryMaterial name="Antimony" density="6.679*g/cm3" symbol=" " atomicWeight="121.75*g/mole" atomicNumber="51"/> + <ElementaryMaterial name="Argon" density="1.639*mg/cm3" symbol=" " atomicWeight="39.948*g/mole" atomicNumber="18"/> + <ElementaryMaterial name="Arsenic" density="5.72*g/cm3" symbol=" " atomicWeight="74.922*g/mole" atomicNumber="33"/> + <ElementaryMaterial name="Barium" density="3.5*g/cm3" symbol=" " atomicWeight="137.33*g/mole" atomicNumber="56"/> + <ElementaryMaterial name="Beryllium" density="1.848*g/cm3" symbol=" " atomicWeight="9.0122*g/mole" atomicNumber="4"/> + <ElementaryMaterial name="Bismuth" density="9.37*g/cm3" symbol=" " atomicWeight="208.98*g/mole" atomicNumber="83"/> + <ElementaryMaterial name="Bor 10" density="2.34*g/cm3" symbol=" " atomicWeight="10*g/mole" atomicNumber="5"/> + <ElementaryMaterial name="Bor 11" density="2.34*g/cm3" symbol=" " atomicWeight="11*g/mole" atomicNumber="5"/> + <ElementaryMaterial name="Bromine" density="3.11*g/cm3" symbol=" " atomicWeight="79.904*g/mole" atomicNumber="35"/> + <ElementaryMaterial name="Cadmium" density="8.63*g/cm3" symbol=" " atomicWeight="112.41*g/mole" atomicNumber="48"/> + <ElementaryMaterial name="Calcium" density="1.55*g/cm3" symbol=" " atomicWeight="40.078*g/mole" atomicNumber="20"/> + <ElementaryMaterial name="Carbon" density="2.265*g/cm3" symbol=" " atomicWeight="12.011*g/mole" atomicNumber="6"/> + <ElementaryMaterial name="Cerium" density="6.637*g/cm3" symbol=" " atomicWeight="140.12*g/mole" atomicNumber="58"/> + <ElementaryMaterial name="Cesium" density="1.87*g/cm3" symbol=" " atomicWeight="132.9054*g/mole" atomicNumber="55"/> + <ElementaryMaterial name="Chlorine" density="1.56*g/cm3" symbol=" " atomicWeight="35.45*g/mole" atomicNumber="17"/> + <ElementaryMaterial name="Chromium" density="7.18*g/cm3" symbol=" " atomicWeight="51.996*g/mole" atomicNumber="24"/> + <ElementaryMaterial name="Cobalt" density="8.9*g/cm3" symbol=" " atomicWeight="58.933*g/mole" atomicNumber="27"/> + <ElementaryMaterial name="Copper" density="8.96*g/cm3" symbol=" " atomicWeight="63.546*g/mole" atomicNumber="29"/> + <ElementaryMaterial name="Deuterium" density="162*mg/cm3" symbol=" " atomicWeight="2.01*g/mole" atomicNumber="1"/> + <ElementaryMaterial name="Fluorine" density="1.108*g/cm3" symbol=" " atomicWeight="18.998*g/mole" atomicNumber="9"/> + <ElementaryMaterial name="Gallium" density="5.877*g/cm3" symbol=" " atomicWeight="69.723*g/mole" atomicNumber="31"/> + <ElementaryMaterial name="Germanium" density="5.323*g/cm3" symbol=" " atomicWeight="72.61*g/mole" atomicNumber="32"/> + <ElementaryMaterial name="Gold" density="18.85*g/cm3" symbol=" " atomicWeight="196.97*g/mole" atomicNumber="79"/> + <ElementaryMaterial name="Helium" density="125*mg/cm3" symbol=" " atomicWeight="4.0026*g/mole" atomicNumber="2"/> + <ElementaryMaterial name="Hydrogen" density="70.8*mg/cm3" symbol=" " atomicWeight="1.00794*g/mole" atomicNumber="1"/> + <ElementaryMaterial name="Indium" density="7.3*g/cm3" symbol=" " atomicWeight="114.82*g/mole" atomicNumber="49"/> + <ElementaryMaterial name="Iodine" density="7.3*g/cm3" symbol=" " atomicWeight="114.82*g/mole" atomicNumber="53"/> + <ElementaryMaterial name="Iron" density="7.87*g/cm3" symbol=" " atomicWeight="55.85*g/mole" atomicNumber="26"/> + <ElementaryMaterial name="Krypton" density="2.6*g/cm3" symbol=" " atomicWeight="83.8*g/mole" atomicNumber="36"/> + <ElementaryMaterial name="Lanthanum" density="6.127*g/cm3" symbol=" " atomicWeight="138.9055*g/mole" atomicNumber="57"/> + <ElementaryMaterial name="Lead" density="11.35*g/cm3" symbol=" " atomicWeight="207.19*g/mole" atomicNumber="82"/> + <ElementaryMaterial name="Lithium" density="534*mg/cm3" symbol=" " atomicWeight="6.941*g/mole" atomicNumber="3"/> + <ElementaryMaterial name="Lutecium" density="9.841*g/cm3" symbol=" " atomicWeight="174.96*g/mole" atomicNumber="71"/> + <ElementaryMaterial name="Magnesium" density="1.735*g/cm3" symbol=" " atomicWeight="24.305*g/mole" atomicNumber="12"/> + <ElementaryMaterial name="Manganese" density="7.43*g/cm3" symbol=" " atomicWeight="54.938*g/mole" atomicNumber="25"/> + <ElementaryMaterial name="Molybdenum" density="10.2*g/cm3" symbol=" " atomicWeight="95.94*g/mole" atomicNumber="42"/> + <ElementaryMaterial name="Neodymium" density="1e-22*mg/cm3" symbol=" " atomicWeight="144.24*g/mole" atomicNumber="60"/> + <ElementaryMaterial name="Neon" density="1.207*g/cm3" symbol=" " atomicWeight="20.18*g/mole" atomicNumber="10"/> + <ElementaryMaterial name="Nickel" density="8.876*g/cm3" symbol=" " atomicWeight="58.693*g/mole" atomicNumber="28"/> + <ElementaryMaterial name="Niobium" density="8.55*g/cm3" symbol=" " atomicWeight="92.906*g/mole" atomicNumber="41"/> + <ElementaryMaterial name="Nitrogen" density="808*mg/cm3" symbol=" " atomicWeight="14.007*g/mole" atomicNumber="7"/> + <ElementaryMaterial name="Oxygen" density="1.43*mg/cm3" symbol=" " atomicWeight="15.999*g/mole" atomicNumber="8"/> + <ElementaryMaterial name="Palladium" density="12*g/cm3" symbol=" " atomicWeight="106.42*g/mole" atomicNumber="46"/> + <ElementaryMaterial name="Phosphor" density="1.82*g/cm3" symbol=" " atomicWeight="30.974*g/mole" atomicNumber="15"/> + <ElementaryMaterial name="Potassium" density="860*mg/cm3" symbol=" " atomicWeight="39.098*g/mole" atomicNumber="19"/> + <ElementaryMaterial name="Praseodymium" density="1e-22*mg/cm3" symbol=" " atomicWeight="140.9077*g/mole" atomicNumber="59"/> + <ElementaryMaterial name="Rhodium" density="12.39*g/cm3" symbol=" " atomicWeight="102.9055*g/mole" atomicNumber="45"/> + <ElementaryMaterial name="Rubidium" density="1.529*g/cm3" symbol=" " atomicWeight="85.4678*g/mole" atomicNumber="37"/> + <ElementaryMaterial name="Ruthenium" density="12.39*g/cm3" symbol=" " atomicWeight="101.07*g/mole" atomicNumber="44"/> + <ElementaryMaterial name="Scandium" density="2.98*g/cm3" symbol=" " atomicWeight="44.956*g/mole" atomicNumber="21"/> + <ElementaryMaterial name="Selenium" density="4.78*g/cm3" symbol=" " atomicWeight="78.96*g/mole" atomicNumber="34"/> + <ElementaryMaterial name="Silicon" density="2.33*g/cm3" symbol=" " atomicWeight="28.09*g/mole" atomicNumber="14"/> + <ElementaryMaterial name="Silver" density="10.48*g/cm3" symbol=" " atomicWeight="107.87*g/mole" atomicNumber="47"/> + <ElementaryMaterial name="Sodium" density="969*mg/cm3" symbol=" " atomicWeight="22.99*g/mole" atomicNumber="11"/> + <ElementaryMaterial name="Strontium" density="2.54*g/cm3" symbol=" " atomicWeight="87.62*g/mole" atomicNumber="38"/> + <ElementaryMaterial name="Sulfur" density="2.07*g/cm3" symbol=" " atomicWeight="32.066*g/mole" atomicNumber="16"/> + <ElementaryMaterial name="Tantalum" density="16.65*g/cm3" symbol=" " atomicWeight="180.9479*g/mole" atomicNumber="73"/> + <ElementaryMaterial name="Technetium" density="11.48*g/cm3" symbol=" " atomicWeight="98*g/mole" atomicNumber="43"/> + <ElementaryMaterial name="Tellurium" density="6.23*g/cm3" symbol=" " atomicWeight="127.6*g/mole" atomicNumber="52"/> + <ElementaryMaterial name="Tin" density="7.31*g/cm3" symbol=" " atomicWeight="118.69*g/mole" atomicNumber="50"/> + <ElementaryMaterial name="Titanium" density="4.53*g/cm3" symbol=" " atomicWeight="47.88*g/mole" atomicNumber="22"/> + <ElementaryMaterial name="Tungsten" density="19.3*g/cm3" symbol=" " atomicWeight="183.85*g/mole" atomicNumber="74"/> + <ElementaryMaterial name="Uranium" density="18.95*g/cm3" symbol=" " atomicWeight="238.03*g/mole" atomicNumber="92"/> + <ElementaryMaterial name="Vacuum" density="1e-13*mg/cm3" symbol=" " atomicWeight="1*g/mole" atomicNumber="1"/> + <ElementaryMaterial name="Vanadium" density="6.1*g/cm3" symbol=" " atomicWeight="50.941*g/mole" atomicNumber="23"/> + <ElementaryMaterial name="Xenon" density="3.057*g/cm3" symbol=" " atomicWeight="131.29*g/mole" atomicNumber="54"/> + <ElementaryMaterial name="Yttrium" density="4.456*g/cm3" symbol=" " atomicWeight="88.9059*g/mole" atomicNumber="39"/> + <ElementaryMaterial name="Zinc" density="7.112*g/cm3" symbol=" " atomicWeight="65.39*g/mole" atomicNumber="30"/> + <ElementaryMaterial name="Zirconium" density="6.494*g/cm3" symbol=" " atomicWeight="91.22*g/mole" atomicNumber="40"/> + <CompositeMaterial name="FPix_Thermflow" density="0.7625*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.3787448"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.21575329"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.3239468"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.08155498"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FPix_TPG" density="2.47*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FPix_CFSkin" density="3.43511*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FPix_CFSkin_OuterOuterRing" density="2.2677*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FPix_CFSkin_OuterInnerRing" density="1.000035*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FPix_CFSkin_InnerOuterRing" density="1.77*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FPix_CFSkin_InnerInnerRing" density="1.1744*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="C_C_OuterOuterRing" density="1.612*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.0"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="C_C_OuterInnerRing" density="1.745*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.0"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="C_C_InnerOuterRing" density="1.944*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.0"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="C_C_InnerInnerRing" density="1.566*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.0"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="80pct Argon plus 20pct CO_2" density="1.675*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.78405896"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.058934941"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.1570061"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="AISI-1006-Steel" density="7.87*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0008"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0045"> + <rMaterial name="materials:Manganese"/> + </MaterialFraction> + <MaterialFraction fraction="0.0004"> + <rMaterial name="materials:Phosphor"/> + </MaterialFraction> + <MaterialFraction fraction="0.0005"> + <rMaterial name="materials:Sulfur"/> + </MaterialFraction> + <MaterialFraction fraction="0.9938"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="AISI-1018-Steel" density="7.83*g/cm3 " symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0018"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.01"> + <rMaterial name="materials:Manganese"/> + </MaterialFraction> + <MaterialFraction fraction="0.0002"> + <rMaterial name="materials:Phosphor"/> + </MaterialFraction> + <MaterialFraction fraction="0.0001"> + <rMaterial name="materials:Sulfur"/> + </MaterialFraction> + <MaterialFraction fraction="0.0025"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.9854"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Steel_Upgrade" density="0.4915*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:AISI-1018-Steel"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="AISI-1045-Steel" density="7.87*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.005"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.009"> + <rMaterial name="materials:Manganese"/> + </MaterialFraction> + <MaterialFraction fraction="0.0004"> + <rMaterial name="materials:Phosphor"/> + </MaterialFraction> + <MaterialFraction fraction="0.0005"> + <rMaterial name="materials:Sulfur"/> + </MaterialFraction> + <MaterialFraction fraction="0.9851"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Bpix_Pipe_Steel" density="8.02*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0005"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.18"> + <rMaterial name="materials:Chromium"/> + </MaterialFraction> + <MaterialFraction fraction="0.1"> + <rMaterial name="materials:Nickel"/> + </MaterialFraction> + <MaterialFraction fraction="0.7195"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="AQBB borated concre" density="2.135*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.032142361"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.47563465"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.20400656"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.051371319"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.20008524"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0048537181"> + <rMaterial name="materials:Bor 10"/> + </MaterialFraction> + <MaterialFraction fraction="0.02135636"> + <rMaterial name="materials:Bor 11"/> + </MaterialFraction> + <MaterialFraction fraction="0.010549802"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.001119"> + <rMaterial name="materials:Water"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Heavy Boron concrete" density="3.574*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.5203954"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.34702"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0080099"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0296094"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0684299"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.006620977"> + <rMaterial name="materials:Bor 10"/> + </MaterialFraction> + <MaterialFraction fraction="0.008010562"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.004774732"> + <rMaterial name="materials:Titanium"/> + </MaterialFraction> + <MaterialFraction fraction="0.004804022"> + <rMaterial name="materials:Magnesium"/> + </MaterialFraction> + <MaterialFraction fraction="0.000555229"> + <rMaterial name="materials:Manganese"/> + </MaterialFraction> + <MaterialFraction fraction="0.001653212"> + <rMaterial name="materials:Potassium"/> + </MaterialFraction> + <MaterialFraction fraction="0.000118189"> + <rMaterial name="materials:Sodium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Air" density="1.214*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.7494"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.2369"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0129"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0008"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Al support" density="254*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Al-MMC" density="1.84*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Al-silicate plus Zi" density="3.3196*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.34196227"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.11867705"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.43936068"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.1"> + <rMaterial name="materials:Zinc"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Al_2 O_3" density="3.91*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.52924272"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.47075728"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Aluminium 2219" density="2.84*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.9168"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.068"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.003"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.0002"> + <rMaterial name="materials:Magnesium"/> + </MaterialFraction> + <MaterialFraction fraction="0.004"> + <rMaterial name="materials:Manganese"/> + </MaterialFraction> + <MaterialFraction fraction="0.002"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.001"> + <rMaterial name="materials:Titanium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0015"> + <rMaterial name="materials:Vanadium"/> + </MaterialFraction> + <MaterialFraction fraction="0.001"> + <rMaterial name="materials:Zinc"/> + </MaterialFraction> + <MaterialFraction fraction="0.0025"> + <rMaterial name="materials:Zirconium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Aluminium 2219 light" density="1.42*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.5"> + <rMaterial name="materials:Aluminium 2219"/> + </MaterialFraction> + <MaterialFraction fraction="0.5"> + <rMaterial name="materials:Air"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Aluminium 2219 very light" density="0.067558*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.065"> + <rMaterial name="materials:Aluminium 2219"/> + </MaterialFraction> + <MaterialFraction fraction="0.935"> + <rMaterial name="materials:Air"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Alumina" density="3.52*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.52924272"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.47075728"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Aluminium Pix_b" density="2.7*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Aluminium honeycomb" density="0.0511415*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.97670111"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.017460186"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0055195064"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.00030055565"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="1.863911e-05"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Aluminium silicate" density="3.156*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.37995808"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.13186339"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.48817853"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Aluminized Mylar" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.45014471"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.030220222"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.23984232"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.27979275"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Ar 50pct plus CO_2 50pct" density="1.729*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.475815"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.14306133"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.38112367"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Ar 40pct plus Ethane 60pct " density="1.4692*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.46968659"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.42365618"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.10665723"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Ar/Cu mixt. for Cors" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.032220584"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.93514796"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.018242877"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.0021475706"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0056206649"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0048079473"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0010151454"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.00079724857"> + <rMaterial name="materials:Bromine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Ar/Cu mixture for EM" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.30224783"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.4919464"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.17112881"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.0020145463"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.012041684"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.017214762"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.002658102"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.00074786557"> + <rMaterial name="materials:Bromine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Ar/Cu mixture for HD" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.032220584"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.93514796"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.018242877"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.0021475706"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0056206649"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0048079473"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0010151454"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.00079724857"> + <rMaterial name="materials:Bromine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Ar/Pb mixture for EM" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.26749417"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.54605374"> + <rMaterial name="materials:Lead"/> + </MaterialFraction> + <MaterialFraction fraction="0.15145173"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.0017829057"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.010657083"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.015235339"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0023524628"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.000661873"> + <rMaterial name="materials:Bromine"/> + </MaterialFraction> + <MaterialFraction fraction="0.0043106974"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="WCu" density="14.979*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.75"> + <rMaterial name="materials:Tungsten"/> + </MaterialFraction> + <MaterialFraction fraction="0.25"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Ar/W Catcher section" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="9.6146597e-05"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.99990385"> + <rMaterial name="materials:Tungsten"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Ar/W Hadron section" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="9.6146597e-05"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.99990385"> + <rMaterial name="materials:Tungsten"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Ar/W mixt. for E.M." density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="9.6146597e-05"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.99990385"> + <rMaterial name="materials:Tungsten"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Argon 50pct CF_4 CO_2" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.39336475"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.11827135"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.29931485"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + <MaterialFraction fraction="0.18904904"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Argon CF_4 CO_2" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.22960113"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.16306585"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.29868266"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + <MaterialFraction fraction="0.30865037"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="BET2a concrete plus Poly" density="1.7*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.75468049"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.070780535"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0095602944"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.079376542"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.035227691"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.040083658"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0057520693"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.00084050447"> + <rMaterial name="materials:Bor 10"/> + </MaterialFraction> + <MaterialFraction fraction="0.0036982197"> + <rMaterial name="materials:Bor 11"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="BET2b concrete plus Poly" density="1.35*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.86250534"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.080265403"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0031685162"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.026156529"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.011497209"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.013100008"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0017629095"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.00028594245"> + <rMaterial name="materials:Bor 10"/> + </MaterialFraction> + <MaterialFraction fraction="0.0012581468"> + <rMaterial name="materials:Bor 11"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="B_2 O_3" density="2.34*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.057473742"> + <rMaterial name="materials:Bor 10"/> + </MaterialFraction> + <MaterialFraction fraction="0.25288446"> + <rMaterial name="materials:Bor 11"/> + </MaterialFraction> + <MaterialFraction fraction="0.68964179"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Ba O" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.89565575"> + <rMaterial name="materials:Barium"/> + </MaterialFraction> + <MaterialFraction fraction="0.10434425"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Bakelite" density="1.3*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.074565894"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.77748634"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.14794776"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Barite" density="3.2*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.003866475"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.31286387"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0055278003"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0036870588"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.042359836"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.017690768"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.00036536456"> + <rMaterial name="materials:Magnesium"/> + </MaterialFraction> + <MaterialFraction fraction="0.49076686"> + <rMaterial name="materials:Barium"/> + </MaterialFraction> + <MaterialFraction fraction="0.11459208"> + <rMaterial name="materials:Sulfur"/> + </MaterialFraction> + <MaterialFraction fraction="0.0015333135"> + <rMaterial name="materials:Bor 10"/> + </MaterialFraction> + <MaterialFraction fraction="0.0067465796"> + <rMaterial name="materials:Bor 11"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Barium sulfate" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.5884092"> + <rMaterial name="materials:Barium"/> + </MaterialFraction> + <MaterialFraction fraction="0.13739117"> + <rMaterial name="materials:Sulfur"/> + </MaterialFraction> + <MaterialFraction fraction="0.27419963"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Beryllia" density="2.63*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.36032657"> + <rMaterial name="materials:Beryllium"/> + </MaterialFraction> + <MaterialFraction fraction="0.63967343"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Bi_4 Ge_3 O_12" density="7.1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.67102392"> + <rMaterial name="materials:Bismuth"/> + </MaterialFraction> + <MaterialFraction fraction="0.1748602"> + <rMaterial name="materials:Germanium"/> + </MaterialFraction> + <MaterialFraction fraction="0.15411587"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Borated Polyethyl." density="950*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.116"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.612"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.04"> + <rMaterial name="materials:Bor 11"/> + </MaterialFraction> + <MaterialFraction fraction="0.01"> + <rMaterial name="materials:Bor 10"/> + </MaterialFraction> + <MaterialFraction fraction="0.222"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Boron" density="2.34*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.18518519"> + <rMaterial name="materials:Bor 10"/> + </MaterialFraction> + <MaterialFraction fraction="0.81481481"> + <rMaterial name="materials:Bor 11"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Boron-Barite" density="3.2*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0067292668"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.34051688"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.013925946"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0080541549"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.013576194"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.044652146"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0011660794"> + <rMaterial name="materials:Magnesium"/> + </MaterialFraction> + <MaterialFraction fraction="0.00088239182"> + <rMaterial name="materials:Sodium"/> + </MaterialFraction> + <MaterialFraction fraction="5.8572377e-05"> + <rMaterial name="materials:Manganese"/> + </MaterialFraction> + <MaterialFraction fraction="0.0023924499"> + <rMaterial name="materials:Bor 10"/> + </MaterialFraction> + <MaterialFraction fraction="0.01052678"> + <rMaterial name="materials:Bor 11"/> + </MaterialFraction> + <MaterialFraction fraction="0.45198295"> + <rMaterial name="materials:Barium"/> + </MaterialFraction> + <MaterialFraction fraction="0.10553619"> + <rMaterial name="materials:Sulfur"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Boron_frits-Lumnite" density="3.1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.006189139"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.33104107"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0054553968"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.016633648"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.029078398"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.020734192"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.00052224672"> + <rMaterial name="materials:Magnesium"/> + </MaterialFraction> + <MaterialFraction fraction="0.00060798896"> + <rMaterial name="materials:Sodium"/> + </MaterialFraction> + <MaterialFraction fraction="0.00045402481"> + <rMaterial name="materials:Manganese"/> + </MaterialFraction> + <MaterialFraction fraction="0.0015404679"> + <rMaterial name="materials:Bor 10"/> + </MaterialFraction> + <MaterialFraction fraction="0.0067780588"> + <rMaterial name="materials:Bor 11"/> + </MaterialFraction> + <MaterialFraction fraction="0.012029137"> + <rMaterial name="materials:Titanium"/> + </MaterialFraction> + <MaterialFraction fraction="0.46123883"> + <rMaterial name="materials:Barium"/> + </MaterialFraction> + <MaterialFraction fraction="0.1076974"> + <rMaterial name="materials:Sulfur"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="C F_4" density="3.7037*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.13648398"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.86351602"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="C O_2" density="1.8182*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.27292145"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.72707855"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="C6F14" density="1.76*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.21318905"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.78681095"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="CF_4 CO_2 50:50" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.18196831"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.57564464"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + <MaterialFraction fraction="0.24238706"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="CO2Ar Freon" density="2.04*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.017209441"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.25354028"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.030543441"> + <rMaterial name="materials:Chlorine"/> + </MaterialFraction> + <MaterialFraction fraction="0.016368527"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + <MaterialFraction fraction="0.68233831"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="CSC Electronics" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.00046948789"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.00014841431"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="8.081657e-06"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="5.0118803e-07"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.32063924"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.39047805"> + <rMaterial name="materials:Lead"/> + </MaterialFraction> + <MaterialFraction fraction="0.28825623"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="CT Al cable" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.67273024"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.31187538"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.015319366"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="7.5010078e-05"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="CT Cu cable" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.87214714"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.12183881"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0059847409"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="2.9303816e-05"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="C_New Air" density="1.205*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.7494"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.2369"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0129"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0008"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Ca C O_3" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.40043563"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.47955758"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.12000679"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Ca O" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.71469586"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.28530414"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Cable_0" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.47272949"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.16266859"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.041785423"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.23271447"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="7.143868e-05"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.039129523"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.050901068"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Cable_MSGC_2" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.3625772"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.12348903"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.036468221"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.30679798"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="3.0189302e-05"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.074162202"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.096475172"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Cable_MSGC_3" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.37934415"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.12285748"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.035749337"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.29734771"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="2.9095785e-05"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.071569642"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.093102596"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Cable_Si_1" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.61618264"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.082694045"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.044364552"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.2563757"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.00037658981"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="6.4825308e-06"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Carbon fib.str." density="1.45*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.6470534"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.3529466"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Carbon fibre str." density="1.69*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.84491305"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.042542086"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.11254487"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Carbon_fibre_str_Upgrade2" density="0.845*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.84491305"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.042542086"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.11254487"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Carbon fibre st_b" density="1.69*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Carbon fibre str."/> + </MaterialFraction> + </CompositeMaterial> + <!-- Phase1 BPIX CFStrip material as defined by W. Bertl--> + <CompositeMaterial name="CFK" density="1.575*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + </CompositeMaterial> + <!-- Phase1 BPIX micro-twisted pairs signal cables material as defined by W. Bertl --> + <CompositeMaterial name="micro_twisted_signal_cable" density="4.09*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.476683"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.274139"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.1494102"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.02006116"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.07960754"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <!-- Phase1 BPIX micro-twisted pairs power cables material as defined by W. Bertl --> + <CompositeMaterial name="micro_twisted_power_cable" density="3.42*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.751011"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.138483"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.066287"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0089008"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0353182"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + + <!--OUTDATED Phase1 BPIX micro-twisted pairs boundle material as defined by W. Bertl, effective density defined to matcht the measured weigth (0.0071+0.0208 g/cm) in a single 1.5mm diam. boundle--> + <CompositeMaterial name="micro_twisted_boundle" density="1.585*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.7455"> + <rMaterial name="materials:micro_twisted_power_cable"/> + </MaterialFraction> + <MaterialFraction fraction="0.2545"> + <rMaterial name="materials:micro_twisted_signal_cable"/> + </MaterialFraction> + </CompositeMaterial> + + <!--Phase1 BPIX micro-twisted pairs boundle material as defined by L. Caminada--> + <CompositeMaterial name="micro_twisted_power_cable" density="3.639*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.36933"> + <rMaterial name="trackermaterial:T_Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.63067"> + <rMaterial name="trackermaterial:T_Aluminium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="micro_twisted_boundle_1" density="2.93382*g/cm3" symbol=" " method="mixture by weight"> <!--for L1--> + <MaterialFraction fraction="0.04631"> + <rMaterial name="trackermaterial:T_Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.95369"> + <rMaterial name="materials:micro_twisted_power_cable"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="micro_twisted_boundle_2" density="2.91735*g/cm3" symbol=" " method="mixture by weight"> <!--for L2,3,4--> + <MaterialFraction fraction="0.04964"> + <rMaterial name="trackermaterial:T_Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.95036"> + <rMaterial name="materials:micro_twisted_power_cable"/> + </MaterialFraction> + </CompositeMaterial> + + <CompositeMaterial name="Carbon_fibre_str_Upgrade" density="0.293*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Carbon fibre str."/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Ce F_3" density="6.16*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.71085768"> + <rMaterial name="materials:Cerium"/> + </MaterialFraction> + <MaterialFraction fraction="0.28914232"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Ceramic" density="3.96525*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.52924272"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.47075728"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Coil average" density="5.10794*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.98933034"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.010669663"> + <rMaterial name="materials:Helium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Colmanite Barite" density="3.2*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0033244208"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.32054568"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.019644903"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.00631619"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.021681066"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.024762714"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.00091831559"> + <rMaterial name="materials:Magnesium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0071874954"> + <rMaterial name="materials:Sodium"/> + </MaterialFraction> + <MaterialFraction fraction="0.00057930956"> + <rMaterial name="materials:Potassium"/> + </MaterialFraction> + <MaterialFraction fraction="8.1400861e-05"> + <rMaterial name="materials:Manganese"/> + </MaterialFraction> + <MaterialFraction fraction="0.0019024847"> + <rMaterial name="materials:Bor 10"/> + </MaterialFraction> + <MaterialFraction fraction="0.0083709328"> + <rMaterial name="materials:Bor 11"/> + </MaterialFraction> + <MaterialFraction fraction="0.47400649"> + <rMaterial name="materials:Barium"/> + </MaterialFraction> + <MaterialFraction fraction="0.1106786"> + <rMaterial name="materials:Sulfur"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Connector" density="1.119*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.12175975"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.029972928"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.075860931"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.77184835"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.00054859821"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="9.4434439e-06"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Coolant" density="1.52*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.012092387"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.063980691"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.24016253"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.68376439"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Thick_Copper" density="8.96*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Crack average" density="1.85*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.1922"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0242"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.2836"> + <rMaterial name="materials:Chlorine"/> + </MaterialFraction> + <MaterialFraction fraction="0.5"> + <rMaterial name="materials:Phosphor"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Cu/Quartz" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0081131524"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0092418886"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0011862487"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.00011002641"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.98134868"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Cu/Sci spaghetti mix" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.012637483"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0017671321"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.00040177288"> + <rMaterial name="materials:Bor 11"/> + </MaterialFraction> + <MaterialFraction fraction="0.00010044322"> + <rMaterial name="materials:Bor 10"/> + </MaterialFraction> + <MaterialFraction fraction="0.0022298395"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.98286333"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Cu/Scintillator/PolB" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.013621137"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0018577191"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.98179207"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.00040133497"> + <rMaterial name="materials:Bor 11"/> + </MaterialFraction> + <MaterialFraction fraction="0.00010033374"> + <rMaterial name="materials:Bor 10"/> + </MaterialFraction> + <MaterialFraction fraction="0.0022274091"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="DTBX gas" density="1.695*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.049996061"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.25927645"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.69072749"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Dead_Argon CF_4 CO_2" density="2.14154*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.22960113"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.16306585"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.29868266"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + <MaterialFraction fraction="0.30865037"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Doped Quartz" density="2.5*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.28638718"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.32623058"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.38738224"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Double-sided MSGC el" density="2.35*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.15487536"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0062815446"> + <rMaterial name="materials:Tin"/> + </MaterialFraction> + <MaterialFraction fraction="0.062222733"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.30743601"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.12068891"> + <rMaterial name="materials:Beryllium"/> + </MaterialFraction> + <MaterialFraction fraction="0.30724234"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.041253098"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Double-sided MSGCsub" density="2.207*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.20936607"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.36666251"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.01999014"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.36881246"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.035168818"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Double-sided Si elec" density="2.392*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.25534309"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.013472574"> + <rMaterial name="materials:Tin"/> + </MaterialFraction> + <MaterialFraction fraction="0.058711815"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.1751292"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.023514409"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.24970935"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.22411956"> + <rMaterial name="materials:Beryllium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="DropsPolyethylene" density="450*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.85628451"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.14371549"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="EAPD_Silicon" density="2.33*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="E_Air" density="1.205*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.7494"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.2369"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0129"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0008"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="E_Aluminium" density="2.7*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="E_CablPP1" density="1.6*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.51322876"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.33317259"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.12086275"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.032735911"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="E_CablPP2" density="700*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.51322876"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.33317259"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.12086275"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.032735911"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="E_CablPP3" density="400*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.51322876"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.33317259"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.12086275"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.032735911"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="E_CablPP4" density="300*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.51322876"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.33317259"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.12086275"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.032735911"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="E_Cables" density="2.68*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.586"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.259"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.138"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.017"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="DD_E_Cables" density="5.36*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.586"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.259"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.138"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.017"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="E_Carbon Fibre" density="1.45*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.65"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.35"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="E_Copper" density="8.96*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="E_Epoxy" density="1.3*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.53539691"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.13179314"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.33280996"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="E_G10" density="1.7*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.2198829"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.41718655"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.26819334"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.066018389"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.028718811"> + <rMaterial name="materials:Chlorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="E_Iron" density="7.87*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="E_Lead" density="11.35*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Lead"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="E_PbWO4" density="8.28*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.45532661"> + <rMaterial name="materials:Lead"/> + </MaterialFraction> + <MaterialFraction fraction="0.40403397"> + <rMaterial name="materials:Tungsten"/> + </MaterialFraction> + <MaterialFraction fraction="0.14063942"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="E_Polythene" density="950*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.85628451"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.14371549"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="E_Rohacell" density="71*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.84491305"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.042542086"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.11254487"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="E_Silicon" density="2.33*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="E_Water" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.11190083"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.88809917"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Ec_Cable_1" density="2.12*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.51322876"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.33317259"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.12086275"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.032735911"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="EE_Aveolar" density="0.94*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.65"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.35"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Epoxy" density="1.3*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.53539691"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.13179314"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.33280996"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Ethane" density="1.356*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.79887887"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.20112113"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Fe_2 O_3" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.69944958"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.30055042"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Fibre_connector" density="1.05917*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.33154227"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.38182349"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.064261825"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.16677931"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.052722204"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0028709009"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Flushing gas" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0010671918"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.00033736021"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="1.8370396e-05"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="1.1392493e-06"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.99857594"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Foam" density="100*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.85628451"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.14371549"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Freon-12" density="4.93*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.099340816"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.58640112"> + <rMaterial name="materials:Chlorine"/> + </MaterialFraction> + <MaterialFraction fraction="0.31425807"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FrontEnd Electronics" density="1.03441*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.00065963049"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0002085221"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="1.1354728e-05"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="7.0416919e-07"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.45049813"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.54862165"> + <rMaterial name="materials:Lead"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="G10" density="1.7*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.13232243"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.032572448"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.48316123"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.35194389"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="G_conntr" density="2.007*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.36065118"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.38351407"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.051494019"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.20434074"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Gas" density="1.9573*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.49078595"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.50287777"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0063362788"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Glass" density="2.23*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.36611059"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.53173295"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.007820091"> + <rMaterial name="materials:Bor 10"/> + </MaterialFraction> + <MaterialFraction fraction="0.0344084"> + <rMaterial name="materials:Bor 11"/> + </MaterialFraction> + <MaterialFraction fraction="0.059927964"> + <rMaterial name="materials:Sodium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Graph.Epoxy Sup." density="138.3*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.80947966"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.073636829"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.11688351"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Graphite Epoxy suprt" density="1.383*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.80947966"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.073636829"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.11688351"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="HFE" density="1.52*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.012092387"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.063980691"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.24016253"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.68376439"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="HV Light Guides" density="1.32*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.46726616"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.53238309"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.00034445206"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="5.9293189e-06"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="3.677097e-07"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="H_Air" density="1.205*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.7494"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.2369"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0129"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0008"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="H_Aluminium" density="2.7*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="H_Brass" density="8.53*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.7"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.3"> + <rMaterial name="materials:Zinc"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="H_Iron" density="7.87*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="H_Polystyrene" density="1.032*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.91512109"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.084878906"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="H_Scintillator" density="1.032*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.91512109"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.084878906"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Hcal average" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.98854345"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="2.2305277e-06"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="7.0511343e-07"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="3.8395793e-08"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.00034716943"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.011106403"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Hcal sci" density="1.032*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.92257895"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.07742105"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Hexel for CSC" density="165*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0002303291"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.046295939"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.35049864"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.47901437"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.11791403"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0060466926"> + <rMaterial name="materials:Chlorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="High Tension cables" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.45726783"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.44778783"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.070543148"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.024401185"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Honeycomb" density="280*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Hybrids" density="1.785*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.6459597"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.21237145"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.028514885"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.11315397"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="ICB" density="2.309*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.26383847"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.097410682"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.023978583"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.35568471"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.25908755"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Insulation" density="1.69*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.008091404"> + <rMaterial name="materials:Helium"/> + </MaterialFraction> + <MaterialFraction fraction="0.043705226"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0029341267"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.023286651"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.10908214"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.81290046"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Isobutane" density="2.67*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.82658619"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.17341381"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="K_2 O" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.83015022"> + <rMaterial name="materials:Potassium"/> + </MaterialFraction> + <MaterialFraction fraction="0.16984978"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Kapton" density="1.11*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.59985105"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.080541353"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.31960759"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Kr/Cu mixture for HD" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.054145746"> + <rMaterial name="materials:Krypton"/> + </MaterialFraction> + <MaterialFraction fraction="0.017829582"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.0020989171"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0054933281"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0046990226"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.00099214713"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0007791868"> + <rMaterial name="materials:Bromine"/> + </MaterialFraction> + <MaterialFraction fraction="0.91396207"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Kr/Pb mixture for EM" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.38570939"> + <rMaterial name="materials:Krypton"/> + </MaterialFraction> + <MaterialFraction fraction="0.45792903"> + <rMaterial name="materials:Lead"/> + </MaterialFraction> + <MaterialFraction fraction="0.12700974"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.001495172"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0089371927"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.012776589"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0019728114"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.00055505683"> + <rMaterial name="materials:Bromine"/> + </MaterialFraction> + <MaterialFraction fraction="0.0036150168"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Kr/Pb mixture for HD" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.043537564"> + <rMaterial name="materials:Krypton"/> + </MaterialFraction> + <MaterialFraction fraction="0.93041049"> + <rMaterial name="materials:Lead"/> + </MaterialFraction> + <MaterialFraction fraction="0.014336428"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.0016876993"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0044170805"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0037783947"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.00079776662"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.00062652927"> + <rMaterial name="materials:Bromine"/> + </MaterialFraction> + <MaterialFraction fraction="0.00040805081"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="LeadBPolymer" density="3.53*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.023"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0037037037"> + <rMaterial name="materials:Bor 10"/> + </MaterialFraction> + <MaterialFraction fraction="0.016296296"> + <rMaterial name="materials:Bor 11"/> + </MaterialFraction> + <MaterialFraction fraction="0.114"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + <MaterialFraction fraction="0.102"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.088"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.022"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.013"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.618"> + <rMaterial name="materials:Lead"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="LeadLoadedPolymerCon" density="3.53*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.023512713"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.041643122"> + <rMaterial name="materials:Lithium"/> + </MaterialFraction> + <MaterialFraction fraction="0.11416406"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.10198306"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.087818747"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.01869691"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0028328615"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.013031207"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.59631732"> + <rMaterial name="materials:Lead"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Limonite" density="2.96*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0097839501"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.36018046"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.012566469"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.008172324"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.57297034"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.035392035"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.00093441511"> + <rMaterial name="materials:Magnesium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Limonite Iron" density="4.16*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0077950891"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.25025334"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.035888928"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.020743458"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.61983399"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.062339683"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0020806726"> + <rMaterial name="materials:Magnesium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0010648449"> + <rMaterial name="materials:Manganese"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Limonite magetite" density="3.41*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0046317534"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.33176807"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.010582504"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.006612936"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.61641603"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.029106142"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.00088255997"> + <rMaterial name="materials:Magnesium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Liquid Ar Detector" density="1.39*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Liquid Argon" density="1.39*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Liquid Kr Detector" density="2.39*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Krypton"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Liquid Krypton" density="2.39*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Krypton"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Lithium Polyethyl." density="950*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.113"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.596"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.075"> + <rMaterial name="materials:Lithium"/> + </MaterialFraction> + <MaterialFraction fraction="0.216"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Boron Polyethyl." density="1.02*g/cm3 " symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.81347018"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.1365297"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0092592584"> + <rMaterial name="materials:Bor 10"/> + </MaterialFraction> + <MaterialFraction fraction="0.040740732"> + <rMaterial name="materials:Bor 11"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="AntiLead" density="11.16*g/cm3 " symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.96"> + <rMaterial name="materials:Lead"/> + </MaterialFraction> + <MaterialFraction fraction="0.04"> + <rMaterial name="materials:Antimony"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Low Tension cables" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.98029046"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.016876977"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0028325668"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Lucite" density="1.16*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.59985105"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.080541353"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.31960759"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="ME_free_space" density="0.254467*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.003218"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.157312"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="5.5388547e-05"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.020068"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.249899"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.013999"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.555499"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="MSGC cooling pipe" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.30132877"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.053356059"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.42345953"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.22185565"> + <rMaterial name="materials:Beryllium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="MSGC-Average" density="7*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0016109746"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.11608918"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.87746662"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.004833228"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="MS_Al36" density="1.403*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.379586"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.27524785"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.26823734"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.045019923"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.03190889"> + <rMaterial name="materials:Silver"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="MS_Al48" density="1.373*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.40684004"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.25552552"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.26144891"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.043880579"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.032304952"> + <rMaterial name="materials:Silver"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="MS_Al60" density="971*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.43940244"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.22781143"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.25517545"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.042827665"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.034783015"> + <rMaterial name="materials:Silver"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="MS_Al_cable" density="1.95062*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.69471035"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.2614148"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.043874854"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="MS_Cu_cable" density="9.4537*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.91351941"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.074051989"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.012428601"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="MS_cntr" density="2.049*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.27792206"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.36612478"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.21351888"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.028668949"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.11376533"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_Aluminium" density="2.7*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_Argon 50pct CF_4 CO_2" density="2.1057*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.39336475"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.11827135"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.29931485"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + <MaterialFraction fraction="0.18904904"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_Argon CF_4 CO_2" density="2.1416*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.22960113"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.16306585"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.29868266"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + <MaterialFraction fraction="0.30865037"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_B_Air" density="1.205*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.7494"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.2369"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0129"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0008"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_Cables" density="2.68*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.586"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.259"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.138"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.017"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="NEMA G10 plate" density="1.7*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.2198829"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.41718655"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.26819334"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.066018389"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.028718811"> + <rMaterial name="materials:Chlorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_Copper" density="8.96*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_Thick_Steel-008" density="7.8*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.00089992039"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0015987127"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0042943177"> + <rMaterial name="materials:Manganese"/> + </MaterialFraction> + <MaterialFraction fraction="0.00017903506"> + <rMaterial name="materials:Sulfur"/> + </MaterialFraction> + <MaterialFraction fraction="0.00012830888"> + <rMaterial name="materials:Phosphor"/> + </MaterialFraction> + <MaterialFraction fraction="9.5139401e-05"> + <rMaterial name="materials:Nickel"/> + </MaterialFraction> + <MaterialFraction fraction="0.00029757275"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.00069973892"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.99180725"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_DTBX Gas" density="1.695*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.049996061"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.25927645"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.69072749"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_Electronics averag" density="1.3*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.074565894"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.77748634"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.14794776"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_F_Air" density="1.205*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.7494"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.2369"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0129"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0008"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_NEMA FR4 plate" density="1.7*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.18077359"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.4056325"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.27804208"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.068442752"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.067109079"> + <rMaterial name="materials:Bromine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_RPC_Bakelite" density="1.3*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.074565894"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.77748634"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.14794776"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_RPC_Gas" density="1.87685*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.017572792"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.2588934"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.031188319"> + <rMaterial name="materials:Chlorine"/> + </MaterialFraction> + <MaterialFraction fraction="0.016714124"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + <MaterialFraction fraction="0.67563137"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_Steel-008" density="7.8*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.00089992039"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0015987127"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0042943177"> + <rMaterial name="materials:Manganese"/> + </MaterialFraction> + <MaterialFraction fraction="0.00017903506"> + <rMaterial name="materials:Sulfur"/> + </MaterialFraction> + <MaterialFraction fraction="0.00012830888"> + <rMaterial name="materials:Phosphor"/> + </MaterialFraction> + <MaterialFraction fraction="9.5139401e-05"> + <rMaterial name="materials:Nickel"/> + </MaterialFraction> + <MaterialFraction fraction="0.00029757275"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.00069973892"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.99180725"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_YokeSteel" density="7.87*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.001"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.001"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.004"> + <rMaterial name="materials:Manganese"/> + </MaterialFraction> + <MaterialFraction fraction="0.01"> + <rMaterial name="materials:Nickel"/> + </MaterialFraction> + <MaterialFraction fraction="0.0015"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.9825"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_honeycomb" density=" 0.0511415*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.97670111"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.017460186"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0055195064"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.00030055565"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="1.863911e-05"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Cables" density="2.68*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.586"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.259"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.138"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.017"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Magetite" density="3.12*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0068217712"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.34582528"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.011586696"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0079728988"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.59461377"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.032281783"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.00089780071"> + <rMaterial name="materials:Magnesium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Magnet Conductor" density="3.157*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.097336411"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.014292995"> + <rMaterial name="materials:Niobium"/> + </MaterialFraction> + <MaterialFraction fraction="0.017134031"> + <rMaterial name="materials:Titanium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0054482651"> + <rMaterial name="materials:Helium"/> + </MaterialFraction> + <MaterialFraction fraction="0.75894659"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.10684171"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="MagnetiteBoron" density="3.637*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.007"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0026"> + <rMaterial name="materials:Bor 10"/> + </MaterialFraction> + <MaterialFraction fraction="0.0104"> + <rMaterial name="materials:Bor 11"/> + </MaterialFraction> + <MaterialFraction fraction="0.35"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.013"> + <rMaterial name="materials:Sodium"/> + </MaterialFraction> + <MaterialFraction fraction="0.02"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.02"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.027"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.55"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="MagnetiteConc" density="3.65*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0035"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0026"> + <rMaterial name="materials:Bor 10"/> + </MaterialFraction> + <MaterialFraction fraction="0.0104"> + <rMaterial name="materials:Bor 11"/> + </MaterialFraction> + <MaterialFraction fraction="0.3512"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0131"> + <rMaterial name="materials:Sodium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0201"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0201"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0271"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.5519"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Thick_MagnetiteConc" density="3.65*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0035"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0026"> + <rMaterial name="materials:Bor 10"/> + </MaterialFraction> + <MaterialFraction fraction="0.0104"> + <rMaterial name="materials:Bor 11"/> + </MaterialFraction> + <MaterialFraction fraction="0.3512"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0131"> + <rMaterial name="materials:Sodium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0201"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0201"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0271"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.5519"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Marble" density="2.35*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.46021905"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.53804265"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0017382968"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Methane" density="0.717*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.74868663"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.25131337"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Mg O" density="3.58*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.60304188"> + <rMaterial name="materials:Magnesium"/> + </MaterialFraction> + <MaterialFraction fraction="0.39695812"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Mg-MMC" density="1.52*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Magnesium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Mn O" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.77446185"> + <rMaterial name="materials:Manganese"/> + </MaterialFraction> + <MaterialFraction fraction="0.22553815"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Muon Al" density="2.7*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Muon average" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0012744281"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.001149531"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0002893993"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.99728664"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Mylar" density="1.39*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.62502108"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.041960452"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.33301847"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="NEMA FR4 plate" density="1.025*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.18077359"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.4056325"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.27804208"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.068442752"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.067109079"> + <rMaterial name="materials:Bromine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_NEMA G10 plate" density="1.7*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.2198829"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.41718655"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.26819334"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.066018389"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.028718811"> + <rMaterial name="materials:Chlorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Na_2 O" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.74186418"> + <rMaterial name="materials:Sodium"/> + </MaterialFraction> + <MaterialFraction fraction="0.25813582"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Ne30_DME70" density="1.7*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.15805943"> + <rMaterial name="materials:Neon"/> + </MaterialFraction> + <MaterialFraction fraction="0.43902091"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.29239429"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.11052537"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Ni_2 O_3" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.70978275"> + <rMaterial name="materials:Nickel"/> + </MaterialFraction> + <MaterialFraction fraction="0.29021725"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Nomex" density="32*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.027815941"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.31653768"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.00047881724"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.077581544"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.57758601"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Nomex for CSC" density="28.9*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.59985105"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.080541353"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.31960759"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Noryl" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.85628451"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.14371549"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="O_Hybrid" density="2.838*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.17862818"> + <rMaterial name="materials:Silver"/> + </MaterialFraction> + <MaterialFraction fraction="0.0038859926"> + <rMaterial name="materials:Nickel"/> + </MaterialFraction> + <MaterialFraction fraction="0.012801535"> + <rMaterial name="materials:Tin"/> + </MaterialFraction> + <MaterialFraction fraction="0.11166264"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.13680825"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.096505544"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.238333"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.027828501"> + <rMaterial name="materials:Zinc"/> + </MaterialFraction> + <MaterialFraction fraction="0.17363266"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.019913693"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Optical fibre" density="1.05*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.91512109"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.084878906"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Outer_pipes" density="2.533*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.49604605"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.006094006"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.032243322"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.12103086"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.34458577"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="P_pipes" density="2.3285*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.32927494"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0007222183"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0019399576"> + <rMaterial name="materials:Manganese"/> + </MaterialFraction> + <MaterialFraction fraction="8.087907e-05"> + <rMaterial name="materials:Sulfur"/> + </MaterialFraction> + <MaterialFraction fraction="5.7963526e-05"> + <rMaterial name="materials:Phosphor"/> + </MaterialFraction> + <MaterialFraction fraction="4.2979215e-05"> + <rMaterial name="materials:Nickel"/> + </MaterialFraction> + <MaterialFraction fraction="0.00013442846"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.00031610699"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.44804883"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.044156804"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.17522489"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pb W O_4" density="8.28*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.45532661"> + <rMaterial name="materials:Lead"/> + </MaterialFraction> + <MaterialFraction fraction="0.40403397"> + <rMaterial name="materials:Tungsten"/> + </MaterialFraction> + <MaterialFraction fraction="0.14063942"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pb/Sci spaghetti mix" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.018845478"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0017479474"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.97940657"> + <rMaterial name="materials:Lead"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Peek" density="1.32*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.53539691"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.13179314"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.33280996"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="PhotoCathode" density="1.87*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Cesium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pigtails" density="3.145*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.65753522"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.20542786"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.027582577"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.10945434"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pipe with Water" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.092022289"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.082576264"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.29261257"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.53278887"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pipe with gas" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.18514234"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.13149061"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.24084727"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + <MaterialFraction fraction="0.24888489"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.1936349"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Plexiglas" density="1.18*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.080541353"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.59985105"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.31960759"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Polycarbonate" density="7*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.59985105"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.080541353"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.31960759"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Polyethylene" density="950*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.85628451"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.14371549"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="DD_Polyethylene" density="2*950*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.85628451"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.14371549"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Polymer Concrete" density="450*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.23789097"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.43443755"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.26294502"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.064726463"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Polystyrene" density="1.032*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.91512109"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.084878906"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Polyvinylchloride" density="1.38*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.38437771"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.048384356"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.56723794"> + <rMaterial name="materials:Chlorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Px_cool_pipe" density="2.72629*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.54838378"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.0054611179"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.028894718"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.1084613"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.30879909"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Quartz" density="2.64*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.46748103"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.53251897"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Quartz support" density="2.64*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.46748103"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.53251897"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="QuartzBundle" density="1.30515*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.41130114"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.46868914"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.056403482"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0052320714"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.057839878"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + <MaterialFraction fraction="0.00052523876"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="9.0413398e-06"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="QuartzFibers" density="2.64*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.46748103"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.53251897"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="RPC Gas" density="1.87685*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.017572792"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.2588934"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.031188319"> + <rMaterial name="materials:Chlorine"/> + </MaterialFraction> + <MaterialFraction fraction="0.016714124"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + <MaterialFraction fraction="0.67563137"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Rohacell" density="0.052*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.60"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.08"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.32"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="SITRA-Average" density="7*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="SMD_metal" density="10.2*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.045444306"> + <rMaterial name="materials:Nickel"/> + </MaterialFraction> + <MaterialFraction fraction="0.80484958"> + <rMaterial name="materials:Silver"/> + </MaterialFraction> + <MaterialFraction fraction="0.14970612"> + <rMaterial name="materials:Tin"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="S_2 O_3" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.57194838"> + <rMaterial name="materials:Sulfur"/> + </MaterialFraction> + <MaterialFraction fraction="0.42805162"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Scintillator" density="1.032*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.91512109"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.084878906"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Serpentine - Iron" density="3.765*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0089840293"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.31549151"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.11229814"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.017986016"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0023751734"> + <rMaterial name="materials:Sulfur"/> + </MaterialFraction> + <MaterialFraction fraction="0.40725359"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.049064913"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.085014416"> + <rMaterial name="materials:Magnesium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0015322121"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Serpentine 2" density="2.01*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.017056138"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.52511018"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.22286408"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.028434767"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.055055747"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.048338182"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.095947828"> + <rMaterial name="materials:Magnesium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0010639801"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0042627075"> + <rMaterial name="materials:Potassium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0018663973"> + <rMaterial name="materials:Nickel"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Si O_2" density="2.64*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.46748103"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.53251897"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Si cooling pipe" density="1.921*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.56814774"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.19928206"> + <rMaterial name="materials:Beryllium"/> + </MaterialFraction> + <MaterialFraction fraction="0.026024798"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.2065454"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Silica" density="2.2*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.46748103"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.53251897"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Silicon Detector" density="2.33*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Siliecal" density="1.0859*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.87264263"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.12735737"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Single-sided MSGC el" density="2.44*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.30413689"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0014717137"> + <rMaterial name="materials:Tin"/> + </MaterialFraction> + <MaterialFraction fraction="0.058467105"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.36931633"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.15011919"> + <rMaterial name="materials:Beryllium"/> + </MaterialFraction> + <MaterialFraction fraction="0.10269944"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.013789342"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Single-sided MSGCsub" density="2.3258*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.33240081"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.43382861"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.017726182"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.19998078"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.016063621"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Single-sided Si elec" density="2.392*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.31484492"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.014476209"> + <rMaterial name="materials:Tin"/> + </MaterialFraction> + <MaterialFraction fraction="0.050561611"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.114528"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.015377551"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.2652606"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.22495111"> + <rMaterial name="materials:Beryllium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="StainlessSteel" density="8.02*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.6996"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.0004"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.01"> + <rMaterial name="materials:Manganese"/> + </MaterialFraction> + <MaterialFraction fraction="0.19"> + <rMaterial name="materials:Chromium"/> + </MaterialFraction> + <MaterialFraction fraction="0.1"> + <rMaterial name="materials:Nickel"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Stand.Concrete" density="2.35*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.006"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.03"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.5"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.01"> + <rMaterial name="materials:Sodium"/> + </MaterialFraction> + <MaterialFraction fraction="0.03"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.2"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.01"> + <rMaterial name="materials:Potassium"/> + </MaterialFraction> + <MaterialFraction fraction="0.2"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.014"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Thick_Stand.Concrete" density="2.35*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.006"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.03"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.5"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.01"> + <rMaterial name="materials:Sodium"/> + </MaterialFraction> + <MaterialFraction fraction="0.03"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.2"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.01"> + <rMaterial name="materials:Potassium"/> + </MaterialFraction> + <MaterialFraction fraction="0.2"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.014"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Standard Serpentine" density="2.302*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0096577278"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.52863475"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.32556232"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.054746312"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.022623255"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.028372381"> + <rMaterial name="materials:Calcium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0012881659"> + <rMaterial name="materials:Magnesium"/> + </MaterialFraction> + <MaterialFraction fraction="0.00095487516"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.01557902"> + <rMaterial name="materials:Sodium"/> + </MaterialFraction> + <MaterialFraction fraction="0.012581187"> + <rMaterial name="materials:Potassium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Steel-008" density="7.8*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.00089992039"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0015987127"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0042943177"> + <rMaterial name="materials:Manganese"/> + </MaterialFraction> + <MaterialFraction fraction="0.00017903506"> + <rMaterial name="materials:Sulfur"/> + </MaterialFraction> + <MaterialFraction fraction="0.00012830888"> + <rMaterial name="materials:Phosphor"/> + </MaterialFraction> + <MaterialFraction fraction="9.5139401e-05"> + <rMaterial name="materials:Nickel"/> + </MaterialFraction> + <MaterialFraction fraction="0.00029757275"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.00069973892"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.99180725"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Steel-light" density="520*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.6996"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.0004"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.01"> + <rMaterial name="materials:Manganese"/> + </MaterialFraction> + <MaterialFraction fraction="0.19"> + <rMaterial name="materials:Chromium"/> + </MaterialFraction> + <MaterialFraction fraction="0.1"> + <rMaterial name="materials:Nickel"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Super Conductor" density="4.94*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.81579799"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.077846795"> + <rMaterial name="materials:Niobium"/> + </MaterialFraction> + <MaterialFraction fraction="0.096238669"> + <rMaterial name="materials:Titanium"/> + </MaterialFraction> + <MaterialFraction fraction="0.010116543"> + <rMaterial name="materials:Helium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Brass" density="8.5*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.63"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.37"> + <rMaterial name="materials:Zinc"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="BGA" density="8.82*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.62"> + <rMaterial name="materials:Tin"/> + </MaterialFraction> + <MaterialFraction fraction="0.36"> + <rMaterial name="materials:Lead"/> + </MaterialFraction> + <MaterialFraction fraction="0.02"> + <rMaterial name="materials:Silver"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Air" density="1.214*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.7494"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.2369"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0129"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0008"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Argon CF_4 CO_2" density="2.1416*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.22960113"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.16306585"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.29868266"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + <MaterialFraction fraction="0.30865037"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Bronze" density="8.89*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.94059406"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.059405941"> + <rMaterial name="materials:Tin"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Carbon fibre str." density="1.69*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.84491305"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.042542086"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.11254487"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Foam" density="100*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.85628451"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.14371549"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Kapton" density="1.4*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.59985105"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.080541353"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.31960759"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_MSGC-Average" density="230*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.8"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.2"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_OPC" density="1.05917*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.33154227"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.38182349"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.064261825"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.16677931"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.052722204"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0028709009"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_OP_cable" density="601.463*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0086851733"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.10083068"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.51167977"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.086185453"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.28766708"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0049518353"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Pix_Bar_Det" density="2.33*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Pix_Bar_Hybrid" density="3.918*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.12227401"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.020384302"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.23710889"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.24417229"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.17802235"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.19803815"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Pix_Bar_Readout" density="2.33*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Pix_Fwd_Det" density="2.33*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Pix_Fwd_Readout" density="2.17525*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.84842968"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.063360581"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.015596821"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.039385794"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.033227128"> + <rMaterial name="materials:Indium"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Silicon" density="2.33*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Silicon Detector" density="2.33*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Teflon" density="2.2*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.24018637"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.75981363"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Ti_2 O_3" density="4.6*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.66612408"> + <rMaterial name="materials:Titanium"/> + </MaterialFraction> + <MaterialFraction fraction="0.33387592"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Tk_Cable_1" density="942.8*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.4364364"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.19550706"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.031331664"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.060965631"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.043156039"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.041667015"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + <MaterialFraction fraction="0.15813109"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.032805106"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Tk_square_bundles" density="971*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.45591441"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.20422984"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.032729696"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.063679098"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.045081214"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.043521896"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + <MaterialFraction fraction="0.12057473"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.03426911"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Tk_support" density="5.25617*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="V_Air" density="1.205*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.7494"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.2369"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0129"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0008"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="V_Iron" density="7.87*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="V_Quartz" density="2.64*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.46748103"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.53251897"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Vcal C4H10" density="2.67*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.82658619"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.17341381"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Vcal CO2" density="1.98*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.27292145"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.72707855"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Vcal average" density="7.55*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0012701968"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0015979957"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0042923919"> + <rMaterial name="materials:Manganese"/> + </MaterialFraction> + <MaterialFraction fraction="0.00017895477"> + <rMaterial name="materials:Sulfur"/> + </MaterialFraction> + <MaterialFraction fraction="0.00012825134"> + <rMaterial name="materials:Phosphor"/> + </MaterialFraction> + <MaterialFraction fraction="9.5096736e-05"> + <rMaterial name="materials:Nickel"/> + </MaterialFraction> + <MaterialFraction fraction="0.0002974393"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.00069942512"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.99136248"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="7.7766882e-05"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="W/Sci spaghetti mix" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0059212984"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.00082799058"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.00018825087"> + <rMaterial name="materials:Bor 11"/> + </MaterialFraction> + <MaterialFraction fraction="4.7062717e-05"> + <rMaterial name="materials:Bor 10"/> + </MaterialFraction> + <MaterialFraction fraction="0.0010447923"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.99197061"> + <rMaterial name="materials:Tungsten"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Water" density="1*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.11190083"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.88809917"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Wood" density="500*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.11684213"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.88315787"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="YokeSteel" density="7.87*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.001"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.001"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.004"> + <rMaterial name="materials:Manganese"/> + </MaterialFraction> + <MaterialFraction fraction="0.01"> + <rMaterial name="materials:Nickel"/> + </MaterialFraction> + <MaterialFraction fraction="0.0015"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.9825"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="active_screen" density="11.197*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.025418913"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.085235146"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.50483588"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.38451007"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="c_Peek" density="1.8*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.45427914"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.11182521"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.36306779"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.070827858"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="HV_Cu/QFib_mx." density="7.30515*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0247913"> + <rMaterial name="materials:QuartzFibers"/> + </MaterialFraction> + <MaterialFraction fraction="0.00471238 "> + <rMaterial name="materials:Polystyrene"/> + </MaterialFraction> + <MaterialFraction fraction="0.04296 "> + <rMaterial name="materials:Air"/> + </MaterialFraction> + <MaterialFraction fraction="0.927536"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Borosilicate_Glass" density="2.51*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.303594"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0452533"> + <rMaterial name="materials:Sodium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0556199"> + <rMaterial name="materials:Potassium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0449903"> + <rMaterial name="materials:Zinc"/> + </MaterialFraction> + <MaterialFraction fraction="0.0222285"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0245335"> + <rMaterial name="materials:Boron"/> + </MaterialFraction> + <MaterialFraction fraction="0.0239803"> + <rMaterial name="materials:Titanium"/> + </MaterialFraction> + <MaterialFraction fraction="0.00459437"> + <rMaterial name="materials:Antimony"/> + </MaterialFraction> + <MaterialFraction fraction="0.00001"> + <rMaterial name="materials:Chromium"/> + </MaterialFraction> + <MaterialFraction fraction="0.475195"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Silicone_Gel" density="0.965*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.3866"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0973"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.3616"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.1545"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Barium_Titanate" density="6.02*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.5889"> + <rMaterial name="materials:Barium"/> + </MaterialFraction> + <MaterialFraction fraction="0.2053"> + <rMaterial name="materials:Titanium"/> + </MaterialFraction> + <MaterialFraction fraction="0.2058"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="E_PolyGrains" density="589*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.85628451"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.14371549"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="CuNi" density="8.94*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.7"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.3"> + <rMaterial name="materials:Nickel"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Acrylate" density="1170*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.55814"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.06977"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.37209"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Inconel600" density="8.47*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.7200"> + <rMaterial name="materials:Nickel"/> + </MaterialFraction> + <MaterialFraction fraction="0.0285"> + <rMaterial name="materials:Cobalt"/> + </MaterialFraction> + <MaterialFraction fraction="0.1500"> + <rMaterial name="materials:Chromium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0800"> + <rMaterial name="materials:Iron"/> + </MaterialFraction> + <MaterialFraction fraction="0.0015"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0100"> + <rMaterial name="materials:Manganese"/> + </MaterialFraction> + <MaterialFraction fraction="0.0050"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0050"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Kevlar" density="1.44*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.71180785"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.11852895"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.12699531"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.04266788"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <!-- Tracker Cooling Fluids INIT --> + <!-- 3M type is the old one used for Thermal Screen only --> + <CompositeMaterial name="C6F14_3M_-15C" density="1.80340*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:C6F14"/> + </MaterialFraction> + </CompositeMaterial> + <!-- F2 type is the new one used for subdetectors and preshower --> + <CompositeMaterial name="C6F14_F2_-30C" density="1.87917*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:C6F14"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="C6F14_F2_-20C" density="1.84675*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:C6F14"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="C6F14_F2_-10C" density="1.82033*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:C6F14"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="CO2_Upgrade" density="0.2033*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Vcal CO2"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Bpix_CO2_-20C" density="1.0327*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.27292145"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.72707855"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <!-- Tracker Cooling Fluids END --> + <!-- CASTOR materials --> + <CompositeMaterial name="Castor_QuartzFibers/Air_mx" density="2.1743080*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.9999233027749"> + <rMaterial name="materials:QuartzFibers"/> + </MaterialFraction> + <MaterialFraction fraction="0.0000766972251"> + <rMaterial name="materials:Air"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Castor_Bundle6_QF/Air_mx" density="0.4808336*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.99800842127"> + <rMaterial name="materials:QuartzFibers"/> + </MaterialFraction> + <MaterialFraction fraction="0.00199157873"> + <rMaterial name="materials:Air"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Castor_Bundle5_QF/Air_mx" density="0.5726188*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.99841066074"> + <rMaterial name="materials:QuartzFibers"/> + </MaterialFraction> + <MaterialFraction fraction="0.00158933926"> + <rMaterial name="materials:Air"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Castor_Bundle4_QF/Air_mx" density="0.7092276*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.99881654262"> + <rMaterial name="materials:QuartzFibers"/> + </MaterialFraction> + <MaterialFraction fraction="0.00118345738"> + <rMaterial name="materials:Air"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Castor_Bundle3_QF/Air_mx" density="1.1048788*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.99942577695"> + <rMaterial name="materials:QuartzFibers"/> + </MaterialFraction> + <MaterialFraction fraction="0.00057422305"> + <rMaterial name="materials:Air"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Castor_Bundle2_QF/Air_mx" density="1.5612536*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.99974500842"> + <rMaterial name="materials:QuartzFibers"/> + </MaterialFraction> + <MaterialFraction fraction="0.00025499158"> + <rMaterial name="materials:Air"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Castor_Bundle1_QF/Air_mx" density="2.2522530*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.99998212349"> + <rMaterial name="materials:QuartzFibers"/> + </MaterialFraction> + <MaterialFraction fraction="0.00001787651"> + <rMaterial name="materials:Air"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Castor_LMixer_QF/Air_mx" density="2.2834241*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.99998943692"> + <rMaterial name="materials:QuartzFibers"/> + </MaterialFraction> + <MaterialFraction fraction="0.00001056308"> + <rMaterial name="materials:Air"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Castor_Electronics averag" density="1.4881*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.000560"> + <rMaterial name="materials:Air"/> + </MaterialFraction> + <MaterialFraction fraction="0.999440"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Castor_Paper" density="1.55*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.448"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.056"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.496"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Castor_Coolant" density="1.52*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.012092387"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.063980691"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.24016253"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.68376439"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="AlBeMet" density="2.071*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.380"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.615"> + <rMaterial name="materials:Beryllium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0005"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0045"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_Rdout_Brd" density="1.79*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.98667"> + <rMaterial name="materials:G10"/> + </MaterialFraction> + <MaterialFraction fraction="0.01333"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_Kapton_Cu" density="1.24*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.9836"> + <rMaterial name="materials:Kapton"/> + </MaterialFraction> + <MaterialFraction fraction="0.0164"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_GEM_Gas" density="1.8*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.60"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.083"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.145"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.172"> + <rMaterial name="materials:Fluorine"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="M_GEM_Foil" density="1.74*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.6565"> + <rMaterial name="materials:Kapton"/> + </MaterialFraction> + <MaterialFraction fraction="0.1013"> + <rMaterial name="materials:Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.2422"> + <rMaterial name="materials:M_GEM_Gas"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Diamond" density="3.52*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="1.00"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + </CompositeMaterial> + <!--Materials added for BHM--> + <CompositeMaterial name="BorosilicateGlass" density="2.23*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.377220"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.028191"> + <rMaterial name="materials:Sodium"/> + </MaterialFraction> + <MaterialFraction fraction="0.003321"> + <rMaterial name="materials:Potassium"/> + </MaterialFraction> + <MaterialFraction fraction="0.539562"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.011644"> + <rMaterial name="materials:Aluminium"/> + </MaterialFraction> + <MaterialFraction fraction="0.040064"> + <rMaterial name="materials:Boron"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Bialkali" density="4.28*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.133"> + <rMaterial name="materials:Potassium"/> + </MaterialFraction> + <MaterialFraction fraction="0.452"> + <rMaterial name="materials:Cesium"/> + </MaterialFraction> + <MaterialFraction fraction="0.415"> + <rMaterial name="materials:Antimony"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="RTV" density="1.02*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.0811"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.3790"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.3241"> + <rMaterial name="materials:Carbon"/> + </MaterialFraction> + <MaterialFraction fraction="0.2158"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="LYSO" density="7.11*g/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.7145"> + <rMaterial name="materials:Lutecium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0403"> + <rMaterial name="materials:Yttrium"/> + </MaterialFraction> + <MaterialFraction fraction="0.0637"> + <rMaterial name="materials:Silicon"/> + </MaterialFraction> + <MaterialFraction fraction="0.1815"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + </CompositeMaterial> + </MaterialSection> +</DDDefinition> diff --git a/examples/DDCMS/data/pixbar.xml b/examples/DDCMS/data/pixbar.xml new file mode 100644 index 0000000000000000000000000000000000000000..87748ba044e7a973e4106476ef2de9f64d658469 --- /dev/null +++ b/examples/DDCMS/data/pixbar.xml @@ -0,0 +1,495 @@ +<?xml version="1.0"?> +<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../../DetectorDescription/Schema/DDLSchema.xsd"> + <ConstantsSection label="pixbar.xml" eval="true"> + <Constant name="zero" value="0.0*fm"/> + <Constant name="Rin1" value="[cms:TrackBeamR1]"/> + <Constant name="Rin2" value="18.00*cm"/> + <Constant name="Rin3" value="18.50*cm"/> + <Constant name="RinSupTubCab" value="15.00*cm"/> + <Constant name="Rout1" value="21.80*cm"/> + <Constant name="Rout2" value="21.00*cm"/> + <Constant name="Zv1" value="30.00*cm"/> + <Constant name="Zv2" value="56.00*cm"/> + <Constant name="Zv3" value="110.5*cm"/> + <Constant name="Zv4" value="282.0*cm"/> + <Constant name="ZvSupTubCab" value="248.0*cm"/> + <Constant name="SupportL" value="221.0*cm"/> + <Constant name="SupportRin" value="21.65*cm"/> + <Constant name="SupportW" value="20.00*cm"/> + <Constant name="SupportT" value="0.350*cm"/> + <Constant name="SupportY" value="19.00*cm"/> + <Constant name="ShieldL" value="55.40*cm"/> + <Constant name="Shield1Rin" value="3.700*cm"/> + <Constant name="Shield1Rout" value="3.705*cm"/> + <Constant name="Shield2Rout" value="3.730*cm"/> + <Constant name="Shield3Rin" value="18.470*cm"/> + <Constant name="Shield3Rout" value="18.475*cm"/> + <Constant name="FlangeRin" value="10.600*cm"/> + <Constant name="FlangeT" value="0.600*cm"/> + <Constant name="FlangeZ" value="28.00*cm"/> + <Constant name="FlangeHCT" value="0.528*cm"/> + <Constant name="Cable1Rin" value="4.500*cm"/> + <Constant name="Cable1T1" value="0.0127*cm"/> + <Constant name="Cable1T2" value="0.0479*cm"/> + <Constant name="Cable2Rin" value="7.500*cm"/> + <Constant name="Cable2T1" value="0.0207*cm"/> + <Constant name="Cable2T2" value="0.0469*cm"/> + <Constant name="Cable3Rin" value="11.00*cm"/> + <Constant name="Cable3T1" value="0.0410*cm"/> + <Constant name="Cable3T2" value="0.06336*cm"/> + <Constant name="CableRout" value="17.0*cm"/> + <Constant name="Conn1T" value="0.190*cm"/> + <Constant name="Cable3Z1" value="[FlangeZ]-[FlangeT]/2-[Conn1T]"/> + <Constant name="Cable3Z2" value="[Cable3Z1]-[Cable3T1]"/> + <Constant name="Cable3Z3" value="[Cable3Z1]-[Cable3T2]"/> + <Constant name="Cable2Z1" value="[FlangeZ]+[FlangeT]/2+[Conn1T]"/> + <Constant name="Cable2Z2" value="[Cable2Z1]+[Cable2T1]"/> + <Constant name="Cable2Z3" value="[Cable2Z1]+[Cable2T2]"/> + <Constant name="Cable1Z1" value="[Cable2Z3]"/> + <Constant name="Cable1Z2" value="[Cable1Z1]+[Cable1T1]"/> + <Constant name="Cable1Z3" value="[Cable1Z1]+[Cable2T2]"/> + <!-- + <Constant name="Cable3Z1" value="[FlangeZ]+[FlangeT]/2"/> + <Constant name="Cable3Z2" value="[Cable3Z1]+[Cable3T]"/> + <Constant name="Cable2Z1" value="[Cable3Z1]+[CableT]"/> + <Constant name="Cable2Z2" value="[Cable2Z1]+[Cable2T]"/> + <Constant name="Cable1Z1" value="[Cable2Z1]+[CableT]"/> + <Constant name="Cable1Z2" value="[Cable1Z1]+[Cable1T]"/> + <Constant name="Cable0Z1" value="[Cable1Z1]+[CableT]"/> + --> + <Constant name="Cool1Rin" value="4.00*cm"/> + <Constant name="Cool2Rin" value="6.90*cm"/> + <Constant name="Cool3Rin" value="9.70*cm"/> + <Constant name="CoolDR" value="0.88*cm"/> + <Constant name="CoolT" value="0.50*cm"/> + <Constant name="CoolZ" value="[FlangeZ]"/> + <Constant name="Cool1Rout" value="[Cool1Rin]+[CoolDR]"/> + <Constant name="Cool2Rout" value="[Cool2Rin]+[CoolDR]"/> + <Constant name="Cool3Rout" value="[Cool3Rin]+[CoolDR]"/> + <Constant name="Conn1Rin" value="12.00*cm"/> + <Constant name="Conn2Rin" value="11.00*cm"/> + <Constant name="Conn1Z" value="[FlangeZ]-[FlangeT]/2-[Conn1T]/2"/> + <Constant name="Conn2Z" value="[FlangeZ]+[FlangeT]/2+[Conn1T]/2"/> + <Constant name="Conn3Rout" value="19.0*cm"/> + <Constant name="Conn3Rin" value="18.0*cm"/> + <Constant name="Conn4Rin" value="18.0*cm"/> + <Constant name="ConnToSTT" value="3.00*cm"/> + <Constant name="ConnToSTRin" value="18.0*cm"/> + <Constant name="ConnToSTRout" value="18.8*cm"/> + <Constant name="Conn3T" value="49.3*cm"/> + <Constant name="Conn4T" value="120.00*cm"/> + <Constant name="ConnToSTZ" value="30.50*cm"/> + <Constant name="Conn3Z" value="56.65*cm"/> + <Constant name="Conn4Z" value="[Conn3Z]+ ([Conn3T]+[Conn4T])/2"/> + <Constant name="ServiceRout" value="21.0*cm"/> + <Constant name="ServiceRin" value="18.0*cm"/> + <Constant name="ServT" value="48.5*cm"/> + <Constant name="ServZ" value="[Conn4Z]+ ([Conn4T]+[ServT])/2"/> + <Constant name="ServCablT" value="32.2*cm"/> + <Constant name="ServCablZ" value="[ServZ]+[ServT]/2+[ServCablT]/2"/> + <Constant name="RadialCoolZ" value="29.5*cm"/> + <Constant name="RadialCoolDZ" value="1.0*cm"/> + <Constant name="RadialCoolRin" value="4.0*cm"/> + </ConstantsSection> + <RotationSection label="pixbar.xml"> + <Rotation name="180D" thetaX="90*deg" phiX="180*deg" thetaY="90*deg" phiY="90*deg" thetaZ="180*deg" phiZ="0*deg"/> + </RotationSection> + <SolidSection label="pixbar.xml"> + <Polycone name="PixelBarrel" startPhi="0*deg" deltaPhi="360*deg"> + <ZSection z="-[Zv4]" rMin="[RinSupTubCab]" rMax="[Rout2]"/> + <ZSection z="-[ZvSupTubCab]" rMin="[RinSupTubCab]" rMax="[Rout2]"/> + <ZSection z="-[ZvSupTubCab]" rMin="[Rin2]" rMax="[Rout2]"/> + <ZSection z="-[Zv3]" rMin="[Rin2]" rMax="[Rout2]"/> + <ZSection z="-[Zv3]" rMin="[Rin2]" rMax="[Rout1]"/> + <ZSection z="-[Zv1]" rMin="[Rin2]" rMax="[Rout1]"/> + <ZSection z="-[Zv1]" rMin="[Rin1]" rMax="[Rout1]"/> + <ZSection z="[Zv1]" rMin="[Rin1]" rMax="[Rout1]"/> + <ZSection z="[Zv1]" rMin="[Rin2]" rMax="[Rout1]"/> + <ZSection z="[Zv3]" rMin="[Rin2]" rMax="[Rout1]"/> + <ZSection z="[Zv3]" rMin="[Rin2]" rMax="[Rout2]"/> + <ZSection z="[ZvSupTubCab]" rMin="[Rin2]" rMax="[Rout2]"/> + <ZSection z="[ZvSupTubCab]" rMin="[RinSupTubCab]" rMax="[Rout2]"/> + <ZSection z="[Zv4]" rMin="[RinSupTubCab]" rMax="[Rout2]"/> + </Polycone> + <Tubs name="PixelBarrelSuppTub" rMin="[SupportRin]" rMax="[Rout1]" dz="[SupportL]/2" startPhi="0*deg" deltaPhi="360*deg"/> + <Box name="PixelBarrelSuppBox" dx="[SupportW]/2" dy="[SupportT]/2" dz="[SupportL]/2"/> + <Tubs name="PixelBarrelShield1" rMin="[Shield1Rin]" rMax="[Shield1Rout]" dz="[ShieldL]/2" startPhi="0*deg" deltaPhi="360*deg"/> + <Tubs name="PixelBarrelShield2" rMin="[Shield1Rout]" rMax="[Shield2Rout]" dz="[ShieldL]/2" startPhi="0*deg" deltaPhi="360*deg"/> + <Tubs name="PixelBarrelShield3" rMin="[Shield3Rin]" rMax="[Shield3Rout]" dz="[ShieldL]/2" startPhi="0*deg" deltaPhi="360*deg"/> + <Tubs name="PixelBarrelShield4" rMin="[Shield3Rout]" rMax="[Rin3]" dz="[ShieldL]/2" startPhi="0*deg" deltaPhi="360*deg"/> + <Tubs name="PixelBarrelFlange" rMin="[FlangeRin]" rMax="[Rin2]" dz="[FlangeT]/2" startPhi="0*deg" deltaPhi="360*deg"/> + <!-- <Tubs name="PixelBarrelFlangIn" rMin="[FlangeRin]" rMax="[Rin2]" + dz="[FlangeHCT]/2" startPhi="0*deg" deltaPhi="360*deg"/> --> + <Tubs name="PixelBarrelRadialCooling" rMin="[RadialCoolRin]" rMax="[Rin2]" dz="[RadialCoolDZ]/2" startPhi="290*deg" deltaPhi="140*deg"/> + <Polycone name="PixelBarrelCable1" startPhi="0*deg" deltaPhi="360*deg"> + <ZSection z="[Cable1Z1]" rMin="[Cable1Rin]" rMax="[CableRout]"/> + <ZSection z="[Cable1Z2]" rMin="[Cable1Rin]" rMax="[CableRout]"/> + <ZSection z="[Cable1Z3]" rMin="[Cable1Rin]" rMax="[Cable1Rin]"/> + </Polycone> + <Polycone name="PixelBarrelCable2" startPhi="0*deg" deltaPhi="360*deg"> + <ZSection z="[Cable2Z1]" rMin="[Cable2Rin]" rMax="[CableRout]"/> + <ZSection z="[Cable2Z2]" rMin="[Cable2Rin]" rMax="[CableRout]"/> + <ZSection z="[Cable2Z3]" rMin="[Cable2Rin]" rMax="[Cable2Rin]"/> + </Polycone> + <Polycone name="PixelBarrelCable3" startPhi="0*deg" deltaPhi="360*deg"> + <ZSection z="[Cable3Z1]" rMin="[Cable3Rin]" rMax="[CableRout]"/> + <ZSection z="[Cable3Z2]" rMin="[Cable3Rin]" rMax="[CableRout]"/> + <ZSection z="[Cable3Z3]" rMin="[Cable3Rin]" rMax="[Cable3Rin]"/> + </Polycone> + <Tubs name="PixelBarrelCool1" rMin="[Cool1Rin]" rMax="[Cool1Rout]" dz="[CoolT]/2" startPhi="0*deg" deltaPhi="360*deg"/> + <Tubs name="PixelBarrelCool2" rMin="[Cool2Rin]" rMax="[Cool2Rout]" dz="[CoolT]/2" startPhi="0*deg" deltaPhi="360*deg"/> + <Tubs name="PixelBarrelCool3" rMin="[Cool3Rin]" rMax="[Cool3Rout]" dz="[CoolT]/2" startPhi="0*deg" deltaPhi="360*deg"/> + <Tubs name="PixelBarrelConn1" rMin="[Conn1Rin]" rMax="[Shield3Rin]" dz="[Conn1T]/2" startPhi="0*deg" deltaPhi="360*deg"/> + <Tubs name="PixelBarrelConn2" rMin="[Conn2Rin]" rMax="[Shield3Rin]" dz="[Conn1T]/2" startPhi="0*deg" deltaPhi="360*deg"/> + <Tubs name="PixelBarrelConnToST" rMin="[ConnToSTRin]" rMax="[ConnToSTRout]" dz="[ConnToSTT]/2" startPhi="0*deg" deltaPhi="360*deg"/> + <Tubs name="PixelBarrelConn3" rMin="[Conn3Rin]" rMax="[Conn3Rout]" dz="[Conn3T]/2" startPhi="285*deg" deltaPhi="150*deg"/> + <Tubs name="PixelBarrelConn4" rMin="[Conn4Rin]" rMax="[Conn3Rout]" dz="[Conn4T]/2" startPhi="285*deg" deltaPhi="150*deg"/> + <Tubs name="PixelBarrelService" rMin="[ServiceRin]" rMax="[ServiceRout]" dz="[ServT]/2" startPhi="293*deg" deltaPhi="134*deg"/> + <Tubs name="PixelBarrelSupTubCables" rMin="[RinSupTubCab]" rMax="[Conn3Rout]" dz="[ServCablT]/2" startPhi="0*deg" deltaPhi="360*deg"/> + </SolidSection> + <LogicalPartSection label="pixbar.xml"> + <LogicalPart name="PixelBarrel" category="unspecified"> + <rSolid name="PixelBarrel"/> + <rMaterial name="materials:Air"/> + </LogicalPart> + <LogicalPart name="PixelBarrelSuppTub" category="unspecified"> + <rSolid name="PixelBarrelSuppTub"/> + <rMaterial name="trackermaterial:T_CarbonFibreStr"/> + </LogicalPart> + <LogicalPart name="PixelBarrelSuppBox" category="unspecified"> + <rSolid name="PixelBarrelSuppBox"/> + <rMaterial name="trackermaterial:T_CarbonFibreStr"/> + </LogicalPart> + <LogicalPart name="PixelBarrelShield1" category="unspecified"> + <rSolid name="PixelBarrelShield1"/> + <rMaterial name="trackermaterial:T_Aluminium"/> + </LogicalPart> + <LogicalPart name="PixelBarrelShield2" category="unspecified"> + <rSolid name="PixelBarrelShield2"/> + <rMaterial name="trackermaterial:T_Kevlar"/> + </LogicalPart> + <LogicalPart name="PixelBarrelShield3" category="unspecified"> + <rSolid name="PixelBarrelShield3"/> + <rMaterial name="trackermaterial:T_Aluminium"/> + </LogicalPart> + <LogicalPart name="PixelBarrelShield4" category="unspecified"> + <rSolid name="PixelBarrelShield4"/> + <rMaterial name="trackermaterial:T_Kevlar"/> + </LogicalPart> + <LogicalPart name="PixelBarrelFlange" category="unspecified"> + <rSolid name="PixelBarrelFlange"/> + <rMaterial name="pixbarmaterial:FlangeOuter_Layer3"/> + </LogicalPart> + <!-- <LogicalPart name="PixelBarrelFlangIn" category="unspecified"> + <rSolid name="PixelBarrelFlangIn"/> + <rMaterial name="pixbarmaterial:Pix_Bar_Ring_HC"/> + </LogicalPart> --> + <LogicalPart name="PixelBarrelRadialCooling" category="unspecified"> + <rSolid name="PixelBarrelRadialCooling"/> + <rMaterial name="pixbarmaterial:silicone_pipes_plus_coolant"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCable1" category="unspecified"> + <rSolid name="PixelBarrelCable1"/> + <rMaterial name="pixbarmaterial:Pix_Bar_Cable"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCable2" category="unspecified"> + <rSolid name="PixelBarrelCable2"/> + <rMaterial name="pixbarmaterial:Pix_Bar_Cable"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCable3" category="unspecified"> + <rSolid name="PixelBarrelCable3"/> + <rMaterial name="pixbarmaterial:Pix_Bar_Cable"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCool1" category="unspecified"> + <rSolid name="PixelBarrelCool1"/> + <rMaterial name="pixbarmaterial:Flange_with_Manifold_Layer1"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCool2" category="unspecified"> + <rSolid name="PixelBarrelCool2"/> + <rMaterial name="pixbarmaterial:Flange_with_Manifold_Layer2"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCool3" category="unspecified"> + <rSolid name="PixelBarrelCool3"/> + <rMaterial name="pixbarmaterial:FlangeInner_with_Manifold_Layer3"/> + </LogicalPart> + <LogicalPart name="PixelBarrelConn1" category="unspecified"> + <rSolid name="PixelBarrelConn1"/> + <rMaterial name="pixbarmaterial:Layer3_EndringPrints"/> + </LogicalPart> + <LogicalPart name="PixelBarrelConn2" category="unspecified"> + <rSolid name="PixelBarrelConn2"/> + <rMaterial name="pixbarmaterial:Layer1_2_EndringPrints"/> + </LogicalPart> + <LogicalPart name="PixelBarrelConnToST" category="unspecified"> + <rSolid name="PixelBarrelConnToST"/> + <rMaterial name="pixbarmaterial:cable_endring_to_tube"/> + </LogicalPart> + <LogicalPart name="PixelBarrelConn3" category="unspecified"> + <rSolid name="PixelBarrelConn3"/> + <rMaterial name="pixbarmaterial:SectorC"/> + </LogicalPart> + <LogicalPart name="PixelBarrelConn4" category="unspecified"> + <rSolid name="PixelBarrelConn4"/> + <rMaterial name="pixbarmaterial:SectorB"/> + </LogicalPart> + <LogicalPart name="PixelBarrelService" category="unspecified"> + <rSolid name="PixelBarrelService"/> + <rMaterial name="pixbarmaterial:SectorA"/> + </LogicalPart> + <LogicalPart name="PixelBarrelSupTubCables" category="unspecified"> + <rSolid name="PixelBarrelSupTubCables"/> + <rMaterial name="pixbarmaterial:PixelBarrelSupTubCables2"/> + </LogicalPart> + </LogicalPartSection> + <PosPartSection label="pixbar.xml"> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelSuppTub"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelSuppBox"/> + <Translation x="[zero]" y="[SupportY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelSuppBox"/> + <Translation x="[zero]" y="-[SupportY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelShield1"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelShield2"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelShield3"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelShield4"/> + </PosPart> + <!-- <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrelFlange"/> + <rChild name="pixbar:PixelBarrelFlangIn"/> + </PosPart> --> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelFlange"/> + <Translation x="[zero]" y="[zero]" z="[FlangeZ]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelFlange"/> + <rRotation name="pixbar:180D"/> + <Translation x="[zero]" y="[zero]" z="-[FlangeZ]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelRadialCooling"/> + <Translation x="[zero]" y="[zero]" z="[RadialCoolZ]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelRadialCooling"/> + <rRotation name="pixbar:180D"/> + <Translation x="[zero]" y="[zero]" z="[RadialCoolZ]"/> + </PosPart> + <PosPart copyNumber="3"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelRadialCooling"/> + <Translation x="[zero]" y="[zero]" z="-[RadialCoolZ]"/> + </PosPart> + <PosPart copyNumber="4"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelRadialCooling"/> + <rRotation name="pixbar:180D"/> + <Translation x="[zero]" y="[zero]" z="-[RadialCoolZ]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelCable1"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelCable1"/> + <rRotation name="pixbar:180D"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelCable2"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelCable2"/> + <rRotation name="pixbar:180D"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelCable3"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelCable3"/> + <rRotation name="pixbar:180D"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelCool1"/> + <Translation x="[zero]" y="[zero]" z="[CoolZ]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelCool1"/> + <rRotation name="pixbar:180D"/> + <Translation x="[zero]" y="[zero]" z="-[CoolZ]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelCool2"/> + <Translation x="[zero]" y="[zero]" z="[CoolZ]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelCool2"/> + <rRotation name="pixbar:180D"/> + <Translation x="[zero]" y="[zero]" z="-[CoolZ]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelCool3"/> + <Translation x="[zero]" y="[zero]" z="[CoolZ]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelCool3"/> + <rRotation name="pixbar:180D"/> + <Translation x="[zero]" y="[zero]" z="-[CoolZ]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelConn1"/> + <Translation x="[zero]" y="[zero]" z="[Conn1Z]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelConn1"/> + <rRotation name="pixbar:180D"/> + <Translation x="[zero]" y="[zero]" z="-[Conn1Z]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelConn2"/> + <Translation x="[zero]" y="[zero]" z="[Conn2Z]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelConn2"/> + <rRotation name="pixbar:180D"/> + <Translation x="[zero]" y="[zero]" z="-[Conn2Z]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelConnToST"/> + <Translation x="[zero]" y="[zero]" z="[ConnToSTZ]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelConnToST"/> + <rRotation name="pixbar:180D"/> + <Translation x="[zero]" y="[zero]" z="-[ConnToSTZ]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelConn3"/> + <Translation x="[zero]" y="[zero]" z="[Conn3Z]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelConn3"/> + <rRotation name="pixbar:180D"/> + <Translation x="[zero]" y="[zero]" z="[Conn3Z]"/> + </PosPart> + <PosPart copyNumber="3"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelConn3"/> + <Translation x="[zero]" y="[zero]" z="-[Conn3Z]"/> + </PosPart> + <PosPart copyNumber="4"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelConn3"/> + <rRotation name="pixbar:180D"/> + <Translation x="[zero]" y="[zero]" z="-[Conn3Z]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelConn4"/> + <Translation x="[zero]" y="[zero]" z="[Conn4Z]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelConn4"/> + <rRotation name="pixbar:180D"/> + <Translation x="[zero]" y="[zero]" z="[Conn4Z]"/> + </PosPart> + <PosPart copyNumber="3"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelConn4"/> + <Translation x="[zero]" y="[zero]" z="-[Conn4Z]"/> + </PosPart> + <PosPart copyNumber="4"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelConn4"/> + <rRotation name="pixbar:180D"/> + <Translation x="[zero]" y="[zero]" z="-[Conn4Z]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelService"/> + <Translation x="[zero]" y="[zero]" z="[ServZ]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelService"/> + <rRotation name="pixbar:180D"/> + <Translation x="[zero]" y="[zero]" z="[ServZ]"/> + </PosPart> + <PosPart copyNumber="3"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelService"/> + <Translation x="[zero]" y="[zero]" z="-[ServZ]"/> + </PosPart> + <PosPart copyNumber="4"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelService"/> + <rRotation name="pixbar:180D"/> + <Translation x="[zero]" y="[zero]" z="-[ServZ]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelSupTubCables"/> + <Translation x="[zero]" y="[zero]" z="[ServCablZ]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbar:PixelBarrelSupTubCables"/> + <rRotation name="pixbar:180D"/> + <Translation x="[zero]" y="[zero]" z="-[ServCablZ]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbarlayer0:PixelBarrelLayer0"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbarlayer1:PixelBarrelLayer1"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbar:PixelBarrel"/> + <rChild name="pixbarlayer2:PixelBarrelLayer2"/> + </PosPart> + </PosPartSection> +</DDDefinition> diff --git a/examples/DDCMS/data/pixbarladder.xml b/examples/DDCMS/data/pixbarladder.xml new file mode 100644 index 0000000000000000000000000000000000000000..93389062b0b24b54a908bbafd5011780d15b8482 --- /dev/null +++ b/examples/DDCMS/data/pixbarladder.xml @@ -0,0 +1,53 @@ +<?xml version="1.0"?> +<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../../DetectorDescription/Schema/DDLSchema.xsd"> + <ConstantsSection label="pixbarladder.xml" eval="true"> + <Constant name="Length" value="53.6*cm"/> + <Constant name="ExternalLength" value="55.4*cm"/> + <Constant name="Modules" value="8"/> + <Constant name="ModulesPerSide" value="[Modules]/2"/> + <Constant name="BaseThick" value="0.30*mm"/> + <Constant name="ROChipThick" value="0.18*mm"/> + <Constant name="SensorThick" value="0.285*mm"/> + <Constant name="SensorDz" value="6.66*cm"/> + <Constant name="SensorEdge" value="1.20*mm"/> + <Constant name="ActiveDz" value="6.48*cm"/> + <Constant name="HybridThick" value="0.044*mm"/> + <Constant name="HybridDz" value="6.50*cm"/> + <Constant name="CableThick" value="0.300*mm"/> + <Constant name="Cable1Length" value="21.02*cm"/> + <Constant name="Cable2Length" value="14.32*cm"/> + <Constant name="Cable3Length" value="7.62*cm"/> + <Constant name="Cable4Length" value="0.92*cm"/> + <Constant name="CableDzOverModule" value="1.93*cm"/> + <Constant name="Cable1Dz" value="[Cable1Length]+[CableDzOverModule]"/> + <Constant name="Cable2Dz" value="[Cable2Length]+[CableDzOverModule]"/> + <Constant name="Cable3Dz" value="[Cable3Length]+[CableDzOverModule]"/> + <Constant name="Cable4Dz" value="[Cable4Length]+[CableDzOverModule]"/> + <Constant name="CableBoxThick" value="[CableThick]*4"/> + <Constant name="CapacitorZ" value="2.80*cm"/> + <Constant name="CapacitorThick" value="1.50*mm"/> + <Constant name="CapacitorDx" value="3.20*mm"/> + <Constant name="CapacitorDz" value="2.50*mm"/> + <Constant name="CapacitorStripThick" value="0.50*mm"/> + <Constant name="CapacitorStripDx" value="0.50*mm"/> + <Constant name="CapacitorStripDz" value="([HybridDz])"/> + <Constant name="TBMchipThick" value="0.30*mm"/> + <Constant name="TBMchipDx" value="3.20*mm"/> + <Constant name="TBMchipDz" value="4.80*mm"/> + <!-- Module thick uses CapacitorThick since it is the highest object on the Hybrid surface --> + <Constant name="ModuleThick" value="([BaseThick]+[ROChipThick]+ [SensorThick]+[HybridThick]+[CapacitorThick])"/> + <Constant name="ModuleDz" value="[Length]/[Modules]"/> + <Constant name="ModuleZ" value="-([Length]-[ModuleDz])/2"/> + <Constant name="Cable1Y" value="([CableBoxThick]-[CableThick])/2"/> + <Constant name="Cable1Z" value="([ExternalLength]-[Cable1Dz])/2"/> + <Constant name="Cable2Y" value="[Cable1Y]-[CableThick]"/> + <Constant name="Cable2Z" value="([ExternalLength]-[Cable2Dz])/2"/> + <Constant name="Cable3Y" value="[Cable2Y]-[CableThick]"/> + <Constant name="Cable3Z" value="([ExternalLength]-[Cable3Dz])/2"/> + <Constant name="Cable4Y" value="[Cable3Y]-[CableThick]"/> + <Constant name="Cable4Z" value="([ExternalLength]-[Cable4Dz])/2"/> + </ConstantsSection> + <RotationSection label="pixbarladder.xml"> + <Rotation name="Z2XY" thetaX="90*deg" phiX="0*deg" thetaY="180*deg" phiY="0*deg" thetaZ="90*deg" phiZ="90*deg"/> + </RotationSection> +</DDDefinition> diff --git a/examples/DDCMS/data/pixbarladderfull.xml b/examples/DDCMS/data/pixbarladderfull.xml new file mode 100644 index 0000000000000000000000000000000000000000..b72869d958d93b15884f89445101a85ce2783904 --- /dev/null +++ b/examples/DDCMS/data/pixbarladderfull.xml @@ -0,0 +1,320 @@ +<?xml version="1.0"?> +<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../../DetectorDescription/Schema/DDLSchema.xsd"> + <ConstantsSection label="pixbarladderfull.xml" eval="true"> + <Constant name="zero" value="0.0*fm"/> + <Constant name="CFStripThick" value="0.25*mm"/> + <Constant name="CFStripWidth" value="26.00*mm"/> + <Constant name="CFHoleWidth" value="11.00*mm"/> + <Constant name="CFHoleDz" value="22.00*mm"/> + <Constant name="CFHoles" value="16"/> + <Constant name="CFHoleStep" value="33.00*mm"/> + <Constant name="VirtualBaseWidth" value="21.76*mm"/> + <Constant name="BaseWidth" value="4.48*mm"/> + <Constant name="BaseX" value="[VirtualBaseWidth]/2-[BaseWidth]/2"/> + <Constant name="ROChipWidth" value="19.955*mm"/> + <Constant name="SensorWidth" value="18.60*mm"/> + <Constant name="CableWidth" value="6.70*mm"/> + <Constant name="HybridWidth" value="18.80*mm"/> + <Constant name="CapacitorStripX" value="8.25*mm"/> + <Constant name="ActiveWidth" value="[SensorWidth]- 2*[pixbarladder:SensorEdge]"/> + <Constant name="LadderWidth" value="[CFStripWidth]"/> + <Constant name="LadderThick" value="[CFStripThick]+ [pixbarladder:ModuleThick]+[pixbarladder:CableBoxThick]"/> + <Constant name="CableBoxY" value="([LadderThick]- [pixbarladder:CableBoxThick])/2"/> + <Constant name="ModuleBoxY" value="[CableBoxY]- ([pixbarladder:CableBoxThick]+[pixbarladder:ModuleThick])/2"/> + <Constant name="CFStripY" value="[ModuleBoxY]- ([pixbarladder:ModuleThick]+[CFStripThick])/2"/> + <Constant name="BaseY" value="-([pixbarladder:ModuleThick]- [pixbarladder:BaseThick])/2"/> + <Constant name="ROChipY" value="[BaseY]+ ([pixbarladder:BaseThick]+[pixbarladder:ROChipThick])/2"/> + <Constant name="SensorY" value="[ROChipY]+ ([pixbarladder:ROChipThick]+[pixbarladder:SensorThick])/2"/> + <Constant name="HybridY" value="[SensorY]+ ([pixbarladder:SensorThick]+[pixbarladder:HybridThick])/2"/> + <Constant name="CapacitorY" value="[HybridY]+ ([pixbarladder:HybridThick]+[pixbarladder:CapacitorThick])/2"/> + <Constant name="CapacitorStripY" value="[HybridY]+ ([pixbarladder:HybridThick]+[pixbarladder:CapacitorStripThick])/2"/> + <Constant name="TBMchipY" value="[HybridY]+ ([pixbarladder:HybridThick]+[pixbarladder:TBMchipThick])/2"/> + <Constant name="CFHoleZ" value="-([CFHoles]-1)*[CFHoleStep]/2"/> + </ConstantsSection> + <SolidSection label="pixbarladderfull.xml"> + <Box name="PixelBarrelLadderFull" dx="[pixbarladderfull:LadderWidth]/2" dy="[pixbarladderfull:LadderThick]/2" dz="[pixbarladder:ExternalLength]/2"/> + <Box name="PixelBarrelModuleBoxFull" dx="[pixbarladderfull:LadderWidth]/2" dy="[pixbarladder:ModuleThick]/2" dz="[pixbarladder:Length]/2"/> + <Box name="PixelBarrelCFStripFull" dx="[pixbarladderfull:CFStripWidth]/2" dy="[pixbarladderfull:CFStripThick]/2" dz="[pixbarladder:Length]/2"/> + <Box name="PixelBarrelCableBoxFull" dx="[pixbarladderfull:LadderWidth]/2" dy="[pixbarladder:CableBoxThick]/2" dz="[pixbarladder:ExternalLength]/2"/> + <Box name="PixelBarrelModuleFull" dx="[pixbarladderfull:LadderWidth]/2" dy="[pixbarladder:ModuleThick]/2" dz="[pixbarladder:ModuleDz]/2"/> + <Box name="PixelBarrelBaseFull" dx="[pixbarladderfull:BaseWidth]/2" dy="[pixbarladder:BaseThick]/2" dz="[pixbarladder:SensorDz]/2"/> + <Box name="PixelBarrelROChipFull" dx="[pixbarladderfull:ROChipWidth]/2" dy="[pixbarladder:ROChipThick]/2" dz="[pixbarladder:ActiveDz]/2"/> + <Box name="PixelBarrelSensorFull" dx="[pixbarladderfull:SensorWidth]/2" dy="[pixbarladder:SensorThick]/2" dz="[pixbarladder:SensorDz]/2"/> + <Box name="PixelBarrelActiveFull" dx="[pixbarladderfull:ActiveWidth]/2" dy="[pixbarladder:ActiveDz]/2" dz="[pixbarladder:SensorThick]/2"/> + <Box name="PixelBarrelHybridFull" dx="[pixbarladderfull:HybridWidth]/2" dy="[pixbarladder:HybridThick]/2" dz="[pixbarladder:HybridDz]/2"/> + <Box name="PixelBarrelCable1Full" dx="[pixbarladderfull:CableWidth]/2" dy="[pixbarladder:CableThick]/2" dz="[pixbarladder:Cable1Dz]/2"/> + <Box name="PixelBarrelCable2Full" dx="[pixbarladderfull:CableWidth]/2" dy="[pixbarladder:CableThick]/2" dz="[pixbarladder:Cable2Dz]/2"/> + <Box name="PixelBarrelCable3Full" dx="[pixbarladderfull:CableWidth]/2" dy="[pixbarladder:CableThick]/2" dz="[pixbarladder:Cable3Dz]/2"/> + <Box name="PixelBarrelCable4Full" dx="[pixbarladderfull:CableWidth]/2" dy="[pixbarladder:CableThick]/2" dz="[pixbarladder:Cable4Dz]/2"/> + <Box name="PixelBarrelCFStripHoleFull" dx="[pixbarladderfull:CFHoleWidth]/2" dy="[pixbarladderfull:CFStripThick]/2" dz="[pixbarladderfull:CFHoleDz]/2"/> + <Box name="PixelBarrelCapacitorFull" dx="[pixbarladder:CapacitorDx]/2" dy="[pixbarladder:CapacitorThick]/2" dz="[pixbarladder:CapacitorDz]/2"/> + <Box name="PixelBarrelCapacitorStripFull" dx="[pixbarladder:CapacitorStripDx]/2" dy="[pixbarladder:CapacitorStripThick]/2" dz="[pixbarladder:CapacitorStripDz]/2"/> + <Box name="PixelBarrelTBMFull" dx="[pixbarladder:TBMchipDx]/2" dy="[pixbarladder:TBMchipThick]/2" dz="[pixbarladder:TBMchipDz]/2"/> + </SolidSection> + <LogicalPartSection label="pixbarladderfull.xml"> + <LogicalPart name="PixelBarrelLadderFull" category="unspecified"> + <rSolid name="PixelBarrelLadderFull"/> + <rMaterial name="materials:Air"/> + </LogicalPart> + <LogicalPart name="PixelBarrelModuleBoxFull" category="unspecified"> + <rSolid name="PixelBarrelModuleBoxFull"/> + <rMaterial name="materials:Air"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCFStripFull" category="unspecified"> + <rSolid name="PixelBarrelCFStripFull"/> + <rMaterial name="trackermaterial:T_CarbonFibreStr"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCableBoxFull" category="unspecified"> + <rSolid name="PixelBarrelCableBoxFull"/> + <rMaterial name="materials:Air"/> + </LogicalPart> + <LogicalPart name="PixelBarrelModuleFullMinus" category="unspecified"> + <rSolid name="PixelBarrelModuleFull"/> + <rMaterial name="materials:Air"/> + </LogicalPart> + <LogicalPart name="PixelBarrelModuleFullPlus" category="unspecified"> + <rSolid name="PixelBarrelModuleFull"/> + <rMaterial name="materials:Air"/> + </LogicalPart> + <LogicalPart name="PixelBarrelBaseFull" category="unspecified"> + <rSolid name="PixelBarrelBaseFull"/> + <rMaterial name="pixbarmaterial:Pix_Bar_Baseplate_Full"/> + </LogicalPart> + <LogicalPart name="PixelBarrelROChipFull" category="unspecified"> + <rSolid name="PixelBarrelROChipFull"/> + <rMaterial name="materials:Silicon"/> + </LogicalPart> + <LogicalPart name="PixelBarrelSensorFull" category="unspecified"> + <rSolid name="PixelBarrelSensorFull"/> + <rMaterial name="materials:Silicon"/> + </LogicalPart> + <LogicalPart name="PixelBarrelActiveFull" category="unspecified"> + <rSolid name="PixelBarrelActiveFull"/> + <rMaterial name="materials:Silicon"/> + </LogicalPart> + <LogicalPart name="PixelBarrelHybridFull" category="unspecified"> + <rSolid name="PixelBarrelHybridFull"/> + <rMaterial name="pixbarmaterial:Pix_Bar_Hybrid_Full"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCable1Full" category="unspecified"> + <rSolid name="PixelBarrelCable1Full"/> + <rMaterial name="pixbarmaterial:Pix_Bar_Cable"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCable2Full" category="unspecified"> + <rSolid name="PixelBarrelCable2Full"/> + <rMaterial name="pixbarmaterial:Pix_Bar_Cable"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCable3Full" category="unspecified"> + <rSolid name="PixelBarrelCable3Full"/> + <rMaterial name="pixbarmaterial:Pix_Bar_Cable"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCable4Full" category="unspecified"> + <rSolid name="PixelBarrelCable4Full"/> + <rMaterial name="pixbarmaterial:Pix_Bar_Cable"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCFStripHoleFull" category="unspecified"> + <rSolid name="PixelBarrelCFStripHoleFull"/> + <rMaterial name="materials:Air"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCapacitorFull" category="unspecified"> + <rSolid name="PixelBarrelCapacitorFull"/> + <rMaterial name="trackermaterial:T_Barium_Titanate"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCapacitorStripFull" category="unspecified"> + <rSolid name="PixelBarrelCapacitorStripFull"/> + <rMaterial name="pixbarmaterial:Pix_Bar_Capacitor"/> + </LogicalPart> + <LogicalPart name="PixelBarrelTBMFull" category="unspecified"> + <rSolid name="PixelBarrelTBMFull"/> + <rMaterial name="materials:Silicon"/> + </LogicalPart> + </LogicalPartSection> + <PosPartSection label="pixbarladderfull.xml"> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelLadderFull"/> + <rChild name="pixbarladderfull:PixelBarrelCableBoxFull"/> + <Translation x="[zero]" y="[CableBoxY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelLadderFull"/> + <rChild name="pixbarladderfull:PixelBarrelModuleBoxFull"/> + <Translation x="[zero]" y="[ModuleBoxY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelLadderFull"/> + <rChild name="pixbarladderfull:PixelBarrelCFStripFull"/> + <Translation x="[zero]" y="[CFStripY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelSensorFull"/> + <rChild name="pixbarladderfull:PixelBarrelActiveFull"/> + <rRotation name="pixbarladder:Z2XY"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelModuleFullMinus"/> + <rChild name="pixbarladderfull:PixelBarrelBaseFull"/> + <Translation x="[BaseX]" y="[BaseY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbarladderfull:PixelBarrelModuleFullMinus"/> + <rChild name="pixbarladderfull:PixelBarrelBaseFull"/> + <Translation x="-[BaseX]" y="[BaseY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelModuleFullMinus"/> + <rChild name="pixbarladderfull:PixelBarrelROChipFull"/> + <Translation x="[zero]" y="[ROChipY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelModuleFullMinus"/> + <rChild name="pixbarladderfull:PixelBarrelSensorFull"/> + <Translation x="[zero]" y="[SensorY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelModuleFullMinus"/> + <rChild name="pixbarladderfull:PixelBarrelHybridFull"/> + <Translation x="[zero]" y="[HybridY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelModuleFullPlus"/> + <rChild name="pixbarladderfull:PixelBarrelBaseFull"/> + <Translation x="[BaseX]" y="[BaseY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbarladderfull:PixelBarrelModuleFullPlus"/> + <rChild name="pixbarladderfull:PixelBarrelBaseFull"/> + <Translation x="-[BaseX]" y="[BaseY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelModuleFullPlus"/> + <rChild name="pixbarladderfull:PixelBarrelROChipFull"/> + <Translation x="[zero]" y="[ROChipY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelModuleFullPlus"/> + <rChild name="pixbarladderfull:PixelBarrelSensorFull"/> + <Translation x="[zero]" y="[SensorY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelModuleFullPlus"/> + <rChild name="pixbarladderfull:PixelBarrelHybridFull"/> + <Translation x="[zero]" y="[HybridY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelCableBoxFull"/> + <rChild name="pixbarladderfull:PixelBarrelCable1Full"/> + <Translation x="[zero]" y="[pixbarladder:Cable1Y]" z="[pixbarladder:Cable1Z]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbarladderfull:PixelBarrelCableBoxFull"/> + <rChild name="pixbarladderfull:PixelBarrelCable1Full"/> + <Translation x="[zero]" y="[pixbarladder:Cable1Y]" z="-[pixbarladder:Cable1Z]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelCableBoxFull"/> + <rChild name="pixbarladderfull:PixelBarrelCable2Full"/> + <Translation x="[zero]" y="[pixbarladder:Cable2Y]" z="[pixbarladder:Cable2Z]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbarladderfull:PixelBarrelCableBoxFull"/> + <rChild name="pixbarladderfull:PixelBarrelCable2Full"/> + <Translation x="[zero]" y="[pixbarladder:Cable2Y]" z="-[pixbarladder:Cable2Z]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelCableBoxFull"/> + <rChild name="pixbarladderfull:PixelBarrelCable3Full"/> + <Translation x="[zero]" y="[pixbarladder:Cable3Y]" z="[pixbarladder:Cable3Z]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbarladderfull:PixelBarrelCableBoxFull"/> + <rChild name="pixbarladderfull:PixelBarrelCable3Full"/> + <Translation x="[zero]" y="[pixbarladder:Cable3Y]" z="-[pixbarladder:Cable3Z]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelCableBoxFull"/> + <rChild name="pixbarladderfull:PixelBarrelCable4Full"/> + <Translation x="[zero]" y="[pixbarladder:Cable4Y]" z="[pixbarladder:Cable4Z]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbarladderfull:PixelBarrelCableBoxFull"/> + <rChild name="pixbarladderfull:PixelBarrelCable4Full"/> + <Translation x="[zero]" y="[pixbarladder:Cable4Y]" z="-[pixbarladder:Cable4Z]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelModuleFullPlus"/> + <rChild name="pixbarladderfull:PixelBarrelCapacitorFull"/> + <Translation x="[zero]" y="[pixbarladderfull:CapacitorY]" z="[pixbarladder:CapacitorZ]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelModuleFullPlus"/> + <rChild name="pixbarladderfull:PixelBarrelCapacitorStripFull"/> + <Translation x="[pixbarladderfull:CapacitorStripX]" y="[pixbarladderfull:CapacitorStripY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbarladderfull:PixelBarrelModuleFullPlus"/> + <rChild name="pixbarladderfull:PixelBarrelCapacitorStripFull"/> + <Translation x="-[pixbarladderfull:CapacitorStripX]" y="[pixbarladderfull:CapacitorStripY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelModuleFullMinus"/> + <rChild name="pixbarladderfull:PixelBarrelCapacitorFull"/> + <Translation x="[zero]" y="[pixbarladderfull:CapacitorY]" z="-[pixbarladder:CapacitorZ]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelModuleFullMinus"/> + <rChild name="pixbarladderfull:PixelBarrelCapacitorStripFull"/> + <Translation x="[pixbarladderfull:CapacitorStripX]" y="[pixbarladderfull:CapacitorStripY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbarladderfull:PixelBarrelModuleFullMinus"/> + <rChild name="pixbarladderfull:PixelBarrelCapacitorStripFull"/> + <Translation x="-[pixbarladderfull:CapacitorStripX]" y="[pixbarladderfull:CapacitorStripY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelModuleFullMinus"/> + <rChild name="pixbarladderfull:PixelBarrelTBMFull"/> + <Translation x="[zero]" y="[pixbarladderfull:TBMchipY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderfull:PixelBarrelModuleFullPlus"/> + <rChild name="pixbarladderfull:PixelBarrelTBMFull"/> + <Translation x="[zero]" y="[pixbarladderfull:TBMchipY]" z="[zero]"/> + </PosPart> + </PosPartSection> + <Algorithm name="track:DDTrackerLinear"> + <rParent name="pixbarladderfull:PixelBarrelModuleBoxFull"/> + <String name="ChildName" value="pixbarladderfull:PixelBarrelModuleFullMinus"/> + <Numeric name="Number" value="[pixbarladder:ModulesPerSide]"/> + <Numeric name="Theta" value="0*deg"/> + <Numeric name="Phi" value="0*deg"/> + <Numeric name="Offset" value="[pixbarladder:ModuleZ]"/> + <Numeric name="Delta" value="[pixbarladder:ModuleDz]"/> + <String name="Rotation" value="pixbarladder:NULL"/> + <Vector name="Center" type="numeric" nEntries="3"> + [zero], [zero], [zero] </Vector> + </Algorithm> + <Algorithm name="track:DDTrackerLinear"> + <rParent name="pixbarladderfull:PixelBarrelModuleBoxFull"/> + <String name="ChildName" value="pixbarladderfull:PixelBarrelModuleFullPlus"/> + <Numeric name="Number" value="[pixbarladder:ModulesPerSide]"/> + <Numeric name="Theta" value="0*deg"/> + <Numeric name="Phi" value="0*deg"/> + <Numeric name="Offset" value="[pixbarladder:ModuleZ]+[pixbarladder:ModuleDz]*[pixbarladder:ModulesPerSide]"/> + <Numeric name="Delta" value="[pixbarladder:ModuleDz]"/> + <String name="Rotation" value="pixbarladder:NULL"/> + <Vector name="Center" type="numeric" nEntries="3"> + [zero], [zero], [zero] </Vector> + </Algorithm> + <Algorithm name="track:DDTrackerLinear"> + <rParent name="pixbarladderfull:PixelBarrelCFStripFull"/> + <String name="ChildName" value="pixbarladderfull:PixelBarrelCFStripHoleFull"/> + <Numeric name="Number" value="[pixbarladderfull:CFHoles]"/> + <Numeric name="Theta" value="0*deg"/> + <Numeric name="Phi" value="0*deg"/> + <Numeric name="Offset" value="[pixbarladderfull:CFHoleZ]"/> + <Numeric name="Delta" value="[pixbarladderfull:CFHoleStep]"/> + <String name="Rotation" value="pixbarladder:NULL"/> + <Vector name="Center" type="numeric" nEntries="3"> + [zero], [zero], [zero] </Vector> + </Algorithm> +</DDDefinition> diff --git a/examples/DDCMS/data/pixbarladderhalf.xml b/examples/DDCMS/data/pixbarladderhalf.xml new file mode 100644 index 0000000000000000000000000000000000000000..bd6e70d80eacb33a5e00ac8fb455dc77df2f921c --- /dev/null +++ b/examples/DDCMS/data/pixbarladderhalf.xml @@ -0,0 +1,288 @@ +<?xml version="1.0"?> +<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../../DetectorDescription/Schema/DDLSchema.xsd"> + <ConstantsSection label="pixbarladderhalf.xml" eval="true"> + <Constant name="zero" value="0.0*fm"/> + <Constant name="CFStripThick" value="0.25*mm"/> + <Constant name="CFStripWidth" value="13.00*mm"/> + <Constant name="BaseWidth" value="12.9*mm"/> + <Constant name="ROChipWidth" value="9.935*mm"/> + <Constant name="SensorWidth" value="10.20*mm"/> + <Constant name="HybridWidth" value="10.30*mm"/> + <Constant name="SensorEdge" value="0.90*mm"/> + <Constant name="CableWidth" value="6.70*mm"/> + <Constant name="CapacitorStripDistToEdge" value="1.15*mm"/> + <Constant name="ActiveWidth" value="[SensorWidth]-[SensorEdge]- [pixbarladder:SensorEdge]"/> + <Constant name="LadderWidth" value="[CFStripWidth]+[SensorEdge]"/> + <Constant name="LadderThick" value="[CFStripThick]+ [pixbarladder:ModuleThick]+[pixbarladder:CableBoxThick]"/> + <Constant name="CableBoxY" value="([LadderThick]- [pixbarladder:CableBoxThick])/2"/> + <Constant name="ModuleBoxY" value="[CableBoxY]- ([pixbarladder:CableBoxThick]+[pixbarladder:ModuleThick])/2"/> + <Constant name="CFStripX" value="[SensorEdge]- ([LadderWidth]-[CFStripWidth])/2"/> + <Constant name="CFStripY" value="[ModuleBoxY]- ([pixbarladder:ModuleThick]+[CFStripThick])/2"/> + <Constant name="ActiveX" value="[SensorEdge]- ([SensorWidth]-[ActiveWidth])/2"/> + <Constant name="BaseX" value="[SensorEdge]- ([LadderWidth]-[BaseWidth])/2"/> + <Constant name="BaseY" value="-([pixbarladder:ModuleThick]- [pixbarladder:BaseThick])/2"/> + <Constant name="ROChipX" value="[SensorEdge]- ([LadderWidth]-[ROChipWidth])/2"/> + <Constant name="ROChipY" value="[BaseY]+ ([pixbarladder:BaseThick]+[pixbarladder:ROChipThick])/2"/> + <Constant name="SensorX" value="-([LadderWidth]-[SensorWidth])/2"/> + <Constant name="SensorY" value="[ROChipY]+ ([pixbarladder:ROChipThick]+[pixbarladder:SensorThick])/2"/> + <Constant name="HybridX" value="([HybridWidth]-[LadderWidth])/2"/> + <Constant name="HybridY" value="[SensorY]+ ([pixbarladder:SensorThick]+[pixbarladder:HybridThick])/2"/> + <Constant name="CapacitorX" value="[HybridX]"/> + <Constant name="CapacitorStripX" value="[HybridX]+[HybridWidth]/2-[CapacitorStripDistToEdge]-[pixbarladder:CapacitorStripDx]/2"/> + <Constant name="TBMchipX" value="[HybridX]-[HybridWidth]/2+[pixbarladder:TBMchipDx]/2"/> + <Constant name="CapacitorY" value="[HybridY]+ ([pixbarladder:HybridThick]+[pixbarladder:CapacitorThick])/2"/> + <Constant name="CapacitorStripY" value="[HybridY]+ ([pixbarladder:HybridThick]+[pixbarladder:CapacitorStripThick])/2"/> + <Constant name="TBMchipY" value="[HybridY]+ ([pixbarladder:HybridThick]+[pixbarladder:TBMchipThick])/2"/> + <Constant name="CableX" value="[SensorEdge]- ([LadderWidth]-[CableWidth])/2"/> + </ConstantsSection> + <SolidSection label="pixbarladderhalf.xml"> + <Box name="PixelBarrelLadderHalf" dx="[pixbarladderhalf:LadderWidth]/2" dy="[pixbarladderhalf:LadderThick]/2" dz="[pixbarladder:ExternalLength]/2"/> + <Box name="PixelBarrelModuleBoxHalf" dx="[pixbarladderhalf:LadderWidth]/2" dy="[pixbarladder:ModuleThick]/2" dz="[pixbarladder:Length]/2"/> + <Box name="PixelBarrelCFStripHalf" dx="[pixbarladderhalf:CFStripWidth]/2" dy="[pixbarladderhalf:CFStripThick]/2" dz="[pixbarladder:Length]/2"/> + <Box name="PixelBarrelCableBoxHalf" dx="[pixbarladderhalf:LadderWidth]/2" dy="[pixbarladder:CableBoxThick]/2" dz="[pixbarladder:ExternalLength]/2"/> + <Box name="PixelBarrelModuleHalf" dx="[pixbarladderhalf:LadderWidth]/2" dy="[pixbarladder:ModuleThick]/2" dz="[pixbarladder:ModuleDz]/2"/> + <Box name="PixelBarrelBaseHalf" dx="[pixbarladderhalf:BaseWidth]/2" dy="[pixbarladder:BaseThick]/2" dz="[pixbarladder:SensorDz]/2"/> + <Box name="PixelBarrelROChipHalf" dx="[pixbarladderhalf:ROChipWidth]/2" dy="[pixbarladder:ROChipThick]/2" dz="[pixbarladder:ActiveDz]/2"/> + <Box name="PixelBarrelSensorHalf" dx="[pixbarladderhalf:SensorWidth]/2" dy="[pixbarladder:SensorThick]/2" dz="[pixbarladder:SensorDz]/2"/> + <Box name="PixelBarrelActiveHalf" dx="[pixbarladderhalf:ActiveWidth]/2" dy="[pixbarladder:ActiveDz]/2" dz="[pixbarladder:SensorThick]/2"/> + <Box name="PixelBarrelHybridHalf" dx="[pixbarladderhalf:HybridWidth]/2" dy="[pixbarladder:HybridThick]/2" dz="[pixbarladder:HybridDz]/2"/> + <Box name="PixelBarrelCable1Half" dx="[pixbarladderhalf:CableWidth]/2" dy="[pixbarladder:CableThick]/2" dz="[pixbarladder:Cable1Dz]/2"/> + <Box name="PixelBarrelCable2Half" dx="[pixbarladderhalf:CableWidth]/2" dy="[pixbarladder:CableThick]/2" dz="[pixbarladder:Cable2Dz]/2"/> + <Box name="PixelBarrelCable3Half" dx="[pixbarladderhalf:CableWidth]/2" dy="[pixbarladder:CableThick]/2" dz="[pixbarladder:Cable3Dz]/2"/> + <Box name="PixelBarrelCable4Half" dx="[pixbarladderhalf:CableWidth]/2" dy="[pixbarladder:CableThick]/2" dz="[pixbarladder:Cable4Dz]/2"/> + <Box name="PixelBarrelCapacitorHalf" dx="[pixbarladder:CapacitorDx]/2" dy="[pixbarladder:CapacitorThick]/2" dz="[pixbarladder:CapacitorDz]/2"/> + <Box name="PixelBarrelCapacitorStripHalf" dx="[pixbarladder:CapacitorStripDx]/2" dy="[pixbarladder:CapacitorStripThick]/2" dz="[pixbarladder:CapacitorStripDz]/2"/> + <Box name="PixelBarrelTBMHalf" dx="[pixbarladder:TBMchipDx]/2" dy="[pixbarladder:TBMchipThick]/2" dz="[pixbarladder:TBMchipDz]/2"/> + </SolidSection> + <LogicalPartSection label="pixbarladderhalf.xml"> + <LogicalPart name="PixelBarrelLadderHalf" category="unspecified"> + <rSolid name="PixelBarrelLadderHalf"/> + <rMaterial name="materials:Air"/> + </LogicalPart> + <LogicalPart name="PixelBarrelModuleBoxHalf" category="unspecified"> + <rSolid name="PixelBarrelModuleBoxHalf"/> + <rMaterial name="materials:Air"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCFStripHalf" category="unspecified"> + <rSolid name="PixelBarrelCFStripHalf"/> + <rMaterial name="trackermaterial:T_CarbonFibreStr"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCableBoxHalf" category="unspecified"> + <rSolid name="PixelBarrelCableBoxHalf"/> + <rMaterial name="materials:Air"/> + </LogicalPart> + <LogicalPart name="PixelBarrelModuleHalfMinus" category="unspecified"> + <rSolid name="PixelBarrelModuleHalf"/> + <rMaterial name="materials:Air"/> + </LogicalPart> + <LogicalPart name="PixelBarrelModuleHalfPlus" category="unspecified"> + <rSolid name="PixelBarrelModuleHalf"/> + <rMaterial name="materials:Air"/> + </LogicalPart> + <LogicalPart name="PixelBarrelBaseHalf" category="unspecified"> + <rSolid name="PixelBarrelBaseHalf"/> + <rMaterial name="pixbarmaterial:Pix_Bar_Baseplate_Half"/> + </LogicalPart> + <LogicalPart name="PixelBarrelROChipHalf" category="unspecified"> + <rSolid name="PixelBarrelROChipHalf"/> + <rMaterial name="materials:Silicon"/> + </LogicalPart> + <LogicalPart name="PixelBarrelSensorHalf" category="unspecified"> + <rSolid name="PixelBarrelSensorHalf"/> + <rMaterial name="materials:Silicon"/> + </LogicalPart> + <LogicalPart name="PixelBarrelActiveHalf" category="unspecified"> + <rSolid name="PixelBarrelActiveHalf"/> + <rMaterial name="materials:Silicon"/> + </LogicalPart> + <LogicalPart name="PixelBarrelHybridHalf" category="unspecified"> + <rSolid name="PixelBarrelHybridHalf"/> + <rMaterial name="pixbarmaterial:Pix_Bar_Hybrid_Half"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCable1Half" category="unspecified"> + <rSolid name="PixelBarrelCable1Half"/> + <rMaterial name="pixbarmaterial:Pix_Bar_Cable"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCable2Half" category="unspecified"> + <rSolid name="PixelBarrelCable2Half"/> + <rMaterial name="pixbarmaterial:Pix_Bar_Cable"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCable3Half" category="unspecified"> + <rSolid name="PixelBarrelCable3Half"/> + <rMaterial name="pixbarmaterial:Pix_Bar_Cable"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCable4Half" category="unspecified"> + <rSolid name="PixelBarrelCable4Half"/> + <rMaterial name="pixbarmaterial:Pix_Bar_Cable"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCapacitorHalf" category="unspecified"> + <rSolid name="PixelBarrelCapacitorHalf"/> + <rMaterial name="trackermaterial:T_Barium_Titanate"/> + </LogicalPart> + <LogicalPart name="PixelBarrelCapacitorStripHalf" category="unspecified"> + <rSolid name="PixelBarrelCapacitorStripHalf"/> + <rMaterial name="pixbarmaterial:Pix_Bar_Capacitor"/> + </LogicalPart> + <LogicalPart name="PixelBarrelTBMHalf" category="unspecified"> + <rSolid name="PixelBarrelTBMHalf"/> + <rMaterial name="materials:Silicon"/> + </LogicalPart> + </LogicalPartSection> + <PosPartSection label="pixbarladderhalf.xml"> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelLadderHalf"/> + <rChild name="pixbarladderhalf:PixelBarrelCableBoxHalf"/> + <Translation x="[zero]" y="[CableBoxY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelLadderHalf"/> + <rChild name="pixbarladderhalf:PixelBarrelModuleBoxHalf"/> + <Translation x="[zero]" y="[ModuleBoxY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelLadderHalf"/> + <rChild name="pixbarladderhalf:PixelBarrelCFStripHalf"/> + <Translation x="[CFStripX]" y="[CFStripY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelSensorHalf"/> + <rChild name="pixbarladderhalf:PixelBarrelActiveHalf"/> + <rRotation name="pixbarladder:Z2XY"/> + <Translation x="[ActiveX]" y="[zero]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelModuleHalfMinus"/> + <rChild name="pixbarladderhalf:PixelBarrelBaseHalf"/> + <Translation x="[BaseX]" y="[BaseY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelModuleHalfMinus"/> + <rChild name="pixbarladderhalf:PixelBarrelROChipHalf"/> + <Translation x="[ROChipX]" y="[ROChipY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelModuleHalfMinus"/> + <rChild name="pixbarladderhalf:PixelBarrelSensorHalf"/> + <Translation x="[SensorX]" y="[SensorY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelModuleHalfMinus"/> + <rChild name="pixbarladderhalf:PixelBarrelHybridHalf"/> + <Translation x="[HybridX]" y="[HybridY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelModuleHalfPlus"/> + <rChild name="pixbarladderhalf:PixelBarrelBaseHalf"/> + <Translation x="[BaseX]" y="[BaseY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelModuleHalfPlus"/> + <rChild name="pixbarladderhalf:PixelBarrelROChipHalf"/> + <Translation x="[ROChipX]" y="[ROChipY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelModuleHalfPlus"/> + <rChild name="pixbarladderhalf:PixelBarrelSensorHalf"/> + <Translation x="[SensorX]" y="[SensorY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelModuleHalfPlus"/> + <rChild name="pixbarladderhalf:PixelBarrelHybridHalf"/> + <Translation x="[HybridX]" y="[HybridY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelCableBoxHalf"/> + <rChild name="pixbarladderhalf:PixelBarrelCable1Half"/> + <Translation x="[CableX]" y="[pixbarladder:Cable1Y]" z="[pixbarladder:Cable1Z]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbarladderhalf:PixelBarrelCableBoxHalf"/> + <rChild name="pixbarladderhalf:PixelBarrelCable1Half"/> + <Translation x="[CableX]" y="[pixbarladder:Cable1Y]" z="-[pixbarladder:Cable1Z]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelCableBoxHalf"/> + <rChild name="pixbarladderhalf:PixelBarrelCable2Half"/> + <Translation x="[CableX]" y="[pixbarladder:Cable2Y]" z="[pixbarladder:Cable2Z]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbarladderhalf:PixelBarrelCableBoxHalf"/> + <rChild name="pixbarladderhalf:PixelBarrelCable2Half"/> + <Translation x="[CableX]" y="[pixbarladder:Cable2Y]" z="-[pixbarladder:Cable2Z]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelCableBoxHalf"/> + <rChild name="pixbarladderhalf:PixelBarrelCable3Half"/> + <Translation x="[CableX]" y="[pixbarladder:Cable3Y]" z="[pixbarladder:Cable3Z]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbarladderhalf:PixelBarrelCableBoxHalf"/> + <rChild name="pixbarladderhalf:PixelBarrelCable3Half"/> + <Translation x="[CableX]" y="[pixbarladder:Cable3Y]" z="-[pixbarladder:Cable3Z]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelCableBoxHalf"/> + <rChild name="pixbarladderhalf:PixelBarrelCable4Half"/> + <Translation x="[CableX]" y="[pixbarladder:Cable4Y]" z="[pixbarladder:Cable4Z]"/> + </PosPart> + <PosPart copyNumber="2"> + <rParent name="pixbarladderhalf:PixelBarrelCableBoxHalf"/> + <rChild name="pixbarladderhalf:PixelBarrelCable4Half"/> + <Translation x="[CableX]" y="[pixbarladder:Cable4Y]" z="-[pixbarladder:Cable4Z]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelModuleHalfPlus"/> + <rChild name="pixbarladderhalf:PixelBarrelCapacitorHalf"/> + <Translation x="[pixbarladderhalf:CapacitorX]" y="[pixbarladderhalf:CapacitorY]" z="[pixbarladder:CapacitorZ]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelModuleHalfPlus"/> + <rChild name="pixbarladderhalf:PixelBarrelCapacitorStripHalf"/> + <Translation x="[pixbarladderhalf:CapacitorStripX]" y="[pixbarladderhalf:CapacitorStripY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelModuleHalfMinus"/> + <rChild name="pixbarladderhalf:PixelBarrelCapacitorHalf"/> + <Translation x="[pixbarladderhalf:CapacitorX]" y="[pixbarladderhalf:CapacitorY]" z="-[pixbarladder:CapacitorZ]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelModuleHalfMinus"/> + <rChild name="pixbarladderhalf:PixelBarrelCapacitorStripHalf"/> + <Translation x="[pixbarladderhalf:CapacitorStripX]" y="[pixbarladderhalf:CapacitorStripY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelModuleHalfMinus"/> + <rChild name="pixbarladderhalf:PixelBarrelTBMHalf"/> + <Translation x="[pixbarladderhalf:TBMchipX]" y="[pixbarladderhalf:TBMchipY]" z="[zero]"/> + </PosPart> + <PosPart copyNumber="1"> + <rParent name="pixbarladderhalf:PixelBarrelModuleHalfPlus"/> + <rChild name="pixbarladderhalf:PixelBarrelTBMHalf"/> + <Translation x="[pixbarladderhalf:TBMchipX]" y="[pixbarladderhalf:TBMchipY]" z="[zero]"/> + </PosPart> + </PosPartSection> + <Algorithm name="track:DDTrackerLinear"> + <rParent name="pixbarladderhalf:PixelBarrelModuleBoxHalf"/> + <String name="ChildName" value="pixbarladderhalf:PixelBarrelModuleHalfMinus"/> + <Numeric name="Number" value="[pixbarladder:ModulesPerSide]"/> + <Numeric name="Theta" value="0*deg"/> + <Numeric name="Phi" value="0*deg"/> + <Numeric name="Offset" value="[pixbarladder:ModuleZ]"/> + <Numeric name="Delta" value="[pixbarladder:ModuleDz]"/> + <String name="Rotation" value="pixbarladder:NULL"/> + <Vector name="Center" type="numeric" nEntries="3"> + [zero], [zero], [zero] </Vector> + </Algorithm> + <Algorithm name="track:DDTrackerLinear"> + <rParent name="pixbarladderhalf:PixelBarrelModuleBoxHalf"/> + <String name="ChildName" value="pixbarladderhalf:PixelBarrelModuleHalfPlus"/> + <Numeric name="Number" value="[pixbarladder:ModulesPerSide]"/> + <Numeric name="Theta" value="0*deg"/> + <Numeric name="Phi" value="0*deg"/> + <Numeric name="Offset" value="[pixbarladder:ModuleZ]+[pixbarladder:ModuleDz]*[pixbarladder:ModulesPerSide]"/> + <Numeric name="Delta" value="[pixbarladder:ModuleDz]"/> + <String name="Rotation" value="pixbarladder:NULL"/> + <Vector name="Center" type="numeric" nEntries="3"> + [zero], [zero], [zero] </Vector> + </Algorithm> +</DDDefinition> diff --git a/examples/DDCMS/data/pixbarlayer.xml b/examples/DDCMS/data/pixbarlayer.xml new file mode 100644 index 0000000000000000000000000000000000000000..257fc7323295ce4937b658d3e82c21850c575bb0 --- /dev/null +++ b/examples/DDCMS/data/pixbarlayer.xml @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../../DetectorDescription/Schema/DDLSchema.xsd"> + <ConstantsSection label="pixbarlayer.xml" eval="true"> + <Constant name="LayerDz" value="55.40*cm"/> + <Constant name="CoolDz" value="55.40*cm"/> + <Constant name="CoolSide" value="0.40*cm"/> + <Constant name="CoolThick" value="0.03*cm"/> + </ConstantsSection> +</DDDefinition> diff --git a/examples/DDCMS/data/pixbarlayer0.xml b/examples/DDCMS/data/pixbarlayer0.xml new file mode 100644 index 0000000000000000000000000000000000000000..8a93309c44c729158e79858c8a4a4c517e3befab --- /dev/null +++ b/examples/DDCMS/data/pixbarlayer0.xml @@ -0,0 +1,31 @@ +<?xml version="1.0"?> +<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../../DetectorDescription/Schema/DDLSchema.xsd"> + <ConstantsSection label="pixbarlayer0.xml" eval="true"> + <Constant name="Ladders" value="18"/> + <Constant name="CoolDist" value="4.4429*cm"/> + <Constant name="CoolWidth" value="0.3747*cm"/> + </ConstantsSection> + <Algorithm name="track:DDPixBarLayerAlgo"> + <rParent name="pixbarlayer0:PixelBarrelLayer0"/> + <String name="GeneralMaterial" value="materials:Air"/> + <Numeric name="Ladders" value="[pixbarlayer0:Ladders]"/> + <Numeric name="LayerDz" value="[pixbarlayer:LayerDz]"/> + <Numeric name="SensorEdge" value="[pixbarladderhalf:SensorEdge]"/> + <Numeric name="CoolDz" value="[pixbarlayer:CoolDz]"/> + <Numeric name="CoolWidth" value="[pixbarlayer0:CoolWidth]"/> + <Numeric name="CoolSide" value="[pixbarlayer:CoolSide]"/> + <Numeric name="CoolThick" value="[pixbarlayer:CoolThick]"/> + <Numeric name="CoolDist" value="[pixbarlayer0:CoolDist]"/> + <String name="CoolMaterial" value="trackermaterial:T_C6F14_F2_-20C"/> + <String name="CoolTubeMaterial" value="trackermaterial:T_Aluminium"/> + <Vector name="LadderName" type="string" nEntries="2"> + pixbarladderfull:PixelBarrelLadderFull, + pixbarladderhalf:PixelBarrelLadderHalf</Vector> + <Vector name="LadderWidth" type="numeric" nEntries="2"> + [pixbarladderfull:LadderWidth], [pixbarladderhalf:LadderWidth] + </Vector> + <Vector name="LadderThick" type="numeric" nEntries="2"> + [pixbarladderfull:LadderThick], [pixbarladderhalf:LadderThick] + </Vector> + </Algorithm> +</DDDefinition> diff --git a/examples/DDCMS/data/pixbarlayer1.xml b/examples/DDCMS/data/pixbarlayer1.xml new file mode 100644 index 0000000000000000000000000000000000000000..b02d3ec1d149fda4c351b267c03988f4db1ab8e8 --- /dev/null +++ b/examples/DDCMS/data/pixbarlayer1.xml @@ -0,0 +1,31 @@ +<?xml version="1.0"?> +<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../../DetectorDescription/Schema/DDLSchema.xsd"> + <ConstantsSection label="pixbarlayer1.xml" eval="true"> + <Constant name="Ladders" value="30"/> + <Constant name="CoolDist" value="7.32575*cm"/> + <Constant name="CoolWidth" value="0.3432*cm"/> + </ConstantsSection> + <Algorithm name="track:DDPixBarLayerAlgo"> + <rParent name="pixbarlayer1:PixelBarrelLayer1"/> + <String name="GeneralMaterial" value="materials:Air"/> + <Numeric name="Ladders" value="[pixbarlayer1:Ladders]"/> + <Numeric name="LayerDz" value="[pixbarlayer:LayerDz]"/> + <Numeric name="SensorEdge" value="[pixbarladderhalf:SensorEdge]"/> + <Numeric name="CoolDz" value="[pixbarlayer:CoolDz]"/> + <Numeric name="CoolWidth" value="[pixbarlayer1:CoolWidth]"/> + <Numeric name="CoolSide" value="[pixbarlayer:CoolSide]"/> + <Numeric name="CoolThick" value="[pixbarlayer:CoolThick]"/> + <Numeric name="CoolDist" value="[pixbarlayer1:CoolDist]"/> + <String name="CoolMaterial" value="trackermaterial:T_C6F14_F2_-20C"/> + <String name="CoolTubeMaterial" value="trackermaterial:T_Aluminium"/> + <Vector name="LadderName" type="string" nEntries="2"> + pixbarladderfull:PixelBarrelLadderFull, + pixbarladderhalf:PixelBarrelLadderHalf</Vector> + <Vector name="LadderWidth" type="numeric" nEntries="2"> + [pixbarladderfull:LadderWidth], [pixbarladderhalf:LadderWidth] + </Vector> + <Vector name="LadderThick" type="numeric" nEntries="2"> + [pixbarladderfull:LadderThick], [pixbarladderhalf:LadderThick] + </Vector> + </Algorithm> +</DDDefinition> diff --git a/examples/DDCMS/data/pixbarlayer2.xml b/examples/DDCMS/data/pixbarlayer2.xml new file mode 100644 index 0000000000000000000000000000000000000000..f57b7d15d83c768dd361ddf97246b47e019a2a5f --- /dev/null +++ b/examples/DDCMS/data/pixbarlayer2.xml @@ -0,0 +1,31 @@ +<?xml version="1.0"?> +<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../../DetectorDescription/Schema/DDLSchema.xsd"> + <ConstantsSection label="pixbarlayer2.xml" eval="true"> + <Constant name="Ladders" value="42"/> + <Constant name="CoolDist" value="10.1853*cm"/> + <Constant name="CoolWidth" value="0.3283*cm"/> + </ConstantsSection> + <Algorithm name="track:DDPixBarLayerAlgo"> + <rParent name="pixbarlayer2:PixelBarrelLayer2"/> + <String name="GeneralMaterial" value="materials:Air"/> + <Numeric name="Ladders" value="[pixbarlayer2:Ladders]"/> + <Numeric name="LayerDz" value="[pixbarlayer:LayerDz]"/> + <Numeric name="SensorEdge" value="[pixbarladderhalf:SensorEdge]"/> + <Numeric name="CoolDz" value="[pixbarlayer:CoolDz]"/> + <Numeric name="CoolWidth" value="[pixbarlayer2:CoolWidth]"/> + <Numeric name="CoolSide" value="[pixbarlayer:CoolSide]"/> + <Numeric name="CoolThick" value="[pixbarlayer:CoolThick]"/> + <Numeric name="CoolDist" value="[pixbarlayer2:CoolDist]"/> + <String name="CoolMaterial" value="trackermaterial:T_C6F14_F2_-20C"/> + <String name="CoolTubeMaterial" value="trackermaterial:T_Aluminium"/> + <Vector name="LadderName" type="string" nEntries="2"> + pixbarladderfull:PixelBarrelLadderFull, + pixbarladderhalf:PixelBarrelLadderHalf</Vector> + <Vector name="LadderWidth" type="numeric" nEntries="2"> + [pixbarladderfull:LadderWidth], [pixbarladderhalf:LadderWidth] + </Vector> + <Vector name="LadderThick" type="numeric" nEntries="2"> + [pixbarladderfull:LadderThick], [pixbarladderhalf:LadderThick] + </Vector> + </Algorithm> +</DDDefinition> diff --git a/examples/DDCMS/data/pixbarmaterial.xml b/examples/DDCMS/data/pixbarmaterial.xml new file mode 100644 index 0000000000000000000000000000000000000000..2619b1648c9ae66e293ff9fab1ed4d37267af23c --- /dev/null +++ b/examples/DDCMS/data/pixbarmaterial.xml @@ -0,0 +1,455 @@ +<?xml version="1.0"?> +<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../../DetectorDescription/Schema/DDLSchema.xsd"> + <MaterialSection label="pixbarmaterial.xml"> + <CompositeMaterial name="Polyoxymethylene" density="1.4*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.4"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.06667"> + <rMaterial name="materials:Hydrogen" /> + </MaterialFraction> + <MaterialFraction fraction="0.5333"> + <rMaterial name="materials:Oxygen" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="BPix_Silicone" density="1.3*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.3787448"> + <rMaterial name="materials:Silicon" /> + </MaterialFraction> + <MaterialFraction fraction="0.21575329"> + <rMaterial name="materials:Oxygen" /> + </MaterialFraction> + <MaterialFraction fraction="0.3239468"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.08155498"> + <rMaterial name="materials:Hydrogen" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="LCP_Glass_Enforced" density="2.0*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.08"> + <rMaterial name="materials:Silicon" /> + </MaterialFraction> + <MaterialFraction fraction="0.52"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.39"> + <rMaterial name="materials:Oxygen" /> + </MaterialFraction> + <MaterialFraction fraction="0.01"> + <rMaterial name="materials:Hydrogen" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Silicon_Nitride" density="3.4*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.6006"> + <rMaterial name="materials:Silicon" /> + </MaterialFraction> + <MaterialFraction fraction="0.3994"> + <rMaterial name="materials:Nitrogen" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pix_Bar_Baseplate_Full" density="3.67256*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.75244"> + <rMaterial name="pixbarmaterial:Silicon_Nitride" /> + </MaterialFraction> + <MaterialFraction fraction="0.15186"> + <rMaterial name="materials:Steel-008" /> + </MaterialFraction> + <MaterialFraction fraction="0.04271"> + <rMaterial name="trackermaterial:T_Silicone_Gel" /> + </MaterialFraction> + <MaterialFraction fraction="0.05299"> + <rMaterial name="materials:Epoxy" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pix_Bar_Baseplate_Half" density="3.18369*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.86861"> + <rMaterial name="pixbarmaterial:Silicon_Nitride" /> + </MaterialFraction> + <MaterialFraction fraction="0.06085"> + <rMaterial name="materials:Steel-008" /> + </MaterialFraction> + <MaterialFraction fraction="0.04931"> + <rMaterial name="trackermaterial:T_Silicone_Gel" /> + </MaterialFraction> + <MaterialFraction fraction="0.02123"> + <rMaterial name="materials:Epoxy" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pix_Bar_Hybrid_Full" density="4.41590*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.0063"> + <rMaterial name="materials:Indium" /> + </MaterialFraction> + <MaterialFraction fraction="0.09358"> + <rMaterial name="materials:Lead" /> + </MaterialFraction> + <MaterialFraction fraction="0.05034"> + <rMaterial name="materials:Nickel" /> + </MaterialFraction> + <MaterialFraction fraction="0.3217"> + <rMaterial name="materials:T_Kapton" /> + </MaterialFraction> + <MaterialFraction fraction="0.02405"> + <rMaterial name="materials:Gold" /> + </MaterialFraction> + <MaterialFraction fraction="0.04379"> + <rMaterial name="materials:Epoxy" /> + </MaterialFraction> + <MaterialFraction fraction="0.1596"> + <rMaterial name="materials:Tin" /> + </MaterialFraction> + <MaterialFraction fraction="0.23875"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.00379"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.00741"> + <rMaterial name="materials:Alumina" /> + </MaterialFraction> + <MaterialFraction fraction="0.0507"> + <rMaterial name="trackermaterial:T_Barium_Titanate" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pix_Bar_Hybrid_Half" density="5.70663*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.00443"> + <rMaterial name="materials:Indium" /> + </MaterialFraction> + <MaterialFraction fraction="0.1322"> + <rMaterial name="materials:Lead" /> + </MaterialFraction> + <MaterialFraction fraction="0.03912"> + <rMaterial name="materials:Nickel" /> + </MaterialFraction> + <MaterialFraction fraction="0.24865"> + <rMaterial name="materials:T_Kapton" /> + </MaterialFraction> + <MaterialFraction fraction="0.0185"> + <rMaterial name="materials:Gold" /> + </MaterialFraction> + <MaterialFraction fraction="0.06187"> + <rMaterial name="materials:Epoxy" /> + </MaterialFraction> + <MaterialFraction fraction="0.22547"> + <rMaterial name="materials:Tin" /> + </MaterialFraction> + <MaterialFraction fraction="0.00267"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.185"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.01047"> + <rMaterial name="materials:Alumina" /> + </MaterialFraction> + <MaterialFraction fraction="0.07162"> + <rMaterial name="trackermaterial:T_Barium_Titanate" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pix_Bar_Capacitor" density="2.22277*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1"> + <rMaterial name="trackermaterial:T_Barium_Titanate" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Pix_Bar_Cool" density="1.95447*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.61432"> + <rMaterial name="materials:C6F14_F2_-10C" /> + </MaterialFraction> + <MaterialFraction fraction="0.38568"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pix_Bar_Cable" density="1.67629*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.43796"> + <rMaterial name="materials:T_Kapton" /> + </MaterialFraction> + <MaterialFraction fraction="0.02339"> + <rMaterial name="materials:Gold" /> + </MaterialFraction> + <MaterialFraction fraction="0.19088"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.34777"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Flange_with_Manifold_Layer1" density="6.001116*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.1636"> + <rMaterial name="trackermaterial:T_FR4" /> + </MaterialFraction> + <MaterialFraction fraction="0.25809"> + <rMaterial name="materials:C6F14_F2_-10C" /> + </MaterialFraction> + <MaterialFraction fraction="0.23898"> + <rMaterial name="materials:Steel-008" /> + </MaterialFraction> + <MaterialFraction fraction="0.12917"> + <rMaterial name="trackermaterial:T_CarbonFibreStr" /> + </MaterialFraction> + <MaterialFraction fraction="0.19713"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.01304"> + <rMaterial name="trackermaterial:T_Nomex" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Flange_with_Manifold_Layer2" density="6.415752*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.14778"> + <rMaterial name="trackermaterial:T_FR4" /> + </MaterialFraction> + <MaterialFraction fraction="0.28678"> + <rMaterial name="materials:C6F14_F2_-10C" /> + </MaterialFraction> + <MaterialFraction fraction="0.20276"> + <rMaterial name="materials:Steel-008" /> + </MaterialFraction> + <MaterialFraction fraction="0.15657"> + <rMaterial name="trackermaterial:T_CarbonFibreStr" /> + </MaterialFraction> + <MaterialFraction fraction="0.18269"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.02342"> + <rMaterial name="trackermaterial:T_Nomex" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FlangeInner_with_Manifold_Layer3" density="5.8872*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.10879"> + <rMaterial name="trackermaterial:T_FR4" /> + </MaterialFraction> + <MaterialFraction fraction="0.35422"> + <rMaterial name="materials:C6F14_F2_-10C" /> + </MaterialFraction> + <MaterialFraction fraction="0.36829"> + <rMaterial name="materials:Steel-008" /> + </MaterialFraction> + <MaterialFraction fraction="0.16871"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FlangeOuter_Layer3" density="0.517704*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.11657"> + <rMaterial name="trackermaterial:T_FR4" /> + </MaterialFraction> + <MaterialFraction fraction="0.87067"> + <rMaterial name="trackermaterial:T_CarbonFibreStr" /> + </MaterialFraction> + <MaterialFraction fraction="0.00339"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.00938"> + <rMaterial name="materials:Air" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="cable_endring_to_tube" density="2.331588*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.10301"> + <rMaterial name="materials:T_Kapton" /> + </MaterialFraction> + <MaterialFraction fraction="0.15922"> + <rMaterial name="pixfwdMaterials:FPix_Silicone" /> + </MaterialFraction> + <MaterialFraction fraction="0.06696"> + <rMaterial name="materials:Steel-008" /> + </MaterialFraction> + <MaterialFraction fraction="0.04431"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_Noryl" /> + </MaterialFraction> + <MaterialFraction fraction="0.02972"> + <rMaterial name="materials:Epoxy" /> + </MaterialFraction> + <MaterialFraction fraction="0.40314"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.19365"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Layer1_2_EndringPrints" density="1.402032*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.01765"> + <rMaterial name="materials:Lead" /> + </MaterialFraction> + <MaterialFraction fraction="0.23843"> + <rMaterial name="pixbarmaterial:LCP_Glass_Enforced" /> + </MaterialFraction> + <MaterialFraction fraction="0.3061"> + <rMaterial name="trackermaterial:T_FR4" /> + </MaterialFraction> + <MaterialFraction fraction="0.00657"> + <rMaterial name="materials:Steel-008" /> + </MaterialFraction> + <MaterialFraction fraction="0.01658"> + <rMaterial name="materials:Tin" /> + </MaterialFraction> + <MaterialFraction fraction="0.41468"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Layer3_EndringPrints" density="1.303776*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.01766"> + <rMaterial name="materials:Lead" /> + </MaterialFraction> + <MaterialFraction fraction="0.238"> + <rMaterial name="pixbarmaterial:LCP_Glass_Enforced" /> + </MaterialFraction> + <MaterialFraction fraction="0.30544"> + <rMaterial name="trackermaterial:T_FR4" /> + </MaterialFraction> + <MaterialFraction fraction="0.00789"> + <rMaterial name="materials:Steel-008" /> + </MaterialFraction> + <MaterialFraction fraction="0.01706"> + <rMaterial name="materials:Tin" /> + </MaterialFraction> + <MaterialFraction fraction="0.41396"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="silicone_pipes_plus_coolant" density="0.31236*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.53007"> + <rMaterial name="materials:C6F14_F2_-10C" /> + </MaterialFraction> + <MaterialFraction fraction="0.46993"> + <rMaterial name="pixbarmaterial:BPix_Silicone" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="SectorA" density="0.47813*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.10443"> + <rMaterial name="materials:C6F14_F2_-10C" /> + </MaterialFraction> + <MaterialFraction fraction="0.00283"> + <rMaterial name="pixbarmaterial:Polyoxymethylene" /> + </MaterialFraction> + <MaterialFraction fraction="0.20588"> + <rMaterial name="trackermaterial:T_FR4" /> + </MaterialFraction> + <MaterialFraction fraction="0.08188"> + <rMaterial name="materials:Acrylate" /> + </MaterialFraction> + <MaterialFraction fraction="0.11064"> + <rMaterial name="materials:Steel-008" /> + </MaterialFraction> + <MaterialFraction fraction="0.0145"> + <rMaterial name="materials:Brass" /> + </MaterialFraction> + <MaterialFraction fraction="0.10724"> + <rMaterial name="materials:Epoxy" /> + </MaterialFraction> + <MaterialFraction fraction="0.00283"> + <rMaterial name="pixfwdMaterials:FPix_TinLeadSolder" /> + </MaterialFraction> + <MaterialFraction fraction="0.01613"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.19232"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.1272"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_Polyester" /> + </MaterialFraction> + <MaterialFraction fraction="0.009"> + <rMaterial name="materials:Polyvinylchloride" /> + </MaterialFraction> + <MaterialFraction fraction="0.02513"> + <rMaterial name="trackermaterial:T_Nomex" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="SectorB" density="1.049454*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.19011"> + <rMaterial name="materials:C6F14_F2_-10C" /> + </MaterialFraction> + <MaterialFraction fraction="0.00494"> + <rMaterial name="pixbarmaterial:Polyoxymethylene" /> + </MaterialFraction> + <MaterialFraction fraction="0.1187"> + <rMaterial name="trackermaterial:T_FR4" /> + </MaterialFraction> + <MaterialFraction fraction="0.14233"> + <rMaterial name="materials:Acrylate" /> + </MaterialFraction> + <MaterialFraction fraction="0.0512"> + <rMaterial name="materials:Steel-008" /> + </MaterialFraction> + <MaterialFraction fraction="0.18915"> + <rMaterial name="materials:Epoxy" /> + </MaterialFraction> + <MaterialFraction fraction="0.06486"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.17137"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.05152"> + <rMaterial name="materials:Polyvinylchloride" /> + </MaterialFraction> + <MaterialFraction fraction="0.01581"> + <rMaterial name="trackermaterial:T_Nomex" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="SectorC" density="1.375654*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.14778"> + <rMaterial name="materials:C6F14_F2_-10C" /> + </MaterialFraction> + <MaterialFraction fraction="0.0139"> + <rMaterial name="pixbarmaterial:Polyoxymethylene" /> + </MaterialFraction> + <MaterialFraction fraction="0.22693"> + <rMaterial name="trackermaterial:T_FR4" /> + </MaterialFraction> + <MaterialFraction fraction="0.11069"> + <rMaterial name="materials:Acrylate" /> + </MaterialFraction> + <MaterialFraction fraction="0.03989"> + <rMaterial name="materials:Steel-008" /> + </MaterialFraction> + <MaterialFraction fraction="0.14938"> + <rMaterial name="materials:Epoxy" /> + </MaterialFraction> + <MaterialFraction fraction="0.01005"> + <rMaterial name="pixfwdMaterials:FPix_TinLeadSolder" /> + </MaterialFraction> + <MaterialFraction fraction="0.06396"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.20077"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.02082"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_Polyester" /> + </MaterialFraction> + <MaterialFraction fraction="0.00319"> + <rMaterial name="materials:Polyvinylchloride" /> + </MaterialFraction> + <MaterialFraction fraction="0.01264"> + <rMaterial name="trackermaterial:T_Nomex" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="PixelBarrelSupTubCables" density="2.25064*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.09162"> + <rMaterial name="materials:C6F14_F2_-10C" /> + </MaterialFraction> + <MaterialFraction fraction="0.14907"> + <rMaterial name="materials:Steel-008" /> + </MaterialFraction> + <MaterialFraction fraction="0.28441"> + <rMaterial name="materials:Polyethylene" /> + </MaterialFraction> + <MaterialFraction fraction="0.4749"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="PixelBarrelSupTubCables2" density="0.61235*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.09162"> + <rMaterial name="materials:C6F14_F2_-10C" /> + </MaterialFraction> + <MaterialFraction fraction="0.14907"> + <rMaterial name="materials:Steel-008" /> + </MaterialFraction> + <MaterialFraction fraction="0.28441"> + <rMaterial name="materials:Polyethylene" /> + </MaterialFraction> + <MaterialFraction fraction="0.4749"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + </CompositeMaterial> + </MaterialSection> +</DDDefinition> diff --git a/examples/DDCMS/data/pixfwdMaterials.xml b/examples/DDCMS/data/pixfwdMaterials.xml new file mode 100644 index 0000000000000000000000000000000000000000..b450254d8c7637f8acb78510c482fd10f22b69a7 --- /dev/null +++ b/examples/DDCMS/data/pixfwdMaterials.xml @@ -0,0 +1,380 @@ +<?xml version="1.0"?> +<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../../DetectorDescription/Schema/DDLSchema.xsd"> + <MaterialSection label="pixfwdMaterials.xml"> + <CompositeMaterial name="FPix_Alumina" density="3.96*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.52924272"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.47075728"> + <rMaterial name="materials:Oxygen" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FPix_TinLeadSolder" density="8.8*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.49377422"> + <rMaterial name="materials:Tin" /> + </MaterialFraction> + <MaterialFraction fraction="0.50622577"> + <rMaterial name="materials:Lead" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FPix_Epoxy" density="1.1*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.7367217"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.0529922"> + <rMaterial name="materials:Hydrogen" /> + </MaterialFraction> + <MaterialFraction fraction="0.21028601"> + <rMaterial name="materials:Oxygen" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FPix_BNPowder" density="3.5*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.4356165"> + <rMaterial name="materials:Bor 11" /> + </MaterialFraction> + <MaterialFraction fraction="0.564383"> + <rMaterial name="materials:Nitrogen" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FPix_Silicone" density="1.3*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.3787448"> + <rMaterial name="materials:Silicon" /> + </MaterialFraction> + <MaterialFraction fraction="0.21575329"> + <rMaterial name="materials:Oxygen" /> + </MaterialFraction> + <MaterialFraction fraction="0.3239468"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.08155498"> + <rMaterial name="materials:Hydrogen" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FPix_Kapton" density="1.4*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.6911352"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.026363"> + <rMaterial name="materials:Hydrogen" /> + </MaterialFraction> + <MaterialFraction fraction="0.20923002"> + <rMaterial name="materials:Oxygen" /> + </MaterialFraction> + <MaterialFraction fraction="0.0732717"> + <rMaterial name="materials:Nitrogen" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FPix_Cylind_CF" density="1.495*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.7498836"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.05034303"> + <rMaterial name="materials:Hydrogen" /> + </MaterialFraction> + <MaterialFraction fraction="0.1997733"> + <rMaterial name="materials:Oxygen" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FPix_Cylind_G10" density="1.7*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.58320025"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.04194946"> + <rMaterial name="materials:Hydrogen" /> + </MaterialFraction> + <MaterialFraction fraction="0.27744272"> + <rMaterial name="materials:Oxygen" /> + </MaterialFraction> + <MaterialFraction fraction="0.09740755"> + <rMaterial name="materials:Silicon" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FPix_Cylind_SnCu" density="8.86*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.08950548"> + <rMaterial name="materials:Tin" /> + </MaterialFraction> + <MaterialFraction fraction="0.91049451"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FPix_Cylind_POLIAX" density="1.27*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.74992040"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.04082067"> + <rMaterial name="materials:Hydrogen" /> + </MaterialFraction> + <MaterialFraction fraction="0.16198633"> + <rMaterial name="materials:Oxygen" /> + </MaterialFraction> + <MaterialFraction fraction="0.04727259"> + <rMaterial name="materials:Nitrogen" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FPix_Cylind_Polyester" density="1.4*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.492"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.065"> + <rMaterial name="materials:Hydrogen" /> + </MaterialFraction> + <MaterialFraction fraction="0.263"> + <rMaterial name="materials:Oxygen" /> + </MaterialFraction> + <MaterialFraction fraction="0.091"> + <rMaterial name="materials:Chlorine" /> + </MaterialFraction> + <MaterialFraction fraction="0.089"> + <rMaterial name="materials:Antimony" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FPix_Cylind_Noryl" density="1.08*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.7997302"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.06711181"> + <rMaterial name="materials:Hydrogen" /> + </MaterialFraction> + <MaterialFraction fraction="0.1331579"> + <rMaterial name="materials:Oxygen" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="FPix_Cylind_PMMA" density="1.2*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.59985105"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.080541353"> + <rMaterial name="materials:Hydrogen" /> + </MaterialFraction> + <MaterialFraction fraction="0.31960759"> + <rMaterial name="materials:Oxygen" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pix_Fwd_Bump" density="0.41391*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1.00"> + <rMaterial name="pixfwdMaterials:FPix_TinLeadSolder" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pix_Fwd_AgEpoxy" density="1.60005*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.09823"> + <rMaterial name="pixfwdMaterials:FPix_Epoxy" /> + </MaterialFraction> + <MaterialFraction fraction="0.31254"> + <rMaterial name="pixfwdMaterials:FPix_BNPowder" /> + </MaterialFraction> + <MaterialFraction fraction="0.46422"> + <rMaterial name="pixfwdMaterials:FPix_Silicone" /> + </MaterialFraction> + <MaterialFraction fraction="0.12502"> + <rMaterial name="pixfwdMaterials:FPix_Kapton" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pix_Fwd_AdhFilm" density="1.57984*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.55706"> + <rMaterial name="pixfwdMaterials:FPix_Epoxy" /> + </MaterialFraction> + <MaterialFraction fraction="0.44294"> + <rMaterial name="pixfwdMaterials:FPix_BNPowder" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pix_Fwd_VHDI" density="3.10741*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.34454"> + <rMaterial name="pixfwdMaterials:FPix_Kapton" /> + </MaterialFraction> + <MaterialFraction fraction="0.58810"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.04589"> + <rMaterial name="trackermaterial:T_Barium_Titanate" /> + </MaterialFraction> + <MaterialFraction fraction="0.02147"> + <rMaterial name="pixfwdMaterials:FPix_TinLeadSolder" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pix_Fwd_ROChip" density="2.33*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1"> + <rMaterial name="materials:Silicon" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pix_Fwd_HDI" density="2.23694*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.3718"> + <rMaterial name="pixfwdMaterials:FPix_Kapton" /> + </MaterialFraction> + <MaterialFraction fraction="0.13869"> + <rMaterial name="pixfwdMaterials:FPix_Epoxy" /> + </MaterialFraction> + <MaterialFraction fraction="0.42221"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.00315"> + <rMaterial name="trackermaterial:T_Barium_Titanate" /> + </MaterialFraction> + <MaterialFraction fraction="0.00240"> + <rMaterial name="pixfwdMaterials:FPix_Alumina" /> + </MaterialFraction> + <MaterialFraction fraction="0.04968"> + <rMaterial name="pixfwdMaterials:FPix_TinLeadSolder" /> + </MaterialFraction> + <MaterialFraction fraction="0.01206"> + <rMaterial name="materials:Indium" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="PixelForwardCoolant" density="1.79*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.213189"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.7868109"> + <rMaterial name="materials:Fluorine" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Aluminium_OuterRing" density="1.82*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1.0"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Aluminium_InnerRing" density="1.92*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1.0"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pix_Fwd_Servi_Cylind" density="0.20113*g/cm3" method="mixture by weight" pork="true" symbol=" "> + <MaterialFraction fraction="0.96427"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_CF" /> + </MaterialFraction> + <MaterialFraction fraction="0.02453"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_G10" /> + </MaterialFraction> + <MaterialFraction fraction="0.00899"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.00220"> + <rMaterial name="materials:Ceramic" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pix_Fwd_End_Flange" density="1.66566*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.75148"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.14202"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_SnCu" /> + </MaterialFraction> + <MaterialFraction fraction="0.06477"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_POLIAX" /> + </MaterialFraction> + <MaterialFraction fraction="0.04173"> + <rMaterial name="pixfwdMaterials:PixelForwardCoolant" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pix_Fwd_End_Electro_1" density="0.29369*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.34432"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_SnCu" /> + </MaterialFraction> + <MaterialFraction fraction="0.33033"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_G10" /> + </MaterialFraction> + <MaterialFraction fraction="0.14807"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_POLIAX" /> + </MaterialFraction> + <MaterialFraction fraction="0.10279"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_CF" /> + </MaterialFraction> + <MaterialFraction fraction="0.05357"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.02093"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_Polyester" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pix_Fwd_End_Electro_2" density="0.27714*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.35884"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_SnCu" /> + </MaterialFraction> + <MaterialFraction fraction="0.338"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_G10" /> + </MaterialFraction> + <MaterialFraction fraction="0.14496"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_POLIAX" /> + </MaterialFraction> + <MaterialFraction fraction="0.10459"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_CF" /> + </MaterialFraction> + <MaterialFraction fraction="0.03299"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.02062"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_Polyester" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pix_Fwd_End_Coil_Fiber" density="0.19983*g/cm3" method="mixture by weight" pork="true" symbol=" "> + <MaterialFraction fraction="0.55642"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_Polyester" /> + </MaterialFraction> + <MaterialFraction fraction="0.27369"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_POLIAX" /> + </MaterialFraction> + <MaterialFraction fraction="0.09910"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_G10" /> + </MaterialFraction> + <MaterialFraction fraction="0.04960"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_Noryl" /> + </MaterialFraction> + <MaterialFraction fraction="0.02120"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_PMMA" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pix_Fwd_End_Pipe_1" density="2.87036*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.47886"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_SnCu" /> + </MaterialFraction> + <MaterialFraction fraction="0.27978"> + <rMaterial name="pixfwdMaterials:PixelForwardCoolant" /> + </MaterialFraction> + <MaterialFraction fraction="0.15973"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.08163"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_POLIAX" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pix_Fwd_End_Pipe_2" density="3.05434*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.48346"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_SnCu" /> + </MaterialFraction> + <MaterialFraction fraction="0.25159"> + <rMaterial name="pixfwdMaterials:PixelForwardCoolant" /> + </MaterialFraction> + <MaterialFraction fraction="0.18305"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.08190"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_POLIAX" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Pix_Fwd_Port_Cards" density="1.2278*g/cm3" method="mixture by weight" pork="true" symbol=" "> + <MaterialFraction fraction="0.54216"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_G10" /> + </MaterialFraction> + <MaterialFraction fraction="0.24179"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.11334"> + <rMaterial name="pixfwdMaterials:FPix_Kapton" /> + </MaterialFraction> + <MaterialFraction fraction="0.04121"> + <rMaterial name="pixfwdMaterials:FPix_Cylind_Polyester" /> + </MaterialFraction> + <MaterialFraction fraction="0.02159"> + <rMaterial name="pixfwdMaterials:FPix_TinLeadSolder" /> + </MaterialFraction> + <MaterialFraction fraction="0.01943"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.01477"> + <rMaterial name="trackermaterial:T_Barium_Titanate" /> + </MaterialFraction> + <MaterialFraction fraction="0.00572"> + <rMaterial name="materials:Silicon" /> + </MaterialFraction> + </CompositeMaterial> + </MaterialSection> +</DDDefinition> diff --git a/examples/DDCMS/data/trackermaterial.xml b/examples/DDCMS/data/trackermaterial.xml new file mode 100644 index 0000000000000000000000000000000000000000..5147bf314dae16d6e80e48c2bf2c13738fedbf2b --- /dev/null +++ b/examples/DDCMS/data/trackermaterial.xml @@ -0,0 +1,504 @@ +<?xml version="1.0"?> +<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../../DetectorDescription/Schema/DDLSchema.xsd"> + <MaterialSection label="trackermaterial.xml"> + <CompositeMaterial name="T_Barium_Titanate" density="6.02*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Barium_Titanate" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Aluminium" density="2.7*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Aluminium" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Beryllium" density="1.848*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Beryllium" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_C6F14_F2_-30C" density="1.87917*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:C6F14" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_C6F14_F2_-20C" density="1.84675*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:C6F14" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_CarbonFibreStr" density="1.69*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Carbon fibre str." /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Copper" density="8.96*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Copper" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_CuNi" density="8.94*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:CuNi" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Kevlar" density="1.44*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Kevlar" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Nomex" density="32*mg/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Nomex" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Rohacell" density="52*mg/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Rohacell" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_FR4" density="1.7*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.18077359"> + <rMaterial name="materials:Silicon" /> + </MaterialFraction> + <MaterialFraction fraction="0.4056325"> + <rMaterial name="materials:Oxygen" /> + </MaterialFraction> + <MaterialFraction fraction="0.27804208"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.068442752"> + <rMaterial name="materials:Hydrogen" /> + </MaterialFraction> + <MaterialFraction fraction="0.067109079"> + <rMaterial name="materials:Bromine" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_G10" density="1.9*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.13232243"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.032572448"> + <rMaterial name="materials:Hydrogen" /> + </MaterialFraction> + <MaterialFraction fraction="0.48316123"> + <rMaterial name="materials:Oxygen" /> + </MaterialFraction> + <MaterialFraction fraction="0.35194389"> + <rMaterial name="materials:Silicon" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Silicone_Gel" density="0.965*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:Silicone_Gel" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_StainlessSteel" density="8.02*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1.00000000"> + <rMaterial name="materials:StainlessSteel" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Fibre_Ribbon" density="1.219*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.16050082"> + <rMaterial name="materials:Silicon" /> + </MaterialFraction> + <MaterialFraction fraction="0.18283037"> + <rMaterial name="materials:Oxygen" /> + </MaterialFraction> + <MaterialFraction fraction="0.56229533"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.094373484"> + <rMaterial name="materials:Hydrogen" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="MS_Cu60" density="2.382*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.85086214"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.12770444"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.021433422"> + <rMaterial name="materials:Hydrogen" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="MS_cntrl_cable" density="1.63*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.74181259"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.22108188"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.037105532"> + <rMaterial name="materials:Hydrogen" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="TS_Cooling" density="1.62562*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.82993"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.17007"> + <rMaterial name="materials:C6F14_3M_-15C" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="TS_Shield" density="0.35161*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.60198"> + <rMaterial name="materials:Inconel600" /> + </MaterialFraction> + <MaterialFraction fraction="0.39802"> + <rMaterial name="materials:T_Kapton" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Optical_Fiber" density="1.08326*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.40031"> + <rMaterial name="materials:Polyethylene" /> + </MaterialFraction> + <MaterialFraction fraction="0.49827"> + <rMaterial name="materials:Acrylate" /> + </MaterialFraction> + <MaterialFraction fraction="0.06248"> + <rMaterial name="materials:Acrylate" /> + </MaterialFraction> + <MaterialFraction fraction="0.03895"> + <rMaterial name="materials:Silica" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_RuggRibbon" density="0.83457*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.67776"> + <rMaterial name="materials:Polyethylene" /> + </MaterialFraction> + <MaterialFraction fraction="0.13932"> + <rMaterial name="trackermaterial:T_Kevlar" /> + </MaterialFraction> + <MaterialFraction fraction="0.06569"> + <rMaterial name="materials:Acrylate" /> + </MaterialFraction> + <MaterialFraction fraction="0.04524"> + <rMaterial name="materials:Silica" /> + </MaterialFraction> + <MaterialFraction fraction="0.07199"> + <rMaterial name="materials:Acrylate" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="T_Ribbon12xMUConn" density="0.86000*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.78488"> + <rMaterial name="materials:Polyethylene" /> + </MaterialFraction> + <MaterialFraction fraction="0.18412"> + <rMaterial name="materials:Ceramic" /> + </MaterialFraction> + <MaterialFraction fraction="0.01163"> + <rMaterial name="materials:Polyethylene" /> + </MaterialFraction> + <MaterialFraction fraction="0.01937"> + <rMaterial name="materials:Iron" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="TOB_Ribbon12xMUConn" density="0.77667*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.7618"> + <rMaterial name="materials:Polyethylene" /> + </MaterialFraction> + <MaterialFraction fraction="0.20388"> + <rMaterial name="materials:Ceramic" /> + </MaterialFraction> + <MaterialFraction fraction="0.01287"> + <rMaterial name="materials:Polyethylene" /> + </MaterialFraction> + <MaterialFraction fraction="0.02145"> + <rMaterial name="materials:Iron" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="TOB_DOHM_PowerConn" density="3.73770*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.0271"> + <rMaterial name="materials:T_Kapton" /> + </MaterialFraction> + <MaterialFraction fraction="0.05322"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.13372"> + <rMaterial name="materials:Polyethylene" /> + </MaterialFraction> + <MaterialFraction fraction="0.78596"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="MS_Al36" density="1.403*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.379586"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.27524785"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.26823734"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.045019923"> + <rMaterial name="materials:Hydrogen" /> + </MaterialFraction> + <MaterialFraction fraction="0.03190889"> + <rMaterial name="materials:Silver" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="MS_Al48" density="1.373*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.40684004"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.25552552"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.26144891"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.043880579"> + <rMaterial name="materials:Hydrogen" /> + </MaterialFraction> + <MaterialFraction fraction="0.032304952"> + <rMaterial name="materials:Silver" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="MS_Al60" density="971*mg/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.43940244"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.22781143"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.25517545"> + <rMaterial name="materials:Carbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.042827665"> + <rMaterial name="materials:Hydrogen" /> + </MaterialFraction> + <MaterialFraction fraction="0.034783015"> + <rMaterial name="materials:Silver" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="MS_CntrlTIBTID" density="1.58489*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.44981"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.51013"> + <rMaterial name="materials:Polyethylene" /> + </MaterialFraction> + <MaterialFraction fraction="0.04006"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="CAB_Al60TIBTID" density="1.16581*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.30189"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.38768"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.22266"> + <rMaterial name="materials:Polyethylene" /> + </MaterialFraction> + <MaterialFraction fraction="0.02323"> + <rMaterial name="materials:T_Kapton" /> + </MaterialFraction> + <MaterialFraction fraction="0.06455"> + <rMaterial name="materials:Silver" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="CAB_Al60" density="1.37448*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.29872"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.35518"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.2691"> + <rMaterial name="materials:Polyethylene" /> + </MaterialFraction> + <MaterialFraction fraction="0.02224"> + <rMaterial name="materials:T_Kapton" /> + </MaterialFraction> + <MaterialFraction fraction="0.05475"> + <rMaterial name="materials:Silver" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="CAB_Al48" density="1.14748*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.31894"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.32994"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.28131"> + <rMaterial name="materials:Polyethylene" /> + </MaterialFraction> + <MaterialFraction fraction="0.02411"> + <rMaterial name="materials:T_Kapton" /> + </MaterialFraction> + <MaterialFraction fraction="0.0457"> + <rMaterial name="materials:Silver" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="CAB_Al36" density="1.06783*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.32521"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.31456"> + <rMaterial name="trackermaterial:T_Aluminium" /> + </MaterialFraction> + <MaterialFraction fraction="0.29435"> + <rMaterial name="materials:Polyethylene" /> + </MaterialFraction> + <MaterialFraction fraction="0.02564"> + <rMaterial name="materials:T_Kapton" /> + </MaterialFraction> + <MaterialFraction fraction="0.04024"> + <rMaterial name="materials:Silver" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="TS_PowerCable" density="4.02080*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.10028"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.89972"> + <rMaterial name="materials:Polyethylene" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="TS_SignalCable" density="3.13035*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.10018"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.89982"> + <rMaterial name="materials:Polyethylene" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Tk_Cables_PP1" density="2.07590*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.00998"> + <rMaterial name="trackermaterial:TS_PowerCable" /> + </MaterialFraction> + <MaterialFraction fraction="0.06704"> + <rMaterial name="materials:Steel-008" /> + </MaterialFraction> + <MaterialFraction fraction="0"> + <rMaterial name="materials:C6F14_3M_-15C" /> + </MaterialFraction> + <MaterialFraction fraction="0.22783"> + <rMaterial name="trackermaterial:CAB_Al60" /> + </MaterialFraction> + <MaterialFraction fraction="0.01863"> + <rMaterial name="materials:Polyethylene" /> + </MaterialFraction> + <MaterialFraction fraction="0.13358"> + <rMaterial name="trackermaterial:T_C6F14_F2_-30C" /> + </MaterialFraction> + <MaterialFraction fraction="0.10686"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.08857"> + <rMaterial name="trackermaterial:T_RuggRibbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.12643"> + <rMaterial name="trackermaterial:CAB_Al48" /> + </MaterialFraction> + <MaterialFraction fraction="0.21136"> + <rMaterial name="trackermaterial:CAB_Al36" /> + </MaterialFraction> + <MaterialFraction fraction="0.00972"> + <rMaterial name="trackermaterial:TS_SignalCable" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Tk_Connectors_PP1" density="0.30245*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.22194"> + <rMaterial name="trackermaterial:CAB_Al36" /> + </MaterialFraction> + <MaterialFraction fraction="0.08451"> + <rMaterial name="trackermaterial:CAB_Al48" /> + </MaterialFraction> + <MaterialFraction fraction="0.27443"> + <rMaterial name="trackermaterial:CAB_Al60" /> + </MaterialFraction> + <MaterialFraction fraction="0.13535"> + <rMaterial name="trackermaterial:T_RuggRibbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.01331"> + <rMaterial name="trackermaterial:T_RuggRibbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.01320"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.22420"> + <rMaterial name="trackermaterial:T_C6F14_F2_-30C" /> + </MaterialFraction> + <MaterialFraction fraction="0.01676"> + <rMaterial name="trackermaterial:TS_PowerCable" /> + </MaterialFraction> + <MaterialFraction fraction="0.01631"> + <rMaterial name="trackermaterial:TS_SignalCable" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Tk_panels_mid1" density="1.17876*0.67*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1e-05"> + <rMaterial name="materials:Quartz" /> + </MaterialFraction> + <MaterialFraction fraction="0.08405"> + <rMaterial name="materials:Polyethylene" /> + </MaterialFraction> + <MaterialFraction fraction="0.84501"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + <MaterialFraction fraction="0.07094"> + <rMaterial name="materials:C6F14" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Tk_panels_mid1b" density="1.17876*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1e-05"> + <rMaterial name="materials:Quartz"/> + </MaterialFraction> + <MaterialFraction fraction="0.08405"> + <rMaterial name="materials:Polyethylene"/> + </MaterialFraction> + <MaterialFraction fraction="0.84501"> + <rMaterial name="trackermaterial:T_Copper"/> + </MaterialFraction> + <MaterialFraction fraction="0.07094"> + <rMaterial name="materials:C6F14"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Tk_panels_mid2" density="0.35866*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="1e-05"> + <rMaterial name="materials:Quartz" /> + </MaterialFraction> + <MaterialFraction fraction="0.14595"> + <rMaterial name="materials:T_Kapton" /> + </MaterialFraction> + <MaterialFraction fraction="0.11911"> + <rMaterial name="materials:Polyethylene" /> + </MaterialFraction> + <MaterialFraction fraction="0.73492"> + <rMaterial name="trackermaterial:T_Copper" /> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Tk_panels_up" density="0.221000*g/cm3" method="mixture by weight" symbol=" "> + <MaterialFraction fraction="0.281640"> + <rMaterial name="trackermaterial:CAB_Al36" /> + </MaterialFraction> + <MaterialFraction fraction="0.044540"> + <rMaterial name="trackermaterial:CAB_Al48" /> + </MaterialFraction> + <MaterialFraction fraction="0.058950"> + <rMaterial name="trackermaterial:CAB_Al60" /> + </MaterialFraction> + <MaterialFraction fraction="0.058290"> + <rMaterial name="trackermaterial:MS_cntrl_cable" /> + </MaterialFraction> + <MaterialFraction fraction="0.380440"> + <rMaterial name="trackermaterial:MS_Cu60" /> + </MaterialFraction> + <MaterialFraction fraction="0.013530"> + <rMaterial name="trackermaterial:Fibre_Ribbon" /> + </MaterialFraction> + <MaterialFraction fraction="0.026340"> + <rMaterial name="materials:Steel-008" /> + </MaterialFraction> + <MaterialFraction fraction="0.136270"> + <rMaterial name="materials:C6F14" /> + </MaterialFraction> + </CompositeMaterial> + </MaterialSection> +</DDDefinition> diff --git a/examples/DDCMS/data/vacuum.xml b/examples/DDCMS/data/vacuum.xml new file mode 100644 index 0000000000000000000000000000000000000000..1ca4a19f39acf06f23d64411e9c84de06126f97b --- /dev/null +++ b/examples/DDCMS/data/vacuum.xml @@ -0,0 +1,33 @@ +<?xml version="1.0"?> +<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../../DetectorDescription/Schema/DDLSchema.xsd"> + <MaterialSection> + <CompositeMaterial name="Air" density="1.214*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.7494"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.2369"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0129"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0008"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + <CompositeMaterial name="Vacuum" density="1e-10*mg/cm3" symbol=" " method="mixture by weight"> + <MaterialFraction fraction="0.7494"> + <rMaterial name="materials:Nitrogen"/> + </MaterialFraction> + <MaterialFraction fraction="0.2369"> + <rMaterial name="materials:Oxygen"/> + </MaterialFraction> + <MaterialFraction fraction="0.0129"> + <rMaterial name="materials:Argon"/> + </MaterialFraction> + <MaterialFraction fraction="0.0008"> + <rMaterial name="materials:Hydrogen"/> + </MaterialFraction> + </CompositeMaterial> + </MaterialSection> +</DDDefinition> diff --git a/examples/DDCMS/src/Example.cpp b/examples/DDCMS/src/Example.cpp new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391