Project
Loading...
Searching...
No Matches
GeometryTGeo.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_MID_ALICE3_GEOMETRYTGEO_H
13#define ALICEO2_MID_ALICE3_GEOMETRYTGEO_H
14
16
17namespace o2::mi3
18{
20{
21 public:
22 GeometryTGeo(bool build = false, int loadTrans = 0);
23 void Build(int loadTrans);
24 void fillMatrixCache(int mask);
25 static GeometryTGeo* Instance();
26
27 static const char* getMIDVolPattern() { return sVolumeName.c_str(); }
28 static const char* getMIDLayerPattern() { return sLayerName.c_str(); }
29 static const char* getMIDStavePattern() { return sStaveName.c_str(); }
30 static const char* getMIDModulePattern() { return sModuleName.c_str(); }
31 static const char* getMIDSensorPattern() { return sSensorName.c_str(); }
32
33 static const char* composeSymNameMID(int d)
34 {
35 return Form("%s_%d", o2::detectors::DetID(o2::detectors::DetID::MI3).getName(), d);
36 }
37 static const char* composeSymNameLayer(const int layer);
38 static const char* composeSymNameStave(const int layer,
39 const int stave);
40 static const char* composeSymNameModule(const int layer,
41 const int stave,
42 const int module);
43 static const char* composeSymNameSensor(const int layer,
44 const int stave,
45 const int module,
46 const int sensor);
47
48 protected:
49 static std::string sLayerName;
50 static std::string sVolumeName;
51 static std::string sStaveName;
52 static std::string sModuleName;
53 static std::string sSensorName;
54
55 private:
56 static std::unique_ptr<o2::mi3::GeometryTGeo> sInstance;
57};
58} // namespace o2::mi3
59#endif
Static class with identifiers, bitmasks and names for ALICE detectors.
Definition DetID.h:58
const char * getName() const
static std::string sLayerName
static std::string sModuleName
static const char * getMIDVolPattern()
void fillMatrixCache(int mask)
static const char * composeSymNameSensor(const int layer, const int stave, const int module, const int sensor)
static std::string sVolumeName
static std::string sStaveName
static const char * composeSymNameModule(const int layer, const int stave, const int module)
static const char * getMIDModulePattern()
static const char * composeSymNameStave(const int layer, const int stave)
static const char * composeSymNameMID(int d)
static const char * getMIDLayerPattern()
void Build(int loadTrans)
static const char * getMIDSensorPattern()
static const char * composeSymNameLayer(const int layer)
static const char * getMIDStavePattern()
static GeometryTGeo * Instance()
static std::string sSensorName
GLenum GLuint GLint GLint layer
Definition glcorearb.h:1310
GLint GLuint mask
Definition glcorearb.h:291