CbmRoot
Loading...
Searching...
No Matches
CbmMuchModuleGem.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: Evgeny Kryshen, Mikhail Ryzhinskiy [committer], Florian Uhlig */
4
14#ifndef CBMMUCHMODULEGEM_H
15#define CBMMUCHMODULEGEM_H 1
16
17#include "CbmMuchModule.h" // for CbmMuchModule
18
19#include <Rtypes.h> // for THashConsistencyHolder, ClassDef
20#include <RtypesCore.h> // for Int_t, Bool_t, Color_t, Double_t, kTRUE
21#include <TVector3.h> // for TVector3
22
23#include <vector> // for vector
24
25class CbmMuchPad;
26class CbmMuchSector;
27
29public:
32
41 CbmMuchModuleGem(Int_t iStation, Int_t iLayer, Bool_t iSide, Int_t iModule, TVector3 position, TVector3 size,
42 Double_t cutRadius);
43
45 virtual ~CbmMuchModuleGem() {}
46
48 CbmMuchSector* GetSector(Int_t address);
49
51 CbmMuchPad* GetPad(Int_t address);
52
53 CbmMuchSector* GetSectorByIndex(Int_t iSector) { return fSectors[iSector]; }
54
56 Int_t GetNSectors() const { return fSectors.size(); }
57
59 std::vector<CbmMuchPad*> GetPads();
60
62 Int_t GetNPads();
63
66 void AddSector(CbmMuchSector* sector) { fSectors.push_back(sector); }
67
69 virtual Bool_t InitModule() { return kTRUE; }
70
72 void DrawModule(Color_t color);
73
74 void DrawPads();
75 void SetPadFired(Int_t address, Int_t digiIndex, Int_t adcCharge);
76
77protected:
78 std::vector<CbmMuchSector*> fSectors; // Array of sectors within this module
79
81};
82#endif
static constexpr size_t size()
Definition KfSimdPseudo.h:2
std::vector< CbmMuchSector * > fSectors
virtual Bool_t InitModule()
void AddSector(CbmMuchSector *sector)
void DrawModule(Color_t color)
CbmMuchSector * GetSectorByIndex(Int_t iSector)
virtual ~CbmMuchModuleGem()
Int_t GetNSectors() const
CbmMuchSector * GetSector(Int_t address)
void SetPadFired(Int_t address, Int_t digiIndex, Int_t adcCharge)
CbmMuchPad * GetPad(Int_t address)
ClassDef(CbmMuchModuleGem, 2)
std::vector< CbmMuchPad * > GetPads()