BmnRoot
Loading...
Searching...
No Matches
CbmStsDigiScheme.h
Go to the documentation of this file.
1// -------------------------------------------------------------------------
2// ----- CbmStsDigiScheme header file -----
3// ----- Created 31/08/06 by V. Friese -----
4// -------------------------------------------------------------------------
5
15#ifndef CbmStsDigiScheme_H
16#define CbmStsDigiScheme_H 1
17
20#include "BmnVSPStationSet.h"
21#include "TObjArray.h"
22#include "TObject.h"
23
24#include <TGeoCompositeShape.h> //AZ-180322
25#include <iostream>
26#include <map>
27
28class CbmGeoStsPar;
29class CbmStsDigiPar;
30class CbmStsSector;
31class CbmStsSensor;
32class CbmStsStation;
34
35class CbmStsDigiScheme : public TObject
36{
37 public:
40
42 Bool_t Init();
43 Bool_t Init(CbmGeoStsPar* geoPar, CbmStsDigiPar* digiPar);
44
46 void Clear();
47
49 void Reset();
50
52 Int_t GetNStations() { return fStations->GetEntries(); }
53 Int_t GetNSectors() { return fNSectors; }
54 Int_t GetNSensors() { return fNSensors; }
55 Int_t GetNChannels() { return fNChannels; }
56 TObjArray* GetStations() { return fStations; }
57 CbmStsStation* GetStation(Int_t iStation);
58 CbmStsStation* GetStationByNr(Int_t stationNr);
59 CbmStsSector* GetSector(Int_t stationNr, Int_t sectorNr);
60 CbmStsSensor* GetSensor(Int_t stationNr, Int_t sectorNr, Int_t sensorNr);
61 Int_t GetDetectorIdByName(TString sensorName);
62 CbmStsSensor* GetSensorByName(TString sensorName);
63
65 Bool_t IsNewGeometry() const { return fIsNewGeometry; }
66
68 TString GetCurrentPath();
69
71 void Print(Bool_t kLong = kFALSE);
72
73 // AZ-290322
74 static CbmStsDigiScheme* Instance(int version = 1);
75
76 private:
77 static CbmStsDigiScheme* fgInstance; //-> AZ - Static instance of this class
78 static int fVersion; // AZ-290322 - configuration version (CBM if 0, else BM@N)
79 TObjArray* fStations;
80 Int_t fNSectors;
81 Int_t fNSensors;
82 Int_t fNChannels;
83 Bool_t fIsNewGeometry;
85 std::map<Int_t, CbmStsStation*> fStationMap;
86 std::map<TString, Int_t> fDetIdByName;
87 std::map<TString, CbmStsSensor*> fSensorByName;
88
92 CbmStsDigiScheme operator=(const CbmStsDigiScheme&);
93
95 Bool_t InitNew(CbmGeoStsPar* geoPar, CbmStsDigiPar* digiPar); // CBM configuration
96 Bool_t InitNewNew(CbmGeoStsPar* geoPar, CbmStsDigiPar* digiPar); // AZ-290322 - BM@N configuration
97
98 CbmStsSector* SetSensor(Int_t moduleNr,
99 Int_t statNr,
100 CbmStsStation* station,
101 CbmStsStationDigiPar* stationPar); // GP
102 Int_t SetSensorsCbm(Int_t moduleNr, Int_t statNr, CbmStsStation* station,
103 CbmStsStationDigiPar* stationPar); // AZ
104 Int_t AddHotZone(Int_t moduleNr,
105 Int_t statNr,
106 CbmStsStation* station,
107 CbmStsStationDigiPar* stationPar); // AZ-170322
108 void AddHotZones(); // AZ-180322
109
110 BmnGemStripStationSet* GemStationSet;
111 BmnSiliconStationSet* SilStationSet;
112 BmnVSPStationSet* fVspStationSet;
113
114 ClassDef(CbmStsDigiScheme, 2);
115};
116
117#endif
void Print(Bool_t kLong=kFALSE)
CbmStsSensor * GetSensor(Int_t stationNr, Int_t sectorNr, Int_t sensorNr)
Bool_t Init(CbmGeoStsPar *geoPar, CbmStsDigiPar *digiPar)
Bool_t IsNewGeometry() const
TString GetCurrentPath()
TObjArray * GetStations()
virtual ~CbmStsDigiScheme()
CbmStsSensor * GetSensorByName(TString sensorName)
CbmStsStation * GetStationByNr(Int_t stationNr)
CbmStsSector * GetSector(Int_t stationNr, Int_t sectorNr)
CbmStsStation * GetStation(Int_t iStation)
Int_t GetDetectorIdByName(TString sensorName)
static CbmStsDigiScheme * Instance(int version=1)