CMS 3D CMS Logo

HIPUserVariablesIORoot.h
Go to the documentation of this file.
1 #ifndef HIPUserVariablesIORoot_H
2 #define HIPUserVariablesIORoot_H
3 
6 
11 {
12 
13  public:
14 
15  typedef std::vector<Alignable*> Alignables;
16 
19 
21  void writeHIPUserVariables (const Alignables& alivec,
22  const char* filename, int iter, bool validCheck, int& ierr);
23 
25  std::vector<AlignmentUserVariables*> readHIPUserVariables
26  (const Alignables& alivec, const char* filename, int iter, int& ierr);
27 
28 
29 
30  private:
31 
33  int writeOne(Alignable* ali);
34 
36  AlignmentUserVariables* readOne(Alignable* ali, int& ierr);
37 
39  int open(const char* filename, int iteration, bool writemode)
40  {newopen=true; return openRoot(filename,iteration,writemode);};
41 
43  int close(void) {return closeRoot();};
44 
45  // helper functions
46 
47  int findEntry(unsigned int detId,int comp);
48  void createBranches(void);
49  void setBranchAddresses(void);
50 
51  // data members
52 
53  static const int nparmax=6;
54 
56  int ObjId;
57  unsigned int Id;
59  double Jtvj[nparmax*(nparmax+1)/2];
60  double Jtve[nparmax];
61  double AlignableChi2;
62  unsigned int AlignableNdof;
63  double Par[nparmax];
64  double ParError[nparmax];
65 
66  bool newopen;
67  typedef std::map< std::pair<int,int> , int > treemaptype;
68  treemaptype treemap;
69 
70 };
71 
72 #endif
int writeOne(Alignable *ali)
int findEntry(unsigned int detId, int comp)
int open(const char *filename, int iteration, bool writemode)
std::vector< Alignable * > Alignables
AlignmentUserVariables * readOne(Alignable *ali, int &ierr)
void setBranchAddresses(void)
set root branches
void createBranches(void)
create root branches
std::map< std::pair< int, int >, int > treemaptype
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.
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