CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PixelDACScanRange.cc
Go to the documentation of this file.
1 //
2 // This class collects the information
3 // about the range of DAC settings used
4 // in scans of the DACs.
5 //
6 //
7 //
8 
11 #include <iostream>
12 #include <assert.h>
13 
14 using namespace pos;
15 
16 PixelDACScanRange::PixelDACScanRange(std::string name, unsigned int first,
17  unsigned int last, unsigned int step,
18  unsigned int index, bool mixValuesAcrossROCs){
19 
20  uniformSteps_=true;
21  relative_=false;
22  negative_=false;
23 
24  first_=first;
25  last_=last;
26  step_=step;
27 
28  name_=name;
29  index_=index;
31  if (first_==last_) assert( mixValuesAcrossROCs==false );
32  while(first<=last){
33  values_.push_back(first);
34  first+=step;
35  //FIXME should have a better reporting
36  assert(values_.size()<1000);
37  }
38 
39  setDACChannel(name);
40 
41 }
42 
44  std::vector<unsigned int> values,
45  unsigned int index, bool mixValuesAcrossROCs){
46 
47  uniformSteps_=false;
48  relative_=false;
49  negative_=false;
50 
51  name_=name;
54  assert( mixValuesAcrossROCs==false );
55 
56  setDACChannel(name);
57 
58 }
59 
60 
62 
63  if (name==pos::k_DACName_Vdd) {
65  } else if (name==pos::k_DACName_Vana) {
67  } else if (name==pos::k_DACName_Vsf) {
69  } else if (name==pos::k_DACName_Vcomp) {
71  } else if (name==pos::k_DACName_Vleak) {
73  } else if (name==pos::k_DACName_VrgPr) {
75  } else if (name==pos::k_DACName_VwllPr) {
77  } else if (name==pos::k_DACName_VrgSh) {
79  } else if (name==pos::k_DACName_VwllSh) {
81  } else if (name==pos::k_DACName_VHldDel) {
83  } else if (name==pos::k_DACName_Vtrim) {
85  } else if (name==pos::k_DACName_VcThr) {
87  } else if (name==pos::k_DACName_VIbias_bus) {
89  } else if (name==pos::k_DACName_VIbias_sf) {
91  } else if (name==pos::k_DACName_VOffsetOp) {
93  } else if (name==pos::k_DACName_VbiasOp) {
95  } else if (name==pos::k_DACName_VOffsetRO) {
97  } else if (name==pos::k_DACName_VIon) {
99  } else if (name==pos::k_DACName_VIbias_PH) {
101  } else if (name==pos::k_DACName_VIbias_DAC) {
103  } else if (name==pos::k_DACName_VIbias_roc) {
105  } else if (name==pos::k_DACName_VIColOr) {
107  } else if (name==pos::k_DACName_Vnpix) {
109  } else if (name==pos::k_DACName_VsumCol) {
111  } else if (name==pos::k_DACName_Vcal) {
113  } else if (name==pos::k_DACName_CalDel) {
115  } else if (name==pos::k_DACName_WBC) {
117  } else if (name==pos::k_DACName_ChipContReg) {
119  } else {
120  std::cout << __LINE__ << "]\t[PixelDACScanRange::setDACChannel()]\t\t\t "
121  << "The dac name: " << name << " is unknown!" << std::endl;
122  assert(0);
123  }
124 }
125 
const std::string k_DACName_VcThr
Definition: PixelDACNames.h:24
const std::string k_DACName_VrgPr
Definition: PixelDACNames.h:18
const unsigned int k_DACAddress_VwllSh
Definition: PixelDACNames.h:51
const unsigned int k_DACAddress_VIbias_sf
Definition: PixelDACNames.h:56
const std::string k_DACName_ChipContReg
Definition: PixelDACNames.h:41
std::vector< unsigned int > values_
const unsigned int k_DACAddress_VIbias_DAC
Definition: PixelDACNames.h:62
const std::string k_DACName_Vsf
Definition: PixelDACNames.h:15
const std::string k_DACName_CalDel
Definition: PixelDACNames.h:38
unsigned int last() const
bool mixValuesAcrossROCs() const
const std::string k_DACName_VIbias_sf
Definition: PixelDACNames.h:26
list step
Definition: launcher.py:15
const unsigned int k_DACAddress_WBC
Definition: PixelDACNames.h:70
const unsigned int k_DACAddress_VIon
Definition: PixelDACNames.h:60
const std::string k_DACName_Vtrim
Definition: PixelDACNames.h:23
const std::string k_DACName_VIbias_DAC
Definition: PixelDACNames.h:32
const std::string k_DACName_VwllSh
Definition: PixelDACNames.h:21
const std::string k_DACName_Vnpix
Definition: PixelDACNames.h:35
const std::string k_DACName_Vleak
Definition: PixelDACNames.h:17
const unsigned int k_DACAddress_VIbias_PH
Definition: PixelDACNames.h:61
const std::string k_DACName_VIbias_PH
Definition: PixelDACNames.h:31
const std::string k_DACName_VOffsetRO
Definition: PixelDACNames.h:29
const std::string k_DACName_VIbias_bus
Definition: PixelDACNames.h:25
const std::string k_DACName_VIColOr
Definition: PixelDACNames.h:34
const unsigned int k_DACAddress_Vsf
Definition: PixelDACNames.h:45
const unsigned int k_DACAddress_Vdd
Definition: PixelDACNames.h:43
const std::string k_DACName_VOffsetOp
Definition: PixelDACNames.h:27
std::string name() const
const unsigned int k_DACAddress_VHldDel
Definition: PixelDACNames.h:52
const unsigned int k_DACAddress_VIColOr
Definition: PixelDACNames.h:64
const unsigned int k_DACAddress_Vnpix
Definition: PixelDACNames.h:65
const unsigned int k_DACAddress_VrgSh
Definition: PixelDACNames.h:50
const unsigned int k_DACAddress_Vcomp
Definition: PixelDACNames.h:46
const unsigned int k_DACAddress_VOffsetRO
Definition: PixelDACNames.h:59
unsigned int first() const
unsigned int step() const
const std::string k_DACName_VbiasOp
Definition: PixelDACNames.h:28
const std::string k_DACName_VIbias_roc
Definition: PixelDACNames.h:33
bool first
Definition: L1TdeRCT.cc:79
const std::string k_DACName_Vcal
Definition: PixelDACNames.h:37
const unsigned int k_DACAddress_VsumCol
Definition: PixelDACNames.h:66
const unsigned int k_DACAddress_ChipContReg
Definition: PixelDACNames.h:71
const std::string k_DACName_VrgSh
Definition: PixelDACNames.h:20
const std::string k_DACName_VIon
Definition: PixelDACNames.h:30
const unsigned int k_DACAddress_VcThr
Definition: PixelDACNames.h:54
std::vector< unsigned int > values() const
const std::string k_DACName_Vcomp
Definition: PixelDACNames.h:16
const unsigned int k_DACAddress_Vleak
Definition: PixelDACNames.h:47
const std::string k_DACName_WBC
Definition: PixelDACNames.h:40
const std::string k_DACName_Vdd
Definition: PixelDACNames.h:13
const unsigned int k_DACAddress_VOffsetOp
Definition: PixelDACNames.h:57
const std::string k_DACName_VHldDel
Definition: PixelDACNames.h:22
const unsigned int k_DACAddress_Vcal
Definition: PixelDACNames.h:67
const unsigned int k_DACAddress_VbiasOp
Definition: PixelDACNames.h:58
const std::string k_DACName_VsumCol
Definition: PixelDACNames.h:36
void setDACChannel(std::string name)
const unsigned int k_DACAddress_VwllPr
Definition: PixelDACNames.h:49
A dummy class with ALL public variables.
tuple cout
Definition: gather_cfg.py:41
const unsigned int k_DACAddress_VrgPr
Definition: PixelDACNames.h:48
const unsigned int k_DACAddress_Vana
Definition: PixelDACNames.h:44
unsigned int index() const
const std::string k_DACName_Vana
Definition: PixelDACNames.h:14
const unsigned int k_DACAddress_Vtrim
Definition: PixelDACNames.h:53
const unsigned int k_DACAddress_CalDel
Definition: PixelDACNames.h:68
const unsigned int k_DACAddress_VIbias_roc
Definition: PixelDACNames.h:63
const unsigned int k_DACAddress_VIbias_bus
Definition: PixelDACNames.h:55
const std::string k_DACName_VwllPr
Definition: PixelDACNames.h:19