CMS 3D CMS Logo

AlignableDataIORoot.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignmentAlgorithm_AlignableDataIORoot_h
2 #define Alignment_CommonAlignmentAlgorithm_AlignableDataIORoot_h
3 
4 #include <map>
5 
9 
11 
13 {
14 
15  friend class AlignmentIORoot;
16 
17  private:
20 
22  int open(const char* filename, int iteration, bool writemode) override
23  { newopen=true; return openRoot(filename,iteration,writemode); }
24 
26  int close(void) override{ return closeRoot(); }
27 
29  int writeAbsRaw(const AlignableAbsData &ad) override;
31  AlignableAbsData readAbsRaw(Alignable* ali,int& ierr) override;
33  int writeRelRaw(const AlignableRelData &ad) override;
35  AlignableRelData readRelRaw(Alignable* ali,int& ierr) override;
36 
38  void createBranches(void) override;
39  void setBranchAddresses(void) override;
40 
41  // data members
42 
45  //unsigned int Id;
47  Double_t Pos[3];
48  Double_t Rot[9];
50  enum {kMaxNumPar = 20}; // slighly above 'two bowed surfaces' limit
52 
53  bool newopen;
54  typedef std::map< std::pair<align::ID, align::StructureType>, int > treemaptype;
55  treemaptype treemap;
56 
57 };
58 
59 
60 
61 #endif
AlignableDataIORoot(PosType p)
constructor
void setBranchAddresses(void) override
set root branches
AlignableAbsData readAbsRaw(Alignable *ali, int &ierr) override
read absolute positions
uint32_t ID
Definition: Definitions.h:26
AlignableRelData readRelRaw(Alignable *ali, int &ierr) override
read relative positions
int close(void) override
close IO
Base class for ROOT-based I/O of Alignment parameters etc.
Float_t deformationValues_[kMaxNumPar]
int findEntry(align::ID, align::StructureType)
concrete class for ROOT based IO of Alignable positions
void createBranches(void) override
create root branches
int writeRelRaw(const AlignableRelData &ad) override
write relative positions
align::StructureType ObjId
root tree contents
int closeRoot(void)
close IO
int writeAbsRaw(const AlignableAbsData &ad) override
write absolute positions
int openRoot(const char *filename, int iteration, bool writemode)
open IO
int open(const char *filename, int iteration, bool writemode) override
open IO
std::map< std::pair< align::ID, align::StructureType >, int > treemaptype