Skip to content
Snippets Groups Projects
Commit ed7cf7b4 authored by Whitney Armstrong's avatar Whitney Armstrong
Browse files

Initial commit.

Static version of detectors.md. Will fix later.
parents
Branches
No related tags found
No related merge requests found
Pipeline #15012 failed
Showing
with 1098 additions and 0 deletions
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
package-lock.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Typescript v1 declaration files
typings/
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# dotenv environment variable files
.env*
# gatsby files
.cache/
public
# Mac files
.DS_Store
# Yarn
yarn-error.log
.pnp/
.pnp.js
# Yarn Integrity file
.yarn-integrity
image: eicweb.phy.anl.gov:4567/containers/eic_container/node:15.12
stages:
- build
- deploy
# http://docs.gitlab.com/ce/ci/yaml/README.html#cache
cache:
paths:
- node_modules/
pages:
stage: deploy
script:
#- wget https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/194563/artifacts/raw/doc/detector.md -O src/docs/detector.md
- npm install
- ./node_modules/.bin/gatsby build --prefix-paths
artifacts:
paths:
- public
retry:
max: 2
LICENSE 0 → 100644
MIT License
Copyright (c) 2020 Rocketseat
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
# ATHENA Detector Documentation
## Overview
This is primarily used for rendering the `<documentation>` tags in the compact description xml files.
The result of processing the compact detector description is accessed via a job artifact.
https://eicweb.phy.anl.gov/EIC/detectors/athena/-/jobs/194563/artifacts/raw/doc/detector.md
module.exports = {
pathPrefix : `/documentation/athena-detector`,
siteMetadata : {
siteTitle : `ATHENA Detector`,
defaultTitle : `ATHENA Detector`,
siteTitleShort : `ATHENA Detector`,
siteDescription : `ATHENA Detector documentation`,
siteUrl : `https://eic.phy.anl.gov/documentation/athena-detector`,
siteAuthor : `whit`,
siteImage : `/banner.png`,
siteLanguage : `en`,
themeColor : `#e1a809`,
basePath : `/`,
footer : `whit`,
},
plugins : [
{
resolve : `@rocketseat/gatsby-theme-docs`,
options : {
configPath : `src/config`,
docsPath : `src/docs`,
repositoryUrl : `https://eicweb.phy.anl.gov/EIC/documentation/athena-detector/`,
baseDir : `/`,
},
},
{
resolve : `gatsby-plugin-manifest`,
options : {
name : `Rocketseat Gatsby Themes`,
short_name : `RS Gatsby Themes`,
start_url : `/`,
background_color : `#ffffff`,
display : `standalone`,
icon : `static/favicon.png`,
},
},
`gatsby-plugin-sitemap`,
{
resolve : `gatsby-plugin-google-analytics`,
options : {
// trackingId: ``,
},
},
{
resolve : `gatsby-plugin-canonical-urls`,
options : {
siteUrl : `https://rocketdocs.netlify.com`,
},
},
`gatsby-plugin-offline`,
`gatsby-plugin-emotion`,
],
};
{
"name": "gatsby-starter-rocket-docs",
"private": true,
"version": "1.0.0",
"description": "Out of the box Gatsby Starter for creating documentation websites easily and quickly. With support for MDX, code highlight, Analytics, SEO and more",
"author": "João Pedro Schmitz <oi@joaopedro.cc> (@joaopedro_cc)",
"license": "MIT",
"starter-name": "gatsby-starter-rocket-docs",
"dependencies": {
"@emotion/react": "^11.4.0",
"@emotion/styled": "^11.3.0",
"@rocketseat/gatsby-theme-docs": "^2.1.0",
"gatsby": "^2.19.10",
"gatsby-plugin-canonical-urls": "^2.1.19",
"gatsby-plugin-emotion": "^6.11.0",
"gatsby-plugin-google-analytics": "^2.1.34",
"gatsby-plugin-manifest": "^2.2.37",
"gatsby-plugin-offline": "^3.0.32",
"gatsby-plugin-sitemap": "^2.2.26",
"markdown-toc": "^1.2.0",
"prop-types": "^15.7.2",
"react": "^16.12.0",
"react-dom": "^16.12.0"
},
"devDependencies": {},
"keywords": [
"gatsby",
"rocketseat",
"gatsby-starter"
],
"scripts": {
"build": "gatsby build",
"start": "gatsby develop",
"serve": "gatsby serve",
"clean": "gatsby clean"
}
}
export default {
colors: {
primary: '#E1A809',
background: '#fff',
sidebar: {
background: '#ffffff',
link: '#999',
heading: '#aaa',
linkActive: '#13131A',
itemActive: '#F5F5FA',
footer: '#A8A8B3',
},
},
};
import React from 'react';
import PropTypes from 'prop-types';
import { MdEdit } from 'react-icons/md';
export default function EditGithub({ githubEditUrl }) {
if (githubEditUrl) {
return (
<a
href={githubEditUrl}
target="_blank"
rel="noopener noreferrer"
style={{
display: 'flex',
alignItems: 'center',
textDecoration: 'none',
marginTop: '48px',
color: '#78757a',
opacity: '0.8',
fontSize: '14px',
fontWeight: 'normal',
}}
>
<MdEdit style={{ marginRight: '5px' }} />
Edit this page on eicweb
</a>
);
}
return null;
}
EditGithub.propTypes = {
githubEditUrl: PropTypes.string,
};
EditGithub.defaultProps = {
githubEditUrl: null,
};
import styled from '@emotion/styled';
import logo from '../../../docs/eicweb-logo-small.png';
export default styled.div`
width: 220px;
height: 90px;
background-size: contain;
background: url(${logo}) center no-repeat;
`;
import React from 'react';
import { Global, css, useTheme } from '@emotion/react';
import { lighten } from 'polished';
export default function GlobalStyle() {
const theme = useTheme();
return (
<Global
styles={css`
@import url('https://fonts.googleapis.com/css?family=Roboto&display=swap');
@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap');
@import url('https://fonts.googleapis.com/css?family=Poppins:300,400,500,600&display=swap');
*,
*::after,
*::before {
margin: 0;
padding: 0;
box-sizing: border-box;
}
*::selection {
background: ${lighten('0.35', '#737380')}!important;
}
body {
font-size: 16px;
font-family: 'Roboto', sans-serif;
background-color: ${theme.colors.background};
text-rendering: optimizelegibility;
}
h1 {
font-size: 32px;
color: #262626;
font-weight: normal;
margin-bottom: 24px;
}
h2 {
font-size: 24px;
padding-bottom: 8px;
border-bottom: 1px solid #eee;
}
h3 {
font-size: 18px;
}
h4 {
font-size: 16px;
}
h2,
h3,
h4,
h5,
h6 {
color: #737380;
margin: 24px 0 16px 0;
font-weight: normal;
}
p {
color: #262626;
font-size: 16px;
line-height: 28px;
margin-bottom: 16px;
font-weight: 400;
}
code.inline-code {
display: inline-block;
vertical-align: middle;
line-height: 1;
padding: 0.2em 0.2em 0.3em 0.2em;
background-color: #44475a;
color: rgba(248, 248, 242);
font-size: 14px;
border-radius: 3px;
font-feature-settings: 'clig' 0, 'calt' 0;
font-variant: no-common-ligatures no-discretionary-ligatures
no-historical-ligatures no-contextual;
}
a {
color: #737380;
font-weight: bold;
&:hover {
color: ${theme.colors.primary}!important;
transition: all 100ms cubic-bezier(0.4, 0, 0.2, 1) 0s;
opacity: 1 !important;
}
}
blockquote {
border-left: 4px solid #e7e7e7;
padding: 0 2rem;
p {
font-style: italic !important;
font-size: 0.88em !important;
line-height: 28px;
}
}
table {
border-collapse: collapse;
border-spacing: 0;
width: 100%;
margin-bottom: 16px;
color: #444;
}
th,
td {
text-align: left;
padding: 12px;
}
tr:nth-of-type(2n) td {
background-color: ${theme.colors.sidebar.itemActive};
}
tr {
background-color: #ffffff;
}
iframe {
margin-bottom: 16px;
}
ul,
ol {
color: #262626;
padding-left: 15px;
margin-bottom: 16px;
li {
line-height: 28px;
}
}
.gatsby-highlight {
position: relative;
.token {
font-style: normal !important;
}
}
pre[class*='language-']::before {
background: #d9d7e0;
border-radius: 0 0 4px 4px;
color: #232129;
font-size: 12px;
font-family: SFMono-Regular, Menlo, Monaco, Consolas,
'Liberation Mono', 'Courier New', monospace;
letter-spacing: 0.075em;
line-height: 1;
padding: 0.25rem 0.5rem;
position: absolute;
left: 1rem;
text-align: right;
text-transform: uppercase;
top: 0;
}
pre[class*='language-'] code {
font-family: SFMono-Regular, Menlo, Monaco, Consolas,
'Liberation Mono', 'Courier New', monospace;
font-variant: no-common-ligatures no-discretionary-ligatures
no-historical-ligatures no-contextual;
}
pre[class~='language-js']::before,
pre[class~='language-javascript']::before {
content: 'js';
background: #f7df1e;
}
pre[class~='language-jsx']::before {
content: 'jsx';
background: #61dafb;
}
pre[class~='language-typescript']::before,
pre[class~='language-ts']::before {
content: 'ts';
background: #294e80;
color: #fff;
}
pre[class~='language-tsx']::before {
content: 'tsx';
background: #294e80;
color: #fff;
}
pre[class~='language-graphql']::before {
content: 'GraphQL';
background: #e10098;
color: #fff;
}
pre[class~='language-html']::before {
content: 'html';
background: #005a9c;
color: #fff;
}
pre[class~='language-css']::before {
content: 'css';
background: #ff9800;
color: #fff;
}
pre[class~='language-mdx']::before {
content: 'mdx';
background: #f9ac00;
color: #fff;
}
pre[class~='language-shell']::before {
content: 'shell';
}
pre[class~='language-sh']::before {
content: 'sh';
}
pre[class~='language-bash']::before {
content: 'bash';
}
pre[class~='language-yaml']::before {
content: 'yaml';
background: #ffa8df;
}
pre[class~='language-markdown']::before {
content: 'md';
}
pre[class~='language-json']::before,
pre[class~='language-json5']::before {
content: 'json';
background: linen;
}
pre[class~='language-diff']::before {
content: 'diff';
background: #e6ffed;
}
pre[class~='language-text']::before {
content: 'text';
background: #fff;
}
pre[class~='language-flow']::before {
content: 'flow';
background: #e8bd36;
}
`}
/>
);
}
export default {
colors: {
primary: '#E1A809',
background: '#fff',
sidebar: {
background: '#ffffff',
link: '#737373',
heading: '#aaa',
linkActive: '#13131A',
itemActive: '#F5F5FA',
footer: '#A8A8B3',
},
},
};
# Introduction
A complete and awesome Gatsby Theme for documentation websites.
Forget about other things and focus on what matters: **writing docs.**
## Features
- 📝 MDX for docs;
- 🛣 Yaml-based sidebar navigation;
- 📱 Responsive and mobile friendly;
- 🖥 Code highlighting with [prism-react-renderer](https://github.com/FormidableLabs/prism-react-renderer) and [react-live](https://github.com/FormidableLabs/react-live) support;
- 🥇 SEO (Sitemap, schema.org data, Open Graph and Twitter tags).
- 📈 Google Analytics support;
- 📄 Custom docs schema;
- ⚡️ Offline Support & WebApp Manifest;
- and much more 🔥
<br />
[Get started now!](/getting-started)
# Sidebar navigation
- label: 'Home'
link: '/'
items:
- label: 'Detector'
link: '/detector'
# + [IP Subsystems](#ip-subsystems)
#- label: 'Key Central Detector Parameters'
#- link: '/detector#key-central-detector-parameters'
# * [Key Central Detector Parameters](#key-central-detector-parameters)
# + [PID Detector Region Parameters](#pid-detector-region-parameters)
# * [Main Constant Definitions](#main-constant-definitions)
# * [Calorimeter Parameters](#calorimeter-parameters)
# + [Note on paramaeterization](#note-on-paramaeterization)
# + [Endcaps](#endcaps)
# * [Main magnet](#main-magnet)
# + [Tracker subassemblies for ACTS](#tracker-subassemblies-for-acts)
# + [Solenoid Magnet](#solenoid-magnet)
# * [Central tracking detectors](#central-tracking-detectors)
# + [PID detectors](#pid-detectors)
# * [Central calorimetry](#central-calorimetry)
# + [Ecal configuration](#ecal-configuration)
# + [Silicon tracking configuration](#silicon-tracking-configuration)
# * [Far foward detectors](#far-foward-detectors)
# * [Detector IDs](#detector-ids)
# + [Note about ACTS tracking geometry construction](#note-about-acts-tracking-geometry-construction)
# + [Allocated IDs](#allocated-ids)
# * [Detector Definition Parameters](#detector-definition-parameters)
# * [Constant naming convention](#constant-naming-convention)
# * [Parameter nomenclature](#parameter-nomenclature)
# * [Solenoid Magnet Parameters](#solenoid-magnet-parameters)
# * [Tracking Detector Parameters](#tracking-detector-parameters)
# + [GEM Tracker Parameters](#gem-tracker-parameters)
# * [Vertex Tracker Parameters](#vertex-tracker-parameters)
# + [Vertex Tracking Region](#vertex-tracking-region)
# + [Tracker Detector Parameters](#tracker-detector-parameters)
# * [Central tracking and PID detector boundaries](#central-tracking-and-pid-detector-boundaries)
# + [Ecal Endcaps](#ecal--endcaps)
# * [EM Calorimeter Parameters](#em-calorimeter-parameters)
# + [Note about Calormieter parameterization.](#note-about-calormieter-parameterization)
# * [Hadronic Calorimeter Parameters](#hadronic-calorimeter-parameters)
#- label: 'Getting started'
# items:
# - label: 'Overview'
# link: '/overview'
# # - label: 'Modulefiles '
# # link: '/getting-started/modulefiles'
# # - label: 'Singularity'
# # link: '/getting-started/singularity'
# # - label: 'EIC container'
# # link: '/getting-started/eic_container'
# # - label: 'Environment'
# # link: '/getting-started/environment'
#- label: Tutorial
# items:
# - label: 'Quick-start '
# link: '/getting-started/quickstart'
# - label: 'Part 1: Simple Detectors'
# link: '/part1/simple_detector'
# - label: 'Part 2: Adding Detectors'
# link: '/part2/adding_detectors'
# - label: 'Part 3: Digitization and Reconstruction'
# link: '/part3/running_juggler'
## - label: 'Part 4: Sensitive Detectors'
## link: '/part4/sensitive_detector'
# - label: 'Part 5: Analysis'
# link: '/part5/reconstruction_analysis'
#- label: References
# items:
# - label: 'DD4hep Reference Documentation'
# link: 'https://dd4hep.web.cern.ch/dd4hep/reference/classdd4hep_1_1Detector.html'
# - label: 'DD4hep Manuals'
# link: 'https://dd4hep.web.cern.ch/dd4hep/page/users-manual/'
# - label: 'XML tags and attributes'
# link: 'https://github.com/AIDASoft/DD4hep/blob/master/DDCore/include/XML/UnicodeValues.h'
# - label: 'NPdet Documenation'
# link: 'https://eic.phy.anl.gov/npdet/'
# - label: 'eicd - EIC Data Model'
# link: 'https://eic.phy.anl.gov/eicd/'
# - label: 'Links'
# link: '/links'
# #- label: Usage
# # items:
# # - label: 'doc Getting started'
# # link: '/gettingstartedold'
# # - label: 'Creating docs'
# # link: '/usage/creating-docs'
# # - label: 'Navigation'
# # link: '/usage/navigation'
# # - label: 'Shadowing'
# # link: '/usage/shadowing'
src/docs/anl_eic_logo_3.png

7.39 KiB

---
title: "Background"
---
Some of the instructions in this tutorial may be outdated. Please feel free to [leave an issue to correct these](https://eicweb.phy.anl.gov/EIC/tutorials/eic_tutorial/-/issues).
## The "Framework" Question
In the nuclear and particle physics communities many software frameworks exists.
They come in all sizes and scopes.
It is important to remember why frameworks exist: to solve a problem that is more difficult without the framework.
That said, adopting a framework introduces tight coupling in software which makes it inflexible and difficult to maintain.
Therefore, ***adopting a framework for the sake of using a framework is never a good idea***.
### The "geometry problem"
The detector description framework called `DD4hep`, at its core, is aimed at
solving the "geometry problem". The geometry problem relates the detector
description used in simulation or experiment and the reconstruction geometry.
An illustrative example is the following. Give a channel number representing a
pixel in a silicon detector, a hit in that channel represents a 3D point with
an uncertainty equal to dimensions of the pixel. Constructing the pixel in
simulation and providing a robust look of the geometry based on a channel
number are very different tasks.
A tool or framework that allows this look up of geometry from channel number is
important for flexible use of independent tracking and reconstruction tools.
---
title: "Syntax Highlighting"
metaTitle: "Syntax Highlighting is the meta title tag for this page"
metaDescription: "This is the meta description for this page"
---
The following is a code block with JavaScript language syntax highlighting.
```javascript
import React from 'react';
```
Supports multiple languages.
The following is a code block with diff. Lines with `+` highlighted in green shade indicating an addition. Lines with `-` highlighted in red shade indicating a deletion.
```javascript
- const data = ['1','2'];
+ const data = [1,2];
```
## Live Editing example
```javascript react-live=true
<button className={'btn btn-default'}>Change my text</button>
```
---
title: "Sub Page"
metaTitle: "Syntax Highlighting is the meta title tag for this page"
metaDescription: "This is the meta description for this page"
---
The following is a code block with JavaScript language syntax highlighting.
```cpp
int x = 5;
```
Supports multiple languages.
The following is a code block with diff. Lines with `+` highlighted in green shade indicating an addition. Lines with `-` highlighted in red shade indicating a deletion.
```javascript
- const data = ['1','2'];
+ const data = [1,2];
```
## Live Editing example
```javascript react-live=true
<button className={'btn btn-default'}>Change my text</button>
```
---
title: "derp"
metaTitle: "meta derp title"
metaDescription: "This is the meta description"
---
DERPDERP
Some introduction text. Lists out all the headings from h1 to h6. Easy to customise.
# Heading H1
Heading 1 text
## Heading H2
Heading 2 text
### Heading H3
Heading 3 text
#### Heading H4
Heading 4 text
##### Heading H5
Heading 5 text
###### Heading H6
Heading 6 text
## Lists
- Item 1
- Item 2
- Item 3
- Item 4
- Item 5
---
title: "Data Model"
---
## [eicd](https://eic.phy.anl.gov/eicd) - EIC Data Model
The entire data model used (minus dd4pod) is defined in a single yaml file.
This file is processed by a tool called [podio](https://github.com/AIDASoft/podio) to generate the c++ code.
It can easily stamp out code in any language because under the hood podio uses `jinja2` templates to define the specific output files.
## dd4pod
This is the output data model from `npsim` which is a slightly modified `ddsim`.
The dd4pod data model emulates the default DD4hep output data structures but implements the model via `podio`.
`dd4pod` is shipped in the [npdet](https://eic.phy.anl.gov/npdet) libraries.
# Athena Detector
- https://eicweb.phy.anl.gov/EIC/detectors/athena.git
- https://eicweb.phy.anl.gov/EIC/detectors/ip6.git
## Detector Subsystems
### IP Subsystems
The interaction point subsystems are included before the central detector subsystems.
This is becuase the IP subsystems, for exmaple the beampipe, will define paramters
which are subsquently used in the central detector construction -- e.g. the vertex tracker
uses the beampipe OD to help define its placement.
The IP subsystems include the Far forward and backward regions. The list of subsystem includes:
- Interaction region beampipe
- B0 tracker
- Off-momentum tracker
- Far forward roman pots
- Zero Degree Calorimeter
- Beam line magnets.
- and more...
## Key Central Detector Parameters
These are needed here to compute the dependent parameters.
### PID Detector Region Parameters
## Main Constant Definitions
The ip6 (or other ip) defines should be included first.
These files have only a define tags.
## Calorimeter Parameters
### Note on paramaeterization
The HCal Barrel is outside of the solenoid magnet. However,
there is an option to add some HCal barrel inside the magnet but this
is turned off below.
The space for the calorimeters inside the solenoid is assumed to be fixed by
the solenoid inner diameter/length and by the central tracking and PID outer diameter/length.
### Endcaps
The extra HCal endcap lengths are for offsetting the outside endcap surface (zmax) from the
end of the solenoid coils.
#### Carbon fiber
a level 3 doc
## Main magnet
Note: When changing magnet, also select dimensions in definitions.xml.
### Tracker subassemblies for ACTS
### Solenoid Magnet
---------------
The solenoid superconducting magnet and surrounding cryostat and
yoke endcaps.
## Central tracking detectors
### PID detectors
## Central calorimetry
### Ecal configuration
### Silicon tracking configuration
## Far foward detectors
## Detector IDs
### Note about ACTS tracking geometry construction
The tracking surfaces need to be structured in a barrel + endcapP + endcapN where
endcapP/endcapN are the endcaps at positive/negative z values.
See https://acts.readthedocs.io/en/latest/plugins/dd4hep.html for more details.
The tracking geometry needs to be constructed from cylinders from the inside out. For this reason
each layer needs its own subsystem assembly. This increases the number of top level system IDs.
For example the silicon tracker needs 3 IDs for each area (endcap+barrel+endcap) and a subassembly for each
layer. Therefore it needs a minimum of 20 IDs. Therefore we will allocate blocks of ~25 for each major subsystem.
Note, future improvements will likely include a more sophisticated ACTS-dd4hep plugin,
eliminating the need for so many system IDs at construction time.
This barrel/endcap structure needs IDs to be in increasing order going outward.
The space of IDs for the subassemblies starts at (Subassembly_ID*10+101).
The unused IDs below are saved for future use.
### Allocated IDs
#### (1-9) Reserved IDs
- Unused IDs: 1-9
#### (10-24) Interaction region beamline
- Beampipe ID : 10
- Unused IDs: 11-24
#### (25-49) Silicon Vertex Tracker
- SiVertex subsystem ID: 25
- Layer 1 subassembly ID: 26
- Layer 2 subassembly ID: 27
- Layer 3 subassembly ID: 28
- Layer 4 subassembly ID: 29
- Layer 5 subassembly ID: 30
- Unused IDs: 31-49
#### (50-74) Silicon Tracker System
SiTracker subsystem ID: 50
Layer 1 subassembly ID: 51
Layer 2 subassembly ID: 52
Layer 3 subassembly ID: 53
Layer 4 subassembly ID: 54
Layer 5 subassembly ID: 55
(56-70) etc...
Unused IDs: 71-74
#### (75-84) Barrel Tracker IDs
- MMTrackerBarrel ID: 75
- RWellTrackerBarrel ID: 76
- Unused IDs: 77-89
#### (85-99) Reserved IDs
- Unused IDs: 85-89
TBD
#### (90-99) Barrel PID IDs
- DIRC subsystem ID: 90
- Barrel TRD subsystem ID: 91
- Barrel TOF subsystem ID: 92
- TOFSubAssembly ID: 93
- Unused IDs: 94-99
#### (100-109) Electromagnetic Calorimeter
ECal subsystem ID: 100
Barrel subassembly ID: 101
EndcapP subassembly ID: 102
EndcapN subassembly ID: 103
Crystal subassembly ID: 104
Barrel2 subassembly ID: 105
Unused IDs: 106-109
#### (110-119) Hadronic Calorimeter
- HCal subsystem ID: 110
- Barrel subassembly ID: 111
- EndcapP subassembly ID: 112
- EndcapN subassembly ID: 113
- Unused IDs: 115-119
#### (120-129) (near) Forward reserved
- Forwardtracking ID: 120
- Forward RICH ID: 121
- Unused IDs: 124-129
#### (130-139) Backward reserved
- Modular RICH ID: 130
- Electron Endcap GEM tracking ID: 131
- Unused IDs: 132-139
#### (140-149) Central Magnet
- Solenoid ID: 140
- Solenoid support ID: 141
- Solenoid Yoke ID: 142
- Unused IDs: 143-149
#### (150-169) Far Forward Detectors
- Forward Roman Pot ID: 150
- Forward B0 Tracker ID: 151
- Zero Degree Cal. Ecal ID: 160
- Zero Degree Cal. Hcal ID: 161
TODO: A lot of the repeated ID's below should be pushed into a single detector
#### (170-189) Forward Beamline Magnets
#### (190-199) Backward Beamline Magnets
## Detector Definition Parameters
## Constant naming convention
SubSystemNameFurtherDescriptor_quantity
Examples:
- TrackerBarrelInside_length
- EcalEndcapP_rmin
- MRichFresnelLens_thickness
### Naming Barrel and Endcaps
- **Barrel**
- **EndcapP**
- Postive Endcap (+z direction)
- This is the ion beam side
- **EndcapN**
- Negative Endcap (-z direction)
- This is the electron beam side
## Parameter nomenclature
- "rmin", "rmax", "thickness" all refer to the radial direction.
- "zmin", "zmax", "length", "offset" all refer to the z direction.
- Positive and Negative are "EndcapP" and "EndcapN", respectively.
- All values are positive (except offsets, which are positive in the hadron direction, i.e. towards EndCapP).
When refering to a negative endcap z position, the values are
also positive then negated when required. (Many endcap constructions are mirrored,
hence a postive value.)
- We will try to keep the subsystem component name first and the parameter after an "_" (eg, EcalBarrel_length").
## Solenoid Magnet Parameters
When changing here, also change the include file in athena.xml.
## Tracking Detector Parameters
Generic tracking space allocations
`BackwardTracking_length` and `ForwardTracking_length` compensate for the asymmetry of the setup
### GEM Tracker Parameters
TODO: this section should be in the gem xml file
## Vertex Tracker Parameters
### Vertex Tracking Region
### Tracker Detector Parameters
## Central tracking and PID detector boundaries
The central tracking detectors are assumed to be symmtric about the origin.
### Ecal Endcaps
EcalEndcapP_rmin and EcalEndcapN_rmin need to be set in sync with the forward and backward detectors
## EM Calorimeter Parameters
### Note about Calormieter parameterization.
The logic goes like this:
1. The space for the calorimeter is fixed via parameterization above.
2. The layer thicknesses are fixed (first parameters below)
3. From the space/thickness the number of layers is computed.
Calorimeter slice material thicknesses
## Hadronic Calorimeter Parameters
#### Material Thickness
- Single Layer Thickness (for both barrel and endcap)
- Hcal Barrel Layers and computed Thickness
- Hcal Endcap Layers and computed Thickness
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment