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 
10 class Alignable;
11 
13 
15  friend class AlignmentIORoot;
16 
17 private:
20 
22  int open(const char* filename, int iteration, bool writemode) override {
23  newopen = true;
24  return openRoot(filename, iteration, writemode);
25  }
26 
28  int close(void) override { return closeRoot(); }
29 
31  int writeAbsRaw(const AlignableAbsData& ad) override;
33  AlignableAbsData readAbsRaw(Alignable* ali, int& ierr) override;
35  int writeRelRaw(const AlignableRelData& ad) override;
37  AlignableRelData readRelRaw(Alignable* ali, int& ierr) override;
38 
40  void createBranches(void) override;
41  void setBranchAddresses(void) override;
42 
43  // data members
44 
47  //unsigned int Id;
49  Double_t Pos[3];
50  Double_t Rot[9];
52  enum { kMaxNumPar = 20 }; // slighly above 'two bowed surfaces' limit
54 
55  bool newopen;
56  typedef std::map<std::pair<align::ID, align::StructureType>, int> treemaptype;
57  treemaptype treemap;
58 };
59 
60 #endif
AlignableDataIORoot(PosType p)
constructor
std::map< std::pair< align::ID, align::StructureType >, int > treemaptype
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