CbmRoot
Loading...
Searching...
No Matches
CbmMuchLayer.h
Go to the documentation of this file.
1/* Copyright (C) 2008-2020 St. Petersburg Polytechnic University, St. Petersburg
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Mikhail Ryzhinskiy [committer], Evgeny Kryshen, Andrey Lebedev */
4
16#ifndef CBMMUCHLAYER_H
17#define CBMMUCHLAYER_H 1
18
19#include "CbmMuchLayerSide.h" // for CbmMuchLayerSide
20
21#include <Rtypes.h> // for THashConsistencyHolder, ClassDef
22#include <RtypesCore.h> // for Double_t, Int_t, Bool_t, Double32_t
23#include <TObject.h> // for TObject
24
25class CbmMuchLayer : public TObject {
26
27public:
30
36 CbmMuchLayer(Int_t detId, Double_t z, Double_t zRel);
37
44 CbmMuchLayer(Int_t iStation, Int_t iLayer, Double_t z, Double_t zRel);
45
47 virtual ~CbmMuchLayer();
48
50 Int_t GetDetectorId() const { return fDetectorId; }
53 CbmMuchLayerSide* GetSide(Bool_t side) { return (side ? &fSideB : &fSideF); }
54 Double_t GetSupportDx() const { return fSupportDx; }
55 Double_t GetSupportDy() const { return fSupportDy; }
56 Double_t GetSupportDz() const { return fSupportDz; }
57 void SetSupportDx(Double_t supDx) { fSupportDx = supDx; }
58 void SetSupportDy(Double_t supDy) { fSupportDy = supDy; }
59 void SetSupportDz(Double_t supDz) { fSupportDz = supDz; }
60 Double_t GetZ() const { return fZ; }
61 Double_t GetZtoStationCenter() const { return fZtoStationCenter; }
62
63 /*
64 * Automatic calculation of the half-thickness of the layer as
65 * a maximum distance to layer module edges
66 */
67 Double_t GetDz();
68
69protected:
70 Int_t fDetectorId; // Unique detector ID
71 Double32_t fZ; // z position of station center (midplane) [cm]
72 CbmMuchLayerSide fSideF; // Front side of the layer
73 CbmMuchLayerSide fSideB; // Back side of the layer
74 Double_t fSupportDx; // Support half-width
75 Double_t fSupportDy; // Support half-height
76 Double_t fSupportDz; // Support half-thickness
77 Double_t fZtoStationCenter; // Relative position of the layer center with respect
78 // to the station center
79
81};
82#endif
Double_t GetZtoStationCenter() const
Double_t GetSupportDx() const
virtual ~CbmMuchLayer()
void SetSupportDx(Double_t supDx)
Double32_t fZ
CbmMuchLayerSide * GetSide(Bool_t side)
Double_t fSupportDx
CbmMuchLayerSide * GetSideF()
CbmMuchLayerSide * GetSideB()
Double_t GetZ() const
Double_t fZtoStationCenter
Double_t GetSupportDy() const
Int_t GetDetectorId() const
void SetSupportDy(Double_t supDy)
CbmMuchLayerSide fSideB
Int_t fDetectorId
Double_t fSupportDy
CbmMuchLayerSide fSideF
Double_t fSupportDz
void SetSupportDz(Double_t supDz)
Double_t GetSupportDz() const
ClassDef(CbmMuchLayer, 1)
Double_t GetDz()