CbmRoot
Loading...
Searching...
No Matches
CbmLitTrackingGeometryConstructor.h
Go to the documentation of this file.
1/* Copyright (C) 2008-2014 GSI/JINR-LIT, Darmstadt/Dubna
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Andrey Lebedev [committer] */
4
12#ifndef CBMLITTRACKINGGEOMETRYCONSTRUCTOR_H_
13#define CBMLITTRACKINGGEOMETRYCONSTRUCTOR_H_
14
15#include "TObject.h"
19
20#include <string>
21
22class TGeoManager;
24class TProfile2D;
25
27 public:
33
39
45
50 template<class T>
52
58
64
69 template<class T>
71
73
74 void ConvertTProfile2DToLitMaterialGrid(const TProfile2D* profile, lit::parallel::LitMaterialGrid* grid,
75 Double_t maximumValue = 0);
76
81 Int_t GetNofTrdStations();
82
87 Int_t GetNofMuchStations();
88
94
99 Int_t GetNofMvdStations();
100
105 Int_t GetNofStsStations();
106
111 Int_t GetNofMuchAbsorbers();
112
116 // Int_t ConvertTrdToAbsoluteStationNr(
117 // Int_t station,
118 // Int_t layer);
119
123 Int_t ConvertMuchToAbsoluteStationNr(Int_t station, Int_t layer);
124
125 private:
132
137
142
147
148 TGeoManager* fGeo; // Pointer to full geometry
149 Int_t fNofTrdStations; // Number of TRD stations
150 Int_t fNofMuchStations; // Number of MUCH stations
151 Int_t fNofMvdStations; // Number of MVD stations
152 Int_t fNofStsStations; // Number of STS stations
153 Int_t fNofMuchAbsorbers; // Number of MUCH absorbers
155};
156
157#endif /* CBMLITTRACKINGGEOMETRYCONSTRUCTOR_H_ */
Helper class to access detector presence.
Detector layout class.
Class stores a grid of material thickness in silicon equivalent.
Helper class to access detector presence.
Int_t GetNofStsStations()
Return number of stations in STS.
void GetMuchLayoutVec(lit::parallel::LitDetectorLayoutVec &layout)
Return MUCH detector layout for parallel MUCH tracking in SIMD format.
static CbmLitTrackingGeometryConstructor * Instance()
Return pointer to singleton object.
const CbmLitTrackingGeometryConstructor & operator=(const CbmLitTrackingGeometryConstructor &)
Assignment operator.
CbmLitTrackingGeometryConstructor(const CbmLitTrackingGeometryConstructor &)
Copy constructor.
Int_t GetNofMuchTrdStations()
Return number of stations in MUCH + TRD.
Int_t ConvertMuchToAbsoluteStationNr(Int_t station, Int_t layer)
void GetMuchLayoutScal(lit::parallel::LitDetectorLayoutScal &layout)
Return MUCH detector layout for parallel MUCH tracking in scalar format.
void GetRichMaterial(lit::parallel::LitMaterialGrid *material)
void GetMuchLayout(lit::parallel::LitDetectorLayout< T > &layout)
Return MUCH detector layout for parallel MUCH tracking.
Int_t GetNofMvdStations()
Return number of stations in MVD.
void GetTrdLayoutVec(lit::parallel::LitDetectorLayoutVec &layout)
Return TRD detector layout for TRD parallel tracking in SIMD format.
void GetTrdLayoutScal(lit::parallel::LitDetectorLayoutScal &layout)
Return TRD detector layout for TRD parallel tracking in scalar format.
Int_t GetNofMuchStations()
Return number of stations in MUCH.
void GetTrdLayout(lit::parallel::LitDetectorLayout< T > &layout)
Return TRD detector layout for TRD parallel tracking.
Int_t GetNofMuchAbsorbers()
Return number of MUCH absorbers.
void ConvertTProfile2DToLitMaterialGrid(const TProfile2D *profile, lit::parallel::LitMaterialGrid *grid, Double_t maximumValue=0)
Int_t GetNofTrdStations()
Return number of stations in TRD.
CbmLitTrackingGeometryConstructor()
Constructor. Constructor is protected since singleton pattern is used. Pointer to object is returned ...
Represents detector layout.
Class stores a grid of material thickness in silicon equivalent.