Project
Loading...
Searching...
No Matches
DescriptorInnerBarrel.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_DESCRIPTORINNERBARREL_H
16#define ALICEO2_ITS_DESCRIPTORINNERBARREL_H
17
18#include <string>
19#include <vector>
20#include <TObject.h>
21#include <TGeoTube.h>
22#include <TMath.h>
23
24namespace o2
25{
26namespace its
27{
29{
30 public:
34 DescriptorInnerBarrel(int nlayers);
35
38
39 double radii2Turbo(double rMin, double rMid, double rMax, double sensW) const
40 {
41 // compute turbo angle from radii and sensor width
42 return TMath::ASin((rMax * rMax - rMin * rMin) / (2 * rMid * sensW)) * TMath::RadToDeg();
43 }
44
45 int getNumberOfLayers() const { return mNumLayers; }
46 double getSensorThickness() const { return mSensorLayerThickness; }
47 void getConfigurationWrapperVolume(double& minradius, double& maxradius, double& zspan) const;
48 void setConfigurationWrapperVolume(double minradius, double maxradius, double zspan);
49 TGeoTube* defineWrapperVolume() const;
50
51 protected:
52 int mNumLayers{3};
53
54 // wrapper volume properties
55 double mWrapperMinRadius{2.1};
56 double mWrapperMaxRadius{16.4};
57 double mWrapperZSpan{70.};
58
59 // layer properties
61 std::vector<double> mLayerRadii{};
62 std::vector<double> mDetectorThickness{};
63 std::vector<int> mChipTypeID{};
64
65 std::vector<int> mBuildLevel;
66
68 ClassDef(DescriptorInnerBarrel, 1);
70};
71} // namespace its
72} // namespace o2
73
74#endif
void getConfigurationWrapperVolume(double &minradius, double &maxradius, double &zspan) const
DescriptorInnerBarrel()
Default constructor.
void setConfigurationWrapperVolume(double minradius, double maxradius, double zspan)
DescriptorInnerBarrel & operator=(const DescriptorInnerBarrel &geom)=delete
std::vector< int > mChipTypeID
Vector of detector thickness.
DescriptorInnerBarrel(const DescriptorInnerBarrel &src)=delete
std::vector< int > mBuildLevel
Vector of unique chip ID.
std::vector< double > mDetectorThickness
Vector of layer radius.
std::vector< double > mLayerRadii
sensor thickness
double radii2Turbo(double rMin, double rMid, double rMax, double sensW) const
GLenum src
Definition glcorearb.h:1767
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...