BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnRun8DetModel.h
Go to the documentation of this file.
1
/*
2
BM@N alignment routine
3
BM@N experiment at NICA complex, JINR, 2025
4
5
Department: Math & Soft Group of HEP lab
6
Author: Igor Polev, polev@jinr.ru
7
8
BmnRun8DetModel class declaration
9
Run8 representation of detector elements via encoding
10
*/
11
12
#ifndef BMNRUN8DETMODEL_H
13
#define BMNRUN8DETMODEL_H
14
15
#include "BmnDetectorList.h"
16
#include "
BmnDetectorModel.h
"
17
18
/*
19
* Detector elements enumeration scheme
20
*
21
* SystemID - fixed constatns defined in BmnDetectorList.h
22
* StationID - sequence across all systems starting from 0 or 1 (currently 1)
23
* ModuleID - separate sequence for each station starting from 0 or 1 (currently 1)
24
*/
25
26
class
BmnRun8DetModel
:
public
BmnDetectorModel
27
{
28
protected
:
29
Int_t
fSystem
{-1},
fStation
{-1},
fModule
{-1};
30
31
enum
32
{
33
kFirst
,
34
kLast
35
};
36
// Run8 configuration definition
37
constexpr
static
const
Int_t
SIL_SYSTEM_ID
{
DetectorId::kSILICON
},
GEM_SYSTEM_ID
{
DetectorId::kGEM
},
38
SIL_STATION_CNT
{4},
GEM_STATION_CNT
{7},
STA_NUM_START
{1},
// first station number (0 or 1)
39
MOD_NUM_START
{1},
// first module number for each station (0 or 1)
40
// stations have one common index range, silicons first, then GEMs
41
SIL_STATION_IDX
[2]{
STA_NUM_START
,
STA_NUM_START
+
SIL_STATION_CNT
- 1},
42
GEM_STATION_IDX
[2]{
SIL_STATION_IDX
[
kLast
] + 1,
SIL_STATION_IDX
[
kLast
] +
GEM_STATION_CNT
},
43
SIL_MODULES
[
SIL_STATION_CNT
]{6, 10, 14, 18},
GEM_MODULES
[
GEM_STATION_CNT
]{8, 8, 8, 8, 8, 8, 8};
44
// In GEM stations each second module is a "hot zone".
45
// Hot zones should not be aligned independently.
46
47
// detector modules enumeration: see base class
48
virtual
void
Reset
() noexcept override;
49
virtual Int_t
NextID
() noexcept override;
50
51
public:
52
virtual Int_t
MaxModulesInStation
() const noexcept override;
53
virtual Int_t
Alignables
() const noexcept override;
54
virtual Int_t
IDfromHit
(Int_t HitDetectorID) const noexcept override;
55
56
BmnRun8DetModel
() = default;
57
};
58
59
#endif
// BMNRUN8DETMODEL_H
Int_t
int Int_t
BmnDetectorModel.h
kSILICON
@ kSILICON
Definition
BmnDetectorList.h:25
kGEM
@ kGEM
Definition
BmnDetectorList.h:15
BmnDetectorModel::BmnDetectorModel
BmnDetectorModel()=default
BmnRun8DetModel::GEM_MODULES
static constexpr const Int_t GEM_MODULES[GEM_STATION_CNT]
Definition
BmnRun8DetModel.h:43
BmnRun8DetModel::STA_NUM_START
static constexpr const Int_t STA_NUM_START
Definition
BmnRun8DetModel.h:38
BmnRun8DetModel::NextID
virtual Int_t NextID() noexcept override
Definition
BmnRun8DetModel.cxx:70
BmnRun8DetModel::Reset
virtual void Reset() noexcept override
Definition
BmnRun8DetModel.cxx:62
BmnRun8DetModel::SIL_SYSTEM_ID
static constexpr const Int_t SIL_SYSTEM_ID
Definition
BmnRun8DetModel.h:37
BmnRun8DetModel::MOD_NUM_START
static constexpr const Int_t MOD_NUM_START
Definition
BmnRun8DetModel.h:39
BmnRun8DetModel::SIL_MODULES
static constexpr const Int_t SIL_MODULES[SIL_STATION_CNT]
Definition
BmnRun8DetModel.h:43
BmnRun8DetModel::Alignables
virtual Int_t Alignables() const noexcept override
Definition
BmnRun8DetModel.cxx:40
BmnRun8DetModel::GEM_SYSTEM_ID
static constexpr const Int_t GEM_SYSTEM_ID
Definition
BmnRun8DetModel.h:37
BmnRun8DetModel::fStation
Int_t fStation
Definition
BmnRun8DetModel.h:29
BmnRun8DetModel::SIL_STATION_IDX
static constexpr const Int_t SIL_STATION_IDX[2]
Definition
BmnRun8DetModel.h:41
BmnRun8DetModel::IDfromHit
virtual Int_t IDfromHit(Int_t HitDetectorID) const noexcept override
Definition
BmnRun8DetModel.cxx:28
BmnRun8DetModel::fSystem
Int_t fSystem
Definition
BmnRun8DetModel.h:29
BmnRun8DetModel::BmnRun8DetModel
BmnRun8DetModel()=default
BmnRun8DetModel::kFirst
@ kFirst
Definition
BmnRun8DetModel.h:33
BmnRun8DetModel::kLast
@ kLast
Definition
BmnRun8DetModel.h:34
BmnRun8DetModel::GEM_STATION_CNT
static constexpr const Int_t GEM_STATION_CNT
Definition
BmnRun8DetModel.h:38
BmnRun8DetModel::MaxModulesInStation
virtual Int_t MaxModulesInStation() const noexcept override
Definition
BmnRun8DetModel.cxx:50
BmnRun8DetModel::SIL_STATION_CNT
static constexpr const Int_t SIL_STATION_CNT
Definition
BmnRun8DetModel.h:38
BmnRun8DetModel::fModule
Int_t fModule
Definition
BmnRun8DetModel.h:29
BmnRun8DetModel::GEM_STATION_IDX
static constexpr const Int_t GEM_STATION_IDX[2]
Definition
BmnRun8DetModel.h:42
align_new
src
BmnRun8DetModel.h
Generated on
for BmnRoot by
1.17.0