Project
Loading...
Searching...
No Matches
DescriptorInnerBarrelITS2.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_ITS_DESCRIPTORINNERBARRELITS2_H
16#define ALICEO2_ITS_DESCRIPTORINNERBARRELITS2_H
17
18#include <string>
19#include <vector>
20#include <TObject.h>
21#include <TGeoVolume.h>
22
24
25namespace o2
26{
27namespace its
28{
29class V3Layer;
30class V3Services;
31
33{
34 public:
35 // standard constructor
36 DescriptorInnerBarrelITS2(int nlayers);
37 // default constructor
39
42
43 void configure(int buildLevel = 0);
44
45 V3Layer* createLayer(int idLayer, TGeoVolume* dest);
46 void createServices(TGeoVolume* dest);
47
48 void addAlignableVolumesLayer(int idLayer, int wrapperLayerId, TString& parentPath, int& lastUID);
49
50 private:
51 void addAlignableVolumesHalfBarrel(int idLayer, int iHalfBarrel, TString& parentPath, int& lastUID) const;
52 void addAlignableVolumesStave(int idLayer, int iHalfBarrel, int iStave, TString& parentPath, int& lastUID) const;
53 void addAlignableVolumesHalfStave(int idLayer, int iHalfBarrel, int iStave, int iHalfStave, TString& parentPath, int& lastUID) const;
54 void addAlignableVolumesModule(int idLayer, int iHalfBarrel, int iStave, int iHalfStave, int iModule, TString& parentPath, int& lastUID) const;
55 void addAlignableVolumesChip(int idLayer, int iHalfBarrel, int iStave, int iHalfStave, int iModule, int iChip, TString& parentPath, int& lastUID) const;
56
57 // layer properties
58 std::vector<bool> mTurboLayer{};
59 std::vector<double> mLayerPhi0{};
60 std::vector<int> mStavePerLayer{};
61 std::vector<int> mUnitPerStave{};
62 std::vector<double> mChipThickness{};
63 std::vector<double> mStaveWidth{};
64 std::vector<double> mStaveTilt{};
65 std::vector<V3Layer*> mLayer{};
66
68 ClassDef(DescriptorInnerBarrelITS2, 1);
70};
71} // namespace its
72} // namespace o2
73
74#endif
Definition of the DescriptorInnerBarrel class.
V3Layer * createLayer(int idLayer, TGeoVolume *dest)
DescriptorInnerBarrelITS2 & operator=(const DescriptorInnerBarrelITS2 &geom)=delete
DescriptorInnerBarrelITS2(const DescriptorInnerBarrelITS2 &src)=delete
void addAlignableVolumesLayer(int idLayer, int wrapperLayerId, TString &parentPath, int &lastUID)
GLenum src
Definition glcorearb.h:1767
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...