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 void addAlignableVolumesLayer(int idLayer, int wrapperLayerId, TString& parentPath, int& lastUID) const;
44
45 protected:
46 // wrapper volume properties
47 static constexpr double mTolerance{1e-3};
50 static constexpr double mWrapperZSpanITS3{(constants::services::length * 2) + mTolerance}; // z length is divided in half
51
52 private:
53 void addAlignableVolumesHalfBarrel(int idLayer, int iHB, TString& parentPath, int& lastUID) const;
54 void addAlignableVolumesChips(int idLayer, int iHalfBarrel, TString& parentPath, int& lastUID) const;
55
56 std::array<std::unique_ptr<ITS3Layer>, constants::nLayers> mIBLayers;
57 std::unique_ptr<ITS3Services> mServices;
58
59 ClassDefNV(DescriptorInnerBarrelITS3, 0);
60};
61
62} // namespace o2::its3
63
64#endif
Definition of the DescriptorInnerBarrel class.
Definition of the ITS3Layer class.
Definition of the ITS3Services class.
void addAlignableVolumesLayer(int idLayer, int wrapperLayerId, TString &parentPath, int &lastUID) const
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