Project
Loading...
Searching...
No Matches
GeometryParameters.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
16#ifndef O2_MID_GEOMETRYPARAMETERS_H
17#define O2_MID_GEOMETRYPARAMETERS_H
18
19#include <array>
20#include <string>
21
22namespace o2
23{
24namespace mid
25{
26namespace geoparams
27{
28constexpr double BeamAngle = -0.794;
29
30// Standard sizes/position in the first chamber.
31// The values for the other chambers can be obtained multiplying by the scaling factors below
32constexpr double LocalBoardHeight = 17.;
33constexpr double LocalBoardWidth = 34.;
34constexpr double RPCCenterPos = 129.5;
35constexpr double RPCHalfLength = 127.5;
36constexpr double RPCShortCenterPos = 155.;
37constexpr double RPCShortHalfLength = 102.;
38constexpr double RPCZShift = 3.6;
39constexpr double StripUnitPitchSize = 1.0625;
40
41constexpr std::array<const double, 4> ChamberScaleFactors{{1., 1.01060, 1.06236, 1.07296}};
42constexpr std::array<const double, 4> DefaultChamberZ{{-1603.5, -1620.5, -1703.5, -1720.5}};
43
44enum class RPCtype { Long,
46 TopCut,
47 Short };
48
51inline bool isShortRPC(int deId) { return (deId % 9 == 4); }
52
55inline double getLocalBoardHeight(int chamber) { return LocalBoardHeight * ChamberScaleFactors[chamber]; }
56
59inline double getLocalBoardWidth(int chamber) { return LocalBoardWidth * ChamberScaleFactors[chamber]; }
60
64inline double getRPCCenterPosX(int chamber, int rpc)
65{
67}
68
72inline double getRPCHalfLength(int chamber, int rpc)
73{
75}
76
79inline double getRPCHalfHeight(int chamber) { return 2. * LocalBoardHeight * ChamberScaleFactors[chamber]; }
80
83inline double getStripUnitPitchSize(int chamber) { return StripUnitPitchSize * ChamberScaleFactors[chamber]; }
84
85RPCtype getRPCType(int deId);
86std::string getRPCVolumeName(RPCtype type, int iChamber);
87std::string getChamberVolumeName(int chamber);
88} // namespace geoparams
89} // namespace mid
90} // namespace o2
91
92#endif /* O2_MID_GEOMETRYPARAMETERS_H */
GLint GLint GLsizei GLint GLenum GLenum type
Definition glcorearb.h:275
double getLocalBoardWidth(int chamber)
std::string getChamberVolumeName(int chamber)
constexpr double BeamAngle
Angle between beam position and horizontal.
std::string getRPCVolumeName(RPCtype type, int iChamber)
constexpr double RPCCenterPos
Position of most RPCs in the right side of the first chamber.
RPCtype getRPCType(int deId)
double getLocalBoardHeight(int chamber)
double getStripUnitPitchSize(int chamber)
constexpr double RPCShortCenterPos
Position of the short RPC in the right side of the first chamber.
constexpr double LocalBoardHeight
Local board height in the first chamber.
constexpr double RPCZShift
Default shift of the RPC z position with respect to the average chamber position.
constexpr std::array< const double, 4 > DefaultChamberZ
Array of default z position of the chamber.
bool isShortRPC(int deId)
constexpr double LocalBoardWidth
Local board width in the first chamber.
constexpr double RPCShortHalfLength
Half length of the short RPC in the first chamber.
constexpr double RPCHalfLength
Half length of most RPCs in the first chamber.
double getRPCHalfHeight(int chamber)
constexpr std::array< const double, 4 > ChamberScaleFactors
Array of scale factors for projective geometry.
double getRPCHalfLength(int chamber, int rpc)
double getRPCCenterPosX(int chamber, int rpc)
constexpr double StripUnitPitchSize
Unit pitch size of the strip in the first chamber.
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...