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 ****************************************/
35 {
36  public:
37 
40 
41  PedeReader(const edm::ParameterSet &config, const PedeSteerer &steerer,
42  const PedeLabelerBase &labels, 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,
57  bool setUserVars) const;
59  bool setCalibrationParameter(IntegratedCalibrationBase* calib, unsigned int paramNum,
60  unsigned int bufLength, const float *buf) const;
61 
64  AlignmentParameters* checkAliParams(Alignable *alignable, bool createUserVars) const;
65  private:
66  // PedeReader() {} // no default ctr.
67 
68  std::ifstream myPedeResult;
71  const RunRange myRunRange;
72 
73  static const unsigned int myMaxNumValPerParam;
74 };
75 
76 #endif
~PedeReader()
non virtual destructor: do not inherit from this class
Definition: PedeReader.h:44
const PedeSteerer & mySteerer
Definition: PedeReader.h:69
std::ifstream myPedeResult
Definition: PedeReader.h:68
Definition: config.py:1
align::RunNumber RunNumber
align::RunRange RunRange
PedeLabelerBase::RunRange RunRange
Definition: PedeReader.h:39
std::vector< Alignable * > Alignables
Definition: Utilities.h:32
HLT enums.
static const unsigned int myMaxNumValPerParam
Definition: PedeReader.h:73
PedeLabelerBase::RunNumber RunNumber
Definition: PedeReader.h:38
long double T
const PedeLabelerBase & myLabels
Definition: PedeReader.h:70
const RunRange myRunRange
Definition: PedeReader.h:71