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 {
16 
17  friend class AlignmentIORoot;
18 
19  private:
22 
24  int open(const char* filename, int iteration, bool writemode) override
25  { newopen=true; return openRoot(filename,iteration,writemode); }
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 
61 
62 
63 #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