BmnRoot
Loading...
Searching...
No Matches
CbmStsStation.h
Go to the documentation of this file.
1// -------------------------------------------------------------------------
2// ----- CbmStsStation header file -----
3// ----- Created 31/03/05 by V. Friese -----
4// -------------------------------------------------------------------------
5
13#ifndef CBMSTSSTATION_H
14#define CBMSTSSTATION_H 1
15
16#include "TNamed.h"
17#include "TObjArray.h"
18#include "TString.h"
19
20#include <map>
21
22class CbmStsSector;
24
25class CbmStsStation : public TNamed
26{
27 public:
30
41 CbmStsStation(const char* name,
42 Int_t detId,
43 Double_t z,
44 Double_t d,
45 Double_t rl,
46 Double_t rmin,
47 Double_t rmax,
48 Double_t rotation);
49
51 virtual ~CbmStsStation();
52
54 Int_t GetDetectorId() const { return fDetectorId; }
55 Int_t GetSystemId() const { return ((fDetectorId & (15 << 24)) >> 24); }
56 Int_t GetStationNr() const { return ((fDetectorId & (255 << 16)) >> 16); }
57 Double_t GetZ(Int_t it = 0);
58 Double_t GetD() const { return fD; }
59 Double_t GetRadLength() const { return fRadLength; }
60 Double_t GetRmin() const { return fRmin; }
61 Double_t GetRmax() const { return fRmax; }
62 Int_t GetNSectors() const { return fSectors->GetEntriesFast(); }
63 Int_t GetNChannels();
64 TObjArray* GetSectors() { return fSectors; }
65 CbmStsSector* GetSector(Int_t iSector) { return (CbmStsSector*)fSectors->At(iSector); }
66 CbmStsSector* GetSectorByNr(Int_t sectorNr);
67
69 void AddSector(CbmStsSectorDigiPar* sectorPar);
70 void AddSector(CbmStsSector* sector);
71
72 Int_t GetNofZ();
73 void SetZ(Double_t z) { fZ = fSensorZ[0] = z; } // AZ-210625
74
76 void Reset();
77
79 virtual void Print(Bool_t kLong);
80
81 protected:
82 TString fName; // Station name
83 Int_t fDetectorId; // Unique detector ID
84 Double32_t fZ; // z position of station centre [cm]
85 Double32_t fD; // Thickness of station
86 Double32_t fRadLength; // Radiation length of material [cm]
87 Double32_t fRmin; // Inner radius [cm]
88 Double32_t fRmax; // Outer radius [cm]
89 Double32_t fRotation; // Rotation angle in global c.s [rad]
90 TObjArray* fSectors; // Array of CbmStsSectors
91 std::map<Int_t, Int_t> fSectorMap;
92 std::map<Int_t, Int_t> fMcIdMap;
93
94 Double_t fSensorZ[30];
95
96 private:
98 CbmStsStation operator=(const CbmStsStation&);
99
100 ClassDef(CbmStsStation, 1);
101};
102
103#endif
const Float_t d
Z-ccordinate of the first GEM-station.
Definition BmnMwpcHit.cxx:7
Double32_t fRadLength
Int_t GetSystemId() const
Int_t GetDetectorId() const
virtual void Print(Bool_t kLong)
Double_t GetRadLength() const
Double32_t fRmin
Int_t GetNSectors() const
TObjArray * GetSectors()
std::map< Int_t, Int_t > fSectorMap
std::map< Int_t, Int_t > fMcIdMap
Map from sector number to index.
Double32_t fRotation
Double32_t fD
Double32_t fZ
void AddSector(CbmStsSectorDigiPar *sectorPar)
TObjArray * fSectors
Double_t GetD() const
Double_t GetRmin() const
Double_t GetZ(Int_t it=0)
Double_t GetRmax() const
Double32_t fRmax
CbmStsSector * GetSectorByNr(Int_t sectorNr)
Int_t GetStationNr() const
CbmStsSector * GetSector(Int_t iSector)
virtual ~CbmStsStation()
void SetZ(Double_t z)
Double_t fSensorZ[30]
Map from McId to index.