CMS 3D CMS Logo

HIPUserVariablesIORoot.h
Go to the documentation of this file.
1 #ifndef HIPUserVariablesIORoot_H
2 #define HIPUserVariablesIORoot_H
3 
7 
11 public:
13 
16 
18  void writeHIPUserVariables(const Alignables& alivec, const char* filename, int iter, bool validCheck, int& ierr);
19 
21  std::vector<AlignmentUserVariables*> readHIPUserVariables(const Alignables& alivec,
22  const char* filename,
23  int iter,
24  int& ierr);
25 
26 private:
28  int writeOne(Alignable* ali) override;
29 
31  AlignmentUserVariables* readOne(Alignable* ali, int& ierr) override;
32 
34  int open(const char* filename, int iteration, bool writemode) override {
35  newopen = true;
36  return openRoot(filename, iteration, writemode);
37  }
38 
40  int close(void) override { return closeRoot(); }
41 
42  // helper functions
43 
44  int findEntry(unsigned int detId, int comp);
45  void createBranches(void) override;
46  void setBranchAddresses(void) override;
47 
48  // data members
49 
50  static const int nparmax = 19;
51 
53  int ObjId;
54  unsigned int Id;
55  int Nhit, Nparj, Npare;
56  int DataType;
57  double Jtvj[nparmax * (nparmax + 1) / 2];
58  double Jtve[nparmax];
59  double AlignableChi2;
60  unsigned int AlignableNdof;
61  double Par[nparmax];
62  double ParError[nparmax];
63 
64  bool newopen;
65  typedef std::map<std::pair<int, int>, int> treemaptype;
67 };
68 
69 #endif
std::map< std::pair< int, int >, int > treemaptype
AlignmentUserVariables * readOne(Alignable *ali, int &ierr) override
int findEntry(unsigned int detId, int comp)
void createBranches(void) override
create root branches
void writeHIPUserVariables(const Alignables &alivec, const char *filename, int iter, bool validCheck, int &ierr)
Base class for ROOT-based I/O of Alignment parameters etc.
void setBranchAddresses(void) override
set root branches
int writeOne(Alignable *ali) override
std::vector< AlignmentUserVariables * > readHIPUserVariables(const Alignables &alivec, const char *filename, int iter, int &ierr)
double Jtvj[nparmax *(nparmax+1)/2]
(Abstract) Base class for alignment algorithm user variables
int closeRoot(void)
close IO
int openRoot(const char *filename, int iteration, bool writemode)
open IO
std::vector< Alignable * > Alignables
Definition: Utilities.h:31
int open(const char *filename, int iteration, bool writemode) override