CMS 3D CMS Logo

HIPUserVariablesIORoot.h
Go to the documentation of this file.
1 #ifndef HIPUserVariablesIORoot_H
2 #define HIPUserVariablesIORoot_H
3 
6 
10 public:
11  typedef std::vector<Alignable*> Alignables;
12 
15 
17  void writeHIPUserVariables(const Alignables& alivec, const char* filename, int iter, bool validCheck, int& ierr);
18 
20  std::vector<AlignmentUserVariables*> readHIPUserVariables(const Alignables& alivec, const char* filename, int iter, int& ierr);
21 
22 
23 
24 private:
26  int writeOne(Alignable* ali) override;
27 
29  AlignmentUserVariables* readOne(Alignable* ali, int& ierr) override;
30 
32  int open(const char* filename, int iteration, bool writemode) override{ newopen=true; return openRoot(filename, iteration, writemode); }
33 
35  int close(void) override{ return closeRoot(); }
36 
37  // helper functions
38 
39  int findEntry(unsigned int detId, int comp);
40  void createBranches(void) override;
41  void setBranchAddresses(void) override;
42 
43  // data members
44 
45  static const int nparmax=19;
46 
48  int ObjId;
49  unsigned int Id;
50  int Nhit, Nparj, Npare;
51  int DataType;
52  double Jtvj[nparmax*(nparmax+1)/2];
53  double Jtve[nparmax];
54  double AlignableChi2;
55  unsigned int AlignableNdof;
56  double Par[nparmax];
57  double ParError[nparmax];
58 
59  bool newopen;
60  typedef std::map< std::pair<int, int>, int > treemaptype;
61  treemaptype treemap;
62 
63 };
64 
65 #endif
AlignmentUserVariables * readOne(Alignable *ali, int &ierr) override
int findEntry(unsigned int detId, int comp)
std::vector< Alignable * > Alignables
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]
std::map< std::pair< int, int >, int > treemaptype
(Abstract) Base class for alignment algorithm user variables
int closeRoot(void)
close IO
int openRoot(const char *filename, int iteration, bool writemode)
open IO
int open(const char *filename, int iteration, bool writemode) override