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, const char* filename, int iter, int& ierr);
22 
23 
24 
25 private:
27  int writeOne(Alignable* ali) override;
28 
30  AlignmentUserVariables* readOne(Alignable* ali, int& ierr) override;
31 
33  int open(const char* filename, int iteration, bool writemode) override{ newopen=true; return openRoot(filename, iteration, writemode); }
34 
36  int close(void) override{ return closeRoot(); }
37 
38  // helper functions
39 
40  int findEntry(unsigned int detId, int comp);
41  void createBranches(void) override;
42  void setBranchAddresses(void) override;
43 
44  // data members
45 
46  static const int nparmax=19;
47 
49  int ObjId;
50  unsigned int Id;
51  int Nhit, Nparj, Npare;
52  int DataType;
53  double Jtvj[nparmax*(nparmax+1)/2];
54  double Jtve[nparmax];
55  double AlignableChi2;
56  unsigned int AlignableNdof;
57  double Par[nparmax];
58  double ParError[nparmax];
59 
60  bool newopen;
61  typedef std::map< std::pair<int, int>, int > treemaptype;
62  treemaptype treemap;
63 
64 };
65 
66 #endif
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]
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
std::vector< Alignable * > Alignables
Definition: Utilities.h:32
int open(const char *filename, int iteration, bool writemode) override