CbmRoot
Loading...
Searching...
No Matches
CbmMuchLayerSide.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] */
4
16#ifndef CBMMUCHLAYERSIDE_H
17#define CBMMUCHLAYERSIDE_H 1
18
19#include <Rtypes.h> // for THashConsistencyHolder, kYellow, ClassDef
20#include <RtypesCore.h> // for Int_t, Double_t, Bool_t, Color_t, Double32_t
21#include <TObjArray.h> // for TObjArray
22#include <TObject.h> // for TObject
23
24class CbmMuchModule;
25
26class CbmMuchLayerSide : public TObject {
27
28public:
31
36 CbmMuchLayerSide(Int_t detId, Double_t z);
37
44 CbmMuchLayerSide(Int_t iStation, Int_t iLayer, Bool_t iSide, Double_t z);
45
47 virtual ~CbmMuchLayerSide();
48
50 Int_t GetDetectorId() const { return fDetectorId; }
51 Int_t GetNModules() const { return fModules.GetEntriesFast(); }
52 TObjArray* GetModules() { return &fModules; }
53 Double_t GetZ() { return fZ; }
54 void SetZ(Double_t z) { fZ = z; }
55
56 CbmMuchModule* GetModule(Int_t iModule) const { return (CbmMuchModule*) fModules.At(iModule); }
57
60 void AddModule(CbmMuchModule* module);
61
62 void DrawModules(Color_t color = kYellow, Bool_t modulesVisible = true, Bool_t sectorsVisible = true);
63
64protected:
65 Int_t fDetectorId; // Unique detector ID
66 Double32_t fZ; // z position of layer side center (midplane) [cm] in global cs
67 TObjArray fModules; // Array of CbmMuchModuleGem objects
68
70};
71#endif
Int_t GetNModules() const
void AddModule(CbmMuchModule *module)
ClassDef(CbmMuchLayerSide, 1)
CbmMuchModule * GetModule(Int_t iModule) const
void SetZ(Double_t z)
Int_t GetDetectorId() const
TObjArray * GetModules()
void DrawModules(Color_t color=kYellow, Bool_t modulesVisible=true, Bool_t sectorsVisible=true)