ATLAS Offline Software
Loading...
Searching...
No Matches
TGCElectronicsSystem.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TGCElectronicsSystem_hh
6#define TGCElectronicsSystem_hh
7
10
11#include <memory>
12
13namespace LVL1TGC {
14class TGCTMDB;
15class TGCNSW;
16class TGCBIS78;
17}
18
19namespace LVL1TGCTrigger {
20
21const int NumberOfOctant = 8;
22const int NumberOfModule = 15;
23const int NumberOfSignalTypes = 2; // 1=WIRE, 2=STRIP
24const int NumberOfLayers = 9; // 0,1,2: Tpl, 3,4: Dbl, 5,6: Inner 8,9
25const int NumberOfRegions = 2; // 1=Forward, 2=ENdcap
26
27class TGCEvent;
29class TGCSector;
30
32 public:
34 virtual ~TGCElectronicsSystem();
35
36 void distributeSignal(TGCEvent* event);
38 int getNumberOfOctant() const { return NumberOfOctant; }
39 int getNumberOfModule() const { return NumberOfModule; }
40
41 TGCRegionType getRegionType(int mod) const;
42 TGCForwardBackwardType getForwardBackward(int side, int oct, int mod) const;
43 int getSectorId(int side, int oct, int mod) const;
45 TGCSector* getSector(int side, int oct, int mod) const {
46 if ( (side<0) || (oct<0) || (mod<0) ) return 0;
47 return m_sector[side][oct][mod];
48 };
49 std::shared_ptr<LVL1TGC::TGCTMDB> getTMDB() const {return m_tmdb;}
50 std::shared_ptr<LVL1TGC::TGCNSW> getNSW() const {return m_nsw;}
51 std::shared_ptr<LVL1TGC::TGCBIS78> getBIS78() const {return m_bis78;}
52
54 const TGCArguments* tgcArgs() const { return m_tgcArgs;}
55
56 private:
57 // hide default/copy constructor and assignment operator
61
62 private:
65 // Other Inner systems
66 std::shared_ptr<LVL1TGC::TGCTMDB> m_tmdb{nullptr};
67 std::shared_ptr<LVL1TGC::TGCNSW> m_nsw{nullptr};
68 std::shared_ptr<LVL1TGC::TGCBIS78> m_bis78{nullptr};
69
71};
72
73
74} // end of namespace
75
76#endif // TGCElectronicsSystem_hh
TGCElectronicsSystem(TGCArguments *, TGCDatabaseManager *database)
TGCElectronicsSystem & operator=(const TGCElectronicsSystem &right)=delete
TGCSector * m_sector[LVL1TGC::kNSide][NumberOfOctant][NumberOfModule]
std::shared_ptr< LVL1TGC::TGCBIS78 > m_bis78
std::shared_ptr< LVL1TGC::TGCNSW > getNSW() const
const TGCArguments * tgcArgs() const
std::shared_ptr< LVL1TGC::TGCTMDB > getTMDB() const
TGCSector * getSector(int side, int oct, int mod) const
std::shared_ptr< LVL1TGC::TGCTMDB > m_tmdb
TGCRegionType getRegionType(int mod) const
TGCSector * getSector(const TGCReadoutIndex &index) const
std::shared_ptr< LVL1TGC::TGCBIS78 > getBIS78() const
int getSectorId(int side, int oct, int mod) const
TGCElectronicsSystem(const TGCElectronicsSystem &right)=delete
std::shared_ptr< LVL1TGC::TGCNSW > m_nsw
TGCForwardBackwardType getForwardBackward(int side, int oct, int mod) const
const int NumberOfSignalTypes
Definition index.py:1