Project
Loading...
Searching...
No Matches
TRKLayer.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_TRK_LAYER_H
13#define ALICEO2_TRK_LAYER_H
14
15#include <TGeoManager.h>
16#include <Rtypes.h>
17
19
20namespace o2
21{
22namespace trk
23{
25{
26 public:
27 TRKLayer() = default;
28 TRKLayer(int layerNumber, std::string layerName, float rInn, float rOut, float zLength, float layerX2X0);
29 TRKLayer(int layerNumber, std::string layerName, float rInn, float zLength, float thick);
30 ~TRKLayer() = default;
31
32 void setLayout(eLayout layout) { mLayout = layout; };
33
34 auto getInnerRadius() const { return mInnerRadius; }
35 auto getOuterRadius() const { return mOuterRadius; }
36 auto getZ() const { return mZ; }
37 auto getx2X0() const { return mX2X0; }
38 auto getChipThickness() const { return mChipThickness; }
39 auto getNumber() const { return mLayerNumber; }
40 auto getName() const { return mLayerName; }
41
42 TGeoVolume* createSensor(std::string type, double width = -1);
43 TGeoVolume* createChip(std::string type, double width = -1);
44 TGeoVolume* createStave(std::string type, double width = -1);
45 void createLayer(TGeoVolume* motherVolume);
46
47 private:
48 int mLayerNumber;
49 std::string mLayerName;
50 float mInnerRadius;
51 float mOuterRadius;
52 float mZ;
53 float mX2X0;
54 float mChipThickness;
55 float mModuleWidth; // u.m. = cm
56 eLayout mLayout;
57
58 ClassDef(TRKLayer, 1);
59};
60
61} // namespace trk
62} // namespace o2
63#endif // ALICEO2_TRK_LAYER_H
void createLayer(TGeoVolume *motherVolume)
Definition TRKLayer.cxx:146
auto getZ() const
Definition TRKLayer.h:36
~TRKLayer()=default
void setLayout(eLayout layout)
Definition TRKLayer.h:32
auto getx2X0() const
Definition TRKLayer.h:37
TGeoVolume * createStave(std::string type, double width=-1)
Definition TRKLayer.cxx:97
TGeoVolume * createChip(std::string type, double width=-1)
Definition TRKLayer.cxx:68
auto getInnerRadius() const
Definition TRKLayer.h:34
TGeoVolume * createSensor(std::string type, double width=-1)
Definition TRKLayer.cxx:44
auto getOuterRadius() const
Definition TRKLayer.h:35
auto getChipThickness() const
Definition TRKLayer.h:38
auto getName() const
Definition TRKLayer.h:40
auto getNumber() const
Definition TRKLayer.h:39
TRKLayer()=default
GLint GLsizei width
Definition glcorearb.h:270
GLint GLint GLsizei GLint GLenum GLenum type
Definition glcorearb.h:275
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...