BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
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
6
/** CbmStsDigiScheme
7
**@author Volker Friese <v.friese@gsi.de>
8
**@since 31.08.06
9
**@version 1.0
10
**
11
** Auxiliary class for STS digitisation and hit finding.
12
** Controls the digitisation scheme of the stations and sectors.
13
**/
14
15
#ifndef CbmStsDigiScheme_H
16
#define CbmStsDigiScheme_H 1
17
18
#include "
BmnGemStripStationSet.h
"
19
#include "
BmnSiliconStationSet.h
"
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
28
class
CbmGeoStsPar
;
29
class
CbmStsDigiPar
;
30
class
CbmStsSector
;
31
class
CbmStsSensor
;
32
class
CbmStsStation
;
33
class
CbmStsStationDigiPar
;
34
35
class
CbmStsDigiScheme
:
public
TObject
36
{
37
public
:
38
/** Destructor **/
39
virtual
~CbmStsDigiScheme
();
40
41
/** Initialisation **/
42
Bool_t
Init
();
43
Bool_t
Init
(
CbmGeoStsPar
* geoPar,
CbmStsDigiPar
* digiPar);
44
45
/** Clear digitisation scheme **/
46
void
Clear
();
47
48
/** Reset eventwise counters **/
49
void
Reset
();
50
51
/** Accessors **/
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);
/** Station by index **/
58
CbmStsStation
*
GetStationByNr
(
Int_t
stationNr);
/** Station by number **/
59
CbmStsSector
*
GetSector
(
Int_t
stationNr,
Int_t
sectorNr);
/** Sector by number **/
60
CbmStsSensor
*
GetSensor
(
Int_t
stationNr,
Int_t
sectorNr,
Int_t
sensorNr);
/** Sensor by number **/
61
Int_t
GetDetectorIdByName
(
TString
sensorName);
62
CbmStsSensor
*
GetSensorByName
(
TString
sensorName);
63
64
/** Check for new geometry **/
65
Bool_t
IsNewGeometry
()
const
{
return
fIsNewGeometry
; }
66
67
/** Construct full path to a node **/
68
TString
GetCurrentPath
();
69
70
/** Screen output **/
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
;
//! Array of CbmStsStation
80
Int_t
fNSectors
;
/** Total number of sectors **/
81
Int_t
fNSensors
;
/** Total number of sensors **/
82
Int_t
fNChannels
;
/** Total number of channels **/
83
Bool_t
fIsNewGeometry
;
/** New geometry ( v12 or later ) **/
84
85
std::map<Int_t, CbmStsStation*>
fStationMap
;
//! Map from number to station
86
std::map<TString, Int_t>
fDetIdByName
;
87
std::map<TString, CbmStsSensor*>
fSensorByName
;
88
89
/** Constructor **/
90
CbmStsDigiScheme
();
91
CbmStsDigiScheme
(
const
CbmStsDigiScheme
&);
92
CbmStsDigiScheme
operator=
(
const
CbmStsDigiScheme
&);
93
94
/** New init method (from V12a on) **/
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
;
//! Entire GEM detector
111
BmnSiliconStationSet
*
SilStationSet
;
//! Entire SILICON detector
112
BmnVSPStationSet
*
fVspStationSet
;
//! Vertex Silicon Plane (CBM sensors)
113
114
ClassDef
(
CbmStsDigiScheme
, 2);
115
};
116
117
#endif
Bool_t
bool Bool_t
Int_t
int Int_t
kFALSE
constexpr Bool_t kFALSE
ClassDef
#define ClassDef(name, id)
TGeoCompositeShape.h
TObjArray.h
TObject.h
BmnGemStripStationSet
Definition
BmnGemStripStationSet.h:15
BmnSiliconStationSet
Definition
BmnSiliconStationSet.h:14
BmnVSPStationSet
Definition
BmnVSPStationSet.h:14
CbmGeoStsPar
Definition
CbmGeoStsPar.h:8
CbmStsDigiPar
Definition
CbmStsDigiPar.h:31
CbmStsDigiScheme
Definition
CbmStsDigiScheme.h:36
CbmStsDigiScheme::CbmStsDigiScheme
CbmStsDigiScheme(const CbmStsDigiScheme &)
CbmStsDigiScheme::Print
void Print(Bool_t kLong=kFALSE)
Screen output.
CbmStsDigiScheme::GetSensor
CbmStsSensor * GetSensor(Int_t stationNr, Int_t sectorNr, Int_t sensorNr)
Sector by number.
CbmStsDigiScheme::SetSensorsCbm
Int_t SetSensorsCbm(Int_t moduleNr, Int_t statNr, CbmStsStation *station, CbmStsStationDigiPar *stationPar)
CbmStsDigiScheme::InitNew
Bool_t InitNew(CbmGeoStsPar *geoPar, CbmStsDigiPar *digiPar)
New init method (from V12a on).
CbmStsDigiScheme::fgInstance
static CbmStsDigiScheme * fgInstance
Definition
CbmStsDigiScheme.h:77
CbmStsDigiScheme::GemStationSet
BmnGemStripStationSet * GemStationSet
Definition
CbmStsDigiScheme.h:110
CbmStsDigiScheme::Init
Bool_t Init(CbmGeoStsPar *geoPar, CbmStsDigiPar *digiPar)
CbmStsDigiScheme::fSensorByName
std::map< TString, CbmStsSensor * > fSensorByName
Definition
CbmStsDigiScheme.h:87
CbmStsDigiScheme::IsNewGeometry
Bool_t IsNewGeometry() const
Check for new geometry.
Definition
CbmStsDigiScheme.h:65
CbmStsDigiScheme::fNSensors
Int_t fNSensors
Total number of sectors.
Definition
CbmStsDigiScheme.h:81
CbmStsDigiScheme::fIsNewGeometry
Bool_t fIsNewGeometry
Total number of channels.
Definition
CbmStsDigiScheme.h:83
CbmStsDigiScheme::Init
Bool_t Init()
Initialisation.
CbmStsDigiScheme::fStations
TObjArray * fStations
Definition
CbmStsDigiScheme.h:79
CbmStsDigiScheme::GetCurrentPath
TString GetCurrentPath()
Construct full path to a node.
CbmStsDigiScheme::fDetIdByName
std::map< TString, Int_t > fDetIdByName
Map from number to station.
Definition
CbmStsDigiScheme.h:86
CbmStsDigiScheme::GetNSensors
Int_t GetNSensors()
Definition
CbmStsDigiScheme.h:54
CbmStsDigiScheme::fStationMap
std::map< Int_t, CbmStsStation * > fStationMap
New geometry ( v12 or later ).
Definition
CbmStsDigiScheme.h:85
CbmStsDigiScheme::GetStations
TObjArray * GetStations()
Definition
CbmStsDigiScheme.h:56
CbmStsDigiScheme::fVersion
static int fVersion
Definition
CbmStsDigiScheme.h:78
CbmStsDigiScheme::operator=
CbmStsDigiScheme operator=(const CbmStsDigiScheme &)
CbmStsDigiScheme::GetNSectors
Int_t GetNSectors()
Definition
CbmStsDigiScheme.h:53
CbmStsDigiScheme::InitNewNew
Bool_t InitNewNew(CbmGeoStsPar *geoPar, CbmStsDigiPar *digiPar)
CbmStsDigiScheme::fNChannels
Int_t fNChannels
Total number of sensors.
Definition
CbmStsDigiScheme.h:82
CbmStsDigiScheme::~CbmStsDigiScheme
virtual ~CbmStsDigiScheme()
Destructor.
CbmStsDigiScheme::GetSensorByName
CbmStsSensor * GetSensorByName(TString sensorName)
CbmStsDigiScheme::Clear
void Clear()
Clear digitisation scheme.
CbmStsDigiScheme::Reset
void Reset()
Reset eventwise counters.
CbmStsDigiScheme::GetStationByNr
CbmStsStation * GetStationByNr(Int_t stationNr)
Station by index.
CbmStsDigiScheme::AddHotZones
void AddHotZones()
CbmStsDigiScheme::AddHotZone
Int_t AddHotZone(Int_t moduleNr, Int_t statNr, CbmStsStation *station, CbmStsStationDigiPar *stationPar)
CbmStsDigiScheme::GetSector
CbmStsSector * GetSector(Int_t stationNr, Int_t sectorNr)
Station by number.
CbmStsDigiScheme::CbmStsDigiScheme
CbmStsDigiScheme()
Constructor.
Definition
CbmStsDigiScheme.cxx:46
CbmStsDigiScheme::GetNStations
Int_t GetNStations()
Accessors.
Definition
CbmStsDigiScheme.h:52
CbmStsDigiScheme::GetStation
CbmStsStation * GetStation(Int_t iStation)
CbmStsDigiScheme::GetNChannels
Int_t GetNChannels()
Definition
CbmStsDigiScheme.h:55
CbmStsDigiScheme::SilStationSet
BmnSiliconStationSet * SilStationSet
Entire GEM detector.
Definition
CbmStsDigiScheme.h:111
CbmStsDigiScheme::GetDetectorIdByName
Int_t GetDetectorIdByName(TString sensorName)
Sensor by number.
CbmStsDigiScheme::Instance
static CbmStsDigiScheme * Instance(int version=1)
CbmStsDigiScheme::SetSensor
CbmStsSector * SetSensor(Int_t moduleNr, Int_t statNr, CbmStsStation *station, CbmStsStationDigiPar *stationPar)
CbmStsDigiScheme::fVspStationSet
BmnVSPStationSet * fVspStationSet
Entire SILICON detector.
Definition
CbmStsDigiScheme.h:112
CbmStsDigiScheme::fNSectors
Int_t fNSectors
Array of CbmStsStation.
Definition
CbmStsDigiScheme.h:80
CbmStsSector
Definition
CbmStsSector.h:44
CbmStsSensor
Definition
CbmStsSensor.h:44
CbmStsStationDigiPar
CbmStsStationDigiPar.h.
Definition
CbmStsStationDigiPar.h:20
CbmStsStation
Definition
CbmStsStation.h:26
TObjArray
TObject
TString
BmnGemStripStationSet.h
BmnSiliconStationSet.h
BmnVSPStationSet.h
install
include
CbmStsDigiScheme.h
Generated on
for BmnRoot by
1.17.0