SimRomanPot
SimFP420
src
DigiConverterFP420.cc
Go to the documentation of this file.
1
// File: DigiConverterFP420.cc
3
// Date: 12.2006
4
// Description: DigiConverterFP420 for FP420
5
// Modifications:
7
#include "
SimRomanPot/SimFP420/interface/DigiConverterFP420.h
"
8
9
DigiConverterFP420::DigiConverterFP420
(
float
in
,
int
verbosity
) {
10
electronperADC
=
in
;
11
verbos
=
verbosity
;
12
13
constexpr
int
defaultBits = 10;
14
constexpr
int
largestBits = 30;
15
constexpr
unsigned
int
allOne = ~0;
16
17
// example is in SiStrips:
18
// static SimpleConfigurable<int>
19
// adcBits(defaultBits, "DigiConverterFP420:rawDataAdcBits");
20
adcBits
= defaultBits;
21
22
if
(
adcBits
> largestBits ||
adcBits
< 1)
23
adcBits
= largestBits;
24
25
theMaxADC
= ~(allOne <<
adcBits
);
26
// std::cout << "theMaxADC= "<< theMaxADC << std::endl; // = 1023
27
if
(
verbos
> 0) {
28
std::cout
<<
" ***DigiConverterFP420: constructor"
<< std::endl;
29
std::cout
<<
"with known electronperADC = "
<<
electronperADC
<<
"the adcBits = "
<<
adcBits
30
<<
" theMaxADC= "
<<
theMaxADC
<<
"for known defaultBits= "
<< defaultBits
31
<<
" largestBits= "
<< largestBits << std::endl;
32
}
33
}
34
35
DConverterFP420::DigitalMapType
DigiConverterFP420::convert
(
const
signal_map_type
&analogSignal) {
36
DConverterFP420::DigitalMapType
_temp;
37
38
for
(signal_map_type::const_iterator
i
= analogSignal.begin();
i
!= analogSignal.end();
i
++) {
39
// convert analog amplitude to digital, means integer number simulating ADC
40
// digitization!
41
// with truncation check
42
int
adc
=
convert
((*i).second);
43
44
if
(
verbos
> 0) {
45
std::cout
<<
" ***DigiConverterFP420: convert: after truncation "
<< std::endl;
46
std::cout
<<
"adc = "
<<
adc
<<
" (*i).first = "
<< (*i).first << std::endl;
47
}
48
if
(
adc
> 0)
49
_temp.insert(_temp.end(),
DigitalMapType::value_type
((*i).first,
adc
));
50
}
51
52
return
_temp;
53
}
54
55
int
DigiConverterFP420::truncate
(
float
in_adc) {
56
int
adc
=
int
(in_adc);
57
if
(
verbos
> 0) {
58
std::cout
<<
" ***DigiConverterFP420: truncate"
<< std::endl;
59
std::cout
<<
"if adc = "
<<
adc
<<
"bigger theMaxADC = "
<<
theMaxADC
<<
" adc=theMaxADC !!!"
<< std::endl;
60
}
61
if
(
adc
>
theMaxADC
)
62
adc
=
theMaxADC
;
63
64
return
adc
;
65
}
HIPAlignmentAlgorithm_cfi.verbosity
verbosity
Definition:
HIPAlignmentAlgorithm_cfi.py:7
mps_fire.i
i
Definition:
mps_fire.py:428
gpuClustering::adc
uint16_t *__restrict__ uint16_t const *__restrict__ adc
Definition:
gpuClusterChargeCut.h:20
gather_cfg.cout
cout
Definition:
gather_cfg.py:144
DigiConverterFP420::electronperADC
float electronperADC
Definition:
DigiConverterFP420.h:16
DigiConverterFP420::convert
DigitalMapType convert(const signal_map_type &) override
Definition:
DigiConverterFP420.cc:35
DigiConverterFP420::DigiConverterFP420
DigiConverterFP420(float in, int)
Definition:
DigiConverterFP420.cc:9
DigiConverterFP420::adcBits
int adcBits
Definition:
DigiConverterFP420.h:18
DigiConverterFP420::verbos
int verbos
Definition:
DigiConverterFP420.h:19
recoMuon::in
Definition:
RecoMuonEnumerators.h:6
DigiConverterFP420::theMaxADC
int theMaxADC
Definition:
DigiConverterFP420.h:17
createfilelist.int
int
Definition:
createfilelist.py:10
DigiConverterFP420::truncate
int truncate(float in_adc)
Definition:
DigiConverterFP420.cc:55
DConverterFP420::signal_map_type
PileUpFP420::signal_map_type signal_map_type
Definition:
DConverterFP420.h:9
reco::JetExtendedAssociation::value_type
Container::value_type value_type
Definition:
JetExtendedAssociation.h:30
DConverterFP420::DigitalMapType
std::map< int, int, std::less< int > > DigitalMapType
Definition:
DConverterFP420.h:8
DigiConverterFP420.h
Generated for CMSSW Reference Manual by
1.8.16