CMS 3D CMS Logo

PedeReader.h
Go to the documentation of this file.
1 #ifndef MILLEPEDEPEDEREADER_H
2 #define MILLEPEDEPEDEREADER_H
3 
16 #include <fstream>
17 #include <vector>
18 
21 
22 class PedeSteerer;
23 class PedeLabelerBase;
24 class Alignable;
27 
28 namespace edm {
29  class ParameterSet;
30 }
31 
32 /***************************************
33 ****************************************/
34 class PedeReader {
35 public:
38 
40  const PedeSteerer &steerer,
41  const PedeLabelerBase &labels,
42  const RunRange &runrange);
49  bool read(align::Alignables &alignables, bool setUserVars);
52  template <class T>
53  bool readIfSameLine(std::ifstream &aStream, T &outValue) const;
56  Alignable *setParameter(unsigned int paramLabel, unsigned int bufLength, const float *buf, bool setUserVars) const;
58  bool setCalibrationParameter(IntegratedCalibrationBase *calib,
59  unsigned int paramNum,
60  unsigned int bufLength,
61  const float *buf) const;
62 
65  AlignmentParameters *checkAliParams(Alignable *alignable, bool createUserVars) const;
66 
67 private:
68  // PedeReader() {} // no default ctr.
69 
70  std::ifstream myPedeResult;
73  const RunRange myRunRange;
74 
75  static const unsigned int myMaxNumValPerParam;
76 };
77 
78 #endif
~PedeReader()
non virtual destructor: do not inherit from this class
Definition: PedeReader.h:44
const PedeSteerer & mySteerer
Definition: PedeReader.h:71
std::ifstream myPedeResult
Definition: PedeReader.h:70
Definition: config.py:1
align::RunNumber RunNumber
align::RunRange RunRange
PedeLabelerBase::RunRange RunRange
Definition: PedeReader.h:37
std::vector< Alignable * > Alignables
Definition: Utilities.h:31
HLT enums.
static const unsigned int myMaxNumValPerParam
Definition: PedeReader.h:75
PedeLabelerBase::RunNumber RunNumber
Definition: PedeReader.h:36
long double T
const PedeLabelerBase & myLabels
Definition: PedeReader.h:72
const RunRange myRunRange
Definition: PedeReader.h:73