Project
Loading...
Searching...
No Matches
ITSMFTDetectorDefinitions.h
Go to the documentation of this file.
1
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3
// All rights not expressly granted are reserved.
4
//
5
// This software is distributed under the terms of the GNU General Public
6
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7
//
8
// In applying this license CERN does not waive the privileges and immunities
9
// granted to it by virtue of its status as an Intergovernmental Organization
10
// or submit itself to any jurisdiction.
11
12
#ifndef ALICEO2_ITSMFT_TRACKING_DETECTORDEFINITIONS_H_
13
#define ALICEO2_ITSMFT_TRACKING_DETECTORDEFINITIONS_H_
14
15
#include <array>
16
#include <cstddef>
17
#include <limits>
18
19
#include "
DetectorsCommonDataFormats/DetID.h
"
20
#include "
ITSMFTTracking/SurfaceDescriptor.h
"
21
#include "
ITSMFTTracking/TrackingConfigParam.h
"
22
#include "
ITSMFTTracking/Constants.h
"
23
24
namespace
o2::itsmft::tracking
25
{
26
namespace
detail
27
{
28
constexpr
NominalSurfaceMaterial
siliconMaterial
(
float
xOverX0)
noexcept
29
{
30
return
{xOverX0, xOverX0 *
o2::its::constants::Radl
*
o2::its::constants::Rho
};
31
}
32
33
// Preserve the production prescription: 0.042/5 X/X0 for each sensor plane.
34
inline
constexpr
auto
mftSurfaceMaterial
=
siliconMaterial
(0.042f / 5.f);
35
36
}
// namespace detail
37
38
// Canonical descriptors, using the exact production tracking values.
39
inline
constexpr
std::array<SurfaceDescriptor, ITSNLayers>
kITSSurfaces
{
40
SurfaceDescriptor
{0,
static_cast<
uint8_t
>
(o2::detectors::DetID::ITS),
SurfaceKind::Cylinder
, 0, 2.33959f,
detail::siliconMaterial
(5.e-3f), {-
kITSLookupZHalfExtent
[0],
kITSLookupZHalfExtent
[0]}},
41
SurfaceDescriptor
{1,
static_cast<
uint8_t
>
(o2::detectors::DetID::ITS),
SurfaceKind::Cylinder
, 0, 3.14076f,
detail::siliconMaterial
(5.e-3f), {-
kITSLookupZHalfExtent
[1],
kITSLookupZHalfExtent
[1]}},
42
SurfaceDescriptor
{2,
static_cast<
uint8_t
>
(o2::detectors::DetID::ITS),
SurfaceKind::Cylinder
, 0, 3.91924f,
detail::siliconMaterial
(5.e-3f), {-
kITSLookupZHalfExtent
[2],
kITSLookupZHalfExtent
[2]}},
43
SurfaceDescriptor
{3,
static_cast<
uint8_t
>
(o2::detectors::DetID::ITS),
SurfaceKind::Cylinder
, 0, 19.6213f,
detail::siliconMaterial
(1.e-2f), {-
kITSLookupZHalfExtent
[3],
kITSLookupZHalfExtent
[3]}},
44
SurfaceDescriptor
{4,
static_cast<
uint8_t
>
(o2::detectors::DetID::ITS),
SurfaceKind::Cylinder
, 0, 24.5597f,
detail::siliconMaterial
(1.e-2f), {-
kITSLookupZHalfExtent
[4],
kITSLookupZHalfExtent
[4]}},
45
SurfaceDescriptor
{5,
static_cast<
uint8_t
>
(o2::detectors::DetID::ITS),
SurfaceKind::Cylinder
, 0, 34.388f,
detail::siliconMaterial
(1.e-2f), {-
kITSLookupZHalfExtent
[5],
kITSLookupZHalfExtent
[5]}},
46
SurfaceDescriptor
{6,
static_cast<
uint8_t
>
(o2::detectors::DetID::ITS),
SurfaceKind::Cylinder
, 0, 39.3329f,
detail::siliconMaterial
(1.e-2f), {-
kITSLookupZHalfExtent
[6],
kITSLookupZHalfExtent
[6]}},
47
};
48
49
inline
constexpr
std::array<SurfaceDescriptor, MFTNLayers>
kMFTSurfaces
{
50
SurfaceDescriptor
{0,
static_cast<
uint8_t
>
(o2::detectors::DetID::MFT),
SurfaceKind::Disk
, 0, -45.2889f,
detail::mftSurfaceMaterial
, {2.1f, 12.5f}},
51
SurfaceDescriptor
{1,
static_cast<
uint8_t
>
(o2::detectors::DetID::MFT),
SurfaceKind::Disk
, 0, -46.7111f,
detail::mftSurfaceMaterial
, {2.1f, 12.5f}},
52
SurfaceDescriptor
{2,
static_cast<
uint8_t
>
(o2::detectors::DetID::MFT),
SurfaceKind::Disk
, 0, -48.5889f,
detail::mftSurfaceMaterial
, {2.1f, 12.5f}},
53
SurfaceDescriptor
{3,
static_cast<
uint8_t
>
(o2::detectors::DetID::MFT),
SurfaceKind::Disk
, 0, -50.0111f,
detail::mftSurfaceMaterial
, {2.1f, 12.5f}},
54
SurfaceDescriptor
{4,
static_cast<
uint8_t
>
(o2::detectors::DetID::MFT),
SurfaceKind::Disk
, 0, -52.3889f,
detail::mftSurfaceMaterial
, {2.1f, 14.f}},
55
SurfaceDescriptor
{5,
static_cast<
uint8_t
>
(o2::detectors::DetID::MFT),
SurfaceKind::Disk
, 0, -53.8111f,
detail::mftSurfaceMaterial
, {2.1f, 14.f}},
56
SurfaceDescriptor
{6,
static_cast<
uint8_t
>
(o2::detectors::DetID::MFT),
SurfaceKind::Disk
, 0, -67.6889f,
detail::mftSurfaceMaterial
, {3.1f, 17.f}},
57
SurfaceDescriptor
{7,
static_cast<
uint8_t
>
(o2::detectors::DetID::MFT),
SurfaceKind::Disk
, 0, -69.1111f,
detail::mftSurfaceMaterial
, {3.1f, 17.f}},
58
SurfaceDescriptor
{8,
static_cast<
uint8_t
>
(o2::detectors::DetID::MFT),
SurfaceKind::Disk
, 0, -76.0889f,
detail::mftSurfaceMaterial
, {3.5f, 17.5f}},
59
SurfaceDescriptor
{9,
static_cast<
uint8_t
>
(o2::detectors::DetID::MFT),
SurfaceKind::Disk
, 0, -77.5111f,
detail::mftSurfaceMaterial
, {3.5f, 17.5f}},
60
};
61
62
}
// namespace o2::itsmft::tracking
63
64
#endif
/* ALICEO2_ITSMFT_TRACKING_DETECTORDEFINITIONS_H_ */
DetID.h
Constants.h
SurfaceDescriptor.h
TrackingConfigParam.h
o2::its::constants::Radl
constexpr float Radl
Definition
Constants.h:34
o2::its::constants::Rho
constexpr float Rho
Definition
Constants.h:35
o2::itsmft::tracking::detail::siliconMaterial
constexpr NominalSurfaceMaterial siliconMaterial(float xOverX0) noexcept
Definition
ITSMFTDetectorDefinitions.h:28
o2::itsmft::tracking::detail::mftSurfaceMaterial
constexpr auto mftSurfaceMaterial
Definition
ITSMFTDetectorDefinitions.h:34
o2::itsmft::tracking
Definition
BoundedAllocator.h:31
o2::itsmft::tracking::kMFTSurfaces
constexpr std::array< SurfaceDescriptor, MFTNLayers > kMFTSurfaces
Definition
ITSMFTDetectorDefinitions.h:49
o2::itsmft::tracking::kITSLookupZHalfExtent
constexpr std::array< float, ITSNLayers > kITSLookupZHalfExtent
Definition
TrackingConfigParam.h:34
o2::itsmft::tracking::SurfaceKind::Cylinder
@ Cylinder
o2::itsmft::tracking::SurfaceKind::Disk
@ Disk
o2::itsmft::tracking::kITSSurfaces
constexpr std::array< SurfaceDescriptor, ITSNLayers > kITSSurfaces
Definition
ITSMFTDetectorDefinitions.h:39
o2::itsmft::tracking::NominalSurfaceMaterial
Definition
SurfaceDescriptor.h:26
o2::itsmft::tracking::SurfaceDescriptor
Definition
SurfaceDescriptor.h:41
Detectors
ITSMFT
common
tracking
include
ITSMFTTracking
ITSMFTDetectorDefinitions.h
Generated on Fri Sep 25 2026 12:19:50 for Project by
1.9.8