Project
Loading...
Searching...
No Matches
DescriptorInnerBarrelITS3.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
14
15#ifndef ALICEO2_ITS3_DESCRIPTORINNERBARRELITS3_H
16#define ALICEO2_ITS3_DESCRIPTORINNERBARRELITS3_H
17
18#include "ITS3Base/SpecsV2.h"
22
23#include "TGeoVolume.h"
24
25#include <array>
26#include <memory>
27
28namespace o2::its3
29{
30
32{
33 public:
39
40 void createLayer(int idLayer, TGeoVolume* dest);
41 void createServices(TGeoVolume* dest);
42 void configure() {}
43
44 protected:
46
47 // wrapper volume properties
48 static constexpr double mTolerance{1e-3};
51 static constexpr double mWrapperZSpanITS3{constants::services::length * 2 + mTolerance}; // z length is divided in half
52
53 private:
54 std::array<std::unique_ptr<ITS3Layer>, constants::nLayers> mIBLayers;
55 std::unique_ptr<ITS3Services> mServices;
56
57 ClassDefNV(DescriptorInnerBarrelITS3, 0);
58};
59
60} // namespace o2::its3
61
62#endif
Definition of the DescriptorInnerBarrel class.
Definition of the ITS3Layer class.
Definition of the ITS3Services class.
void createLayer(int idLayer, TGeoVolume *dest)
void setConfigurationWrapperVolume(double minradius, double maxradius, double zspan)
constexpr double length
Definition SpecsV2.h:224
constexpr double radiusOuter
Definition SpecsV2.h:223
constexpr std::array< double, nLayers > radiiInner
Definition SpecsV2.h:135
constexpr unsigned int nLayers
Definition SpecsV2.h:128