BmnRoot
26.10.0-210-gc52d34b0
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnLambdaMisc.h
Go to the documentation of this file.
1
// @(#)bmnroot/embedding:$Id$
2
// Author: Pavel Batyuk <pavel.batyuk@jinr.ru> 2019-12-07
3
4
////////////////////////////////////////////////////////////////////////////////
5
// //
6
// BmnLambdaMisc //
7
// //
8
// Useful instruments to work with mapping files (GEM, SILICON) //
9
// (reading, sorting, correspondence e.t.c.) //
10
// //
11
////////////////////////////////////////////////////////////////////////////////
12
13
#ifndef BMNLAMBDAMISC_H
14
#define BMNLAMBDAMISC_H 1
15
16
#include <
BmnCSCDigit.h
>
17
#include <
BmnCSCStationSet.h
>
18
#include <
BmnGemStripDigit.h
>
19
#include <
BmnGemStripStationSet.h
>
20
#include <
BmnLambdaEmbeddingQa.h
>
21
#include <
BmnSiliconDigit.h
>
22
#include <
BmnSiliconStationSet.h
>
23
#include <
TClonesArray.h
>
24
#include <
TNamed.h
>
25
#include <
TSystem.h
>
26
#include <fstream>
27
#include <iostream>
28
#include <map>
29
#include <vector>
30
31
using namespace
std;
32
33
class
MappingInfo
:
public
TObject
34
{
35
public
:
36
MappingInfo
() {};
37
38
MappingInfo
(
Int_t
stat,
TString
map, pair<Int_t, Int_t> ch, pair<Int_t, Int_t> str)
39
:
channel
(-1)
40
,
strip
(-1)
41
{
42
station
= stat;
43
mapFile
= map;
44
channels
= ch;
45
strips
= str;
46
}
47
48
MappingInfo
(
Int_t
stat,
TString
map,
Int_t
ch,
Int_t
str)
49
:
channels
(make_pair(-1, -1.))
50
,
strips
(make_pair(-1, -1))
51
{
52
station
= stat;
53
mapFile
= map;
54
channel
= ch;
55
strip
= str;
56
}
57
58
MappingInfo
(
Int_t
stat,
TString
mapping, map<Int_t, Int_t> strGlobChan)
59
:
channels
(make_pair(-1, -1.))
60
,
strips
(make_pair(-1, -1))
61
,
channel
(-1)
62
,
strip
(-1)
63
{
64
station
= stat;
65
mapFile
= mapping;
66
stripChan
= strGlobChan;
67
}
68
69
virtual
~MappingInfo
() {};
70
71
Int_t
station
;
72
TString
mapFile
;
73
pair<Int_t, Int_t>
channels
;
74
pair<Int_t, Int_t>
strips
;
75
76
// Additional data members ...
77
Int_t
channel
;
78
Int_t
strip
;
79
80
map<Int_t, Int_t>
stripChan
;
81
};
82
83
class
BmnLambdaMisc
:
public
TNamed
84
{
85
public
:
86
BmnLambdaMisc
();
87
88
virtual
~BmnLambdaMisc
();
89
90
/* GEM */
91
Int_t
GemDigiToChannel
(
BmnStripDigit
*,
Long_t
&);
// GEM-digi ---> channel (serial)
92
TString
GemDigiToMapping
(
BmnStripDigit
*);
// GEM-digi ---> corresponding <strip-channel> mapping
93
Long_t
GemDigiChannelToSerial
(pair<BmnStripDigit, Int_t>);
// GEM-digi + channel ---> serial
94
Long_t
GetGemSerial
(
Int_t
,
Int_t
,
Int_t
,
Int_t
);
// (st, mod, id, channel ---> serial)
95
96
/* CSC */
97
Int_t
CscDigiToChannel
(
BmnStripDigit
*,
Long_t
&);
// CSC-digi ---> channel (serial)
98
99
/* SILICON */
100
void
SiliconDigiToChannelSampleSerial
(
BmnStripDigit
*,
101
Int_t
&,
102
Int_t
&,
103
Long_t
&);
// SILICON-digi ---> &channel, &sample, &serial
104
105
/* Supplementary methods to be used for testing */
106
void
CheckStripOverlaps
();
// To be used for checking whether strips from common serial are overlapped with those
107
// ones from other serials or not ...
108
109
private
:
110
void
GEM
();
111
void
SILICON
();
112
void
CSC
();
113
114
private
:
115
/* GEM */
116
vector<vector<Int_t>>
fGemStatModId
;
// vector of (stat, module, id)
117
/* SILICON */
118
vector<vector<Int_t>>
fSiliconStatModLayId
;
// vector of (stat, module, layer, id)
119
/* CSC */
120
vector<vector<Int_t>>
fCscStatModLay
;
// vector of (stat, module, layer)
121
122
/* GEM */
123
// Map with commonSerial only ...
124
map<vector<Int_t>, vector<Long_t>>
corrMapCommonSerial
;
// <st, mod, id> ---> <low, high, serial>
125
126
// Map with no commonSerial included ...
127
map<vector<Int_t>, vector<Long_t>>
corrMapNoCommonSerial
;
// <st, mod, id> ---> <low, high, serial>
128
129
/* SILICON */
130
// Map with SILICON serials ...
131
map<vector<Int_t>, vector<Long_t>>
serialsSilicon
;
// <st, mod, layer, id> ---> <low, high, serial>
132
133
/* CSC */
134
// Map with CSC serials ...
135
map<vector<Int_t>, vector<Long_t>>
serialsCsc
;
// <st, mod, layer> ---> <low, high, serial>
136
137
// Geometry sets ...
138
BmnGemStripStationSet
*
fDetectorGEM
;
139
BmnSiliconStationSet
*
fDetectorSI
;
140
BmnCSCStationSet
*
fDetectorCSC
;
141
142
UInt_t
FindChannelByStrip
(
TString
,
Int_t
);
143
144
void
ParseStripChannelMapping
(
TString
,
Int_t
, map<Int_t, Int_t>&);
145
146
ClassDef
(
BmnLambdaMisc
, 1)
147
};
148
149
#endif
BmnCSCDigit.h
BmnCSCStationSet.h
BmnGemStripDigit.h
BmnGemStripStationSet.h
BmnLambdaEmbeddingQa.h
BmnSiliconDigit.h
BmnSiliconStationSet.h
Int_t
int Int_t
Long_t
long Long_t
ClassDef
#define ClassDef(name, id)
TClonesArray.h
TNamed.h
TSystem.h
BmnCSCStationSet
Definition
BmnCSCStationSet.h:14
BmnGemStripStationSet
Definition
BmnGemStripStationSet.h:15
BmnLambdaMisc::serialsCsc
map< vector< Int_t >, vector< Long_t > > serialsCsc
Definition
BmnLambdaMisc.h:135
BmnLambdaMisc::fCscStatModLay
vector< vector< Int_t > > fCscStatModLay
Definition
BmnLambdaMisc.h:120
BmnLambdaMisc::GemDigiToMapping
TString GemDigiToMapping(BmnStripDigit *)
Definition
BmnLambdaMisc.cxx:350
BmnLambdaMisc::GemDigiToChannel
Int_t GemDigiToChannel(BmnStripDigit *, Long_t &)
Definition
BmnLambdaMisc.cxx:420
BmnLambdaMisc::FindChannelByStrip
UInt_t FindChannelByStrip(TString, Int_t)
Definition
BmnLambdaMisc.cxx:534
BmnLambdaMisc::SILICON
void SILICON()
Definition
BmnLambdaMisc.cxx:78
BmnLambdaMisc::SiliconDigiToChannelSampleSerial
void SiliconDigiToChannelSampleSerial(BmnStripDigit *, Int_t &, Int_t &, Long_t &)
Definition
BmnLambdaMisc.cxx:328
BmnLambdaMisc::CSC
void CSC()
Definition
BmnLambdaMisc.cxx:110
BmnLambdaMisc::CheckStripOverlaps
void CheckStripOverlaps()
Definition
BmnLambdaMisc.cxx:140
BmnLambdaMisc::CscDigiToChannel
Int_t CscDigiToChannel(BmnStripDigit *, Long_t &)
Definition
BmnLambdaMisc.cxx:283
BmnLambdaMisc::GemDigiChannelToSerial
Long_t GemDigiChannelToSerial(pair< BmnStripDigit, Int_t >)
Definition
BmnLambdaMisc.cxx:553
BmnLambdaMisc::fDetectorSI
BmnSiliconStationSet * fDetectorSI
Definition
BmnLambdaMisc.h:139
BmnLambdaMisc::GEM
void GEM()
Definition
BmnLambdaMisc.cxx:42
BmnLambdaMisc::fDetectorCSC
BmnCSCStationSet * fDetectorCSC
Definition
BmnLambdaMisc.h:140
BmnLambdaMisc::corrMapCommonSerial
map< vector< Int_t >, vector< Long_t > > corrMapCommonSerial
Definition
BmnLambdaMisc.h:124
BmnLambdaMisc::corrMapNoCommonSerial
map< vector< Int_t >, vector< Long_t > > corrMapNoCommonSerial
Definition
BmnLambdaMisc.h:127
BmnLambdaMisc::fSiliconStatModLayId
vector< vector< Int_t > > fSiliconStatModLayId
Definition
BmnLambdaMisc.h:118
BmnLambdaMisc::BmnLambdaMisc
BmnLambdaMisc()
Definition
BmnLambdaMisc.cxx:5
BmnLambdaMisc::serialsSilicon
map< vector< Int_t >, vector< Long_t > > serialsSilicon
Definition
BmnLambdaMisc.h:131
BmnLambdaMisc::fDetectorGEM
BmnGemStripStationSet * fDetectorGEM
Definition
BmnLambdaMisc.h:138
BmnLambdaMisc::~BmnLambdaMisc
virtual ~BmnLambdaMisc()
Definition
BmnLambdaMisc.cxx:28
BmnLambdaMisc::GetGemSerial
Long_t GetGemSerial(Int_t, Int_t, Int_t, Int_t)
Definition
BmnLambdaMisc.cxx:268
BmnLambdaMisc::ParseStripChannelMapping
void ParseStripChannelMapping(TString, Int_t, map< Int_t, Int_t > &)
Definition
BmnLambdaMisc.cxx:215
BmnLambdaMisc::fGemStatModId
vector< vector< Int_t > > fGemStatModId
Definition
BmnLambdaMisc.h:116
BmnSiliconStationSet
Definition
BmnSiliconStationSet.h:14
BmnStripDigit
Class BmnStripDigit Base class for strip detector digits.
Definition
BmnStripDigit.h:14
MappingInfo::MappingInfo
MappingInfo(Int_t stat, TString mapping, map< Int_t, Int_t > strGlobChan)
Definition
BmnLambdaMisc.h:58
MappingInfo::mapFile
TString mapFile
Definition
BmnLambdaMisc.h:72
MappingInfo::channels
pair< Int_t, Int_t > channels
Definition
BmnLambdaMisc.h:73
MappingInfo::stripChan
map< Int_t, Int_t > stripChan
Definition
BmnLambdaMisc.h:80
MappingInfo::strips
pair< Int_t, Int_t > strips
Definition
BmnLambdaMisc.h:74
MappingInfo::MappingInfo
MappingInfo(Int_t stat, TString map, pair< Int_t, Int_t > ch, pair< Int_t, Int_t > str)
Definition
BmnLambdaMisc.h:38
MappingInfo::~MappingInfo
virtual ~MappingInfo()
Definition
BmnLambdaMisc.h:69
MappingInfo::channel
Int_t channel
Definition
BmnLambdaMisc.h:77
MappingInfo::station
Int_t station
Definition
BmnLambdaMisc.h:71
MappingInfo::strip
Int_t strip
Definition
BmnLambdaMisc.h:78
MappingInfo::MappingInfo
MappingInfo()
Definition
BmnLambdaMisc.h:36
MappingInfo::MappingInfo
MappingInfo(Int_t stat, TString map, Int_t ch, Int_t str)
Definition
BmnLambdaMisc.h:48
TNamed::TNamed
TNamed()
TObject::TObject
TObject()
TString
physics
embedding
BmnLambdaMisc.h
Generated on
for BmnRoot by
1.17.0