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;
58 };
59 
60 #endif
AlignableDataIORoot::deformationValues_
Float_t deformationValues_[kMaxNumPar]
Definition: AlignableDataIORoot.h:53
AlignmentIORootBase::closeRoot
int closeRoot(void)
close IO
Definition: AlignmentIORootBase.cc:92
AlignableDataIORoot::Id
align::ID Id
Definition: AlignableDataIORoot.h:48
StructureType.h
AlignableDataIO.h
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
Alignable
Definition: Alignable.h:27
AlignableDataIORoot::findEntry
int findEntry(align::ID, align::StructureType)
Definition: AlignableDataIORoot.cc:52
AlignableDataIORoot::treemap
treemaptype treemap
Definition: AlignableDataIORoot.h:57
AlignableDataIORoot::newopen
bool newopen
Definition: AlignableDataIORoot.h:55
AlignableDataIORoot::writeRelRaw
int writeRelRaw(const AlignableRelData &ad) override
write relative positions
Definition: AlignableDataIORoot.cc:102
AlignableDataIORoot::Pos
Double_t Pos[3]
Definition: AlignableDataIORoot.h:49
AlignableDataIORoot::kMaxNumPar
Definition: AlignableDataIORoot.h:52
AlignableDataIORoot::ObjId
align::StructureType ObjId
root tree contents
Definition: AlignableDataIORoot.h:46
AlignableDataIORoot::open
int open(const char *filename, int iteration, bool writemode) override
open IO
Definition: AlignableDataIORoot.h:22
AlignableDataIORoot::setBranchAddresses
void setBranchAddresses(void) override
set root branches
Definition: AlignableDataIORoot.cc:39
AlignableDataIORoot::createBranches
void createBranches(void) override
create root branches
Definition: AlignableDataIORoot.cc:26
AlignmentIORootBase.h
corrVsCorr.filename
filename
Definition: corrVsCorr.py:123
align::StructureType
StructureType
Definition: StructureType.h:16
AlignableDataIORoot::close
int close(void) override
close IO
Definition: AlignableDataIORoot.h:28
align::ID
uint32_t ID
Definition: Definitions.h:24
AlignableDataIORoot::AlignableDataIORoot
AlignableDataIORoot(PosType p)
constructor
Definition: AlignableDataIORoot.cc:10
AlignableDataIORoot::treemaptype
std::map< std::pair< align::ID, align::StructureType >, int > treemaptype
Definition: AlignableDataIORoot.h:56
AlignableDataIORoot
concrete class for ROOT based IO of Alignable positions
Definition: AlignableDataIORoot.h:14
AlignmentIORootBase
Base class for ROOT-based I/O of Alignment parameters etc.
Definition: AlignmentIORootBase.h:11
AlignableData
Definition: AlignableData.h:14
AlignableDataIORoot::Rot
Double_t Rot[9]
Definition: AlignableDataIORoot.h:50
AlignableDataIORoot::readAbsRaw
AlignableAbsData readAbsRaw(Alignable *ali, int &ierr) override
read absolute positions
Definition: AlignableDataIORoot.cc:131
AlignmentIORootBase::openRoot
int openRoot(const char *filename, int iteration, bool writemode)
open IO
Definition: AlignmentIORootBase.cc:16
AlignableDataIORoot::writeAbsRaw
int writeAbsRaw(const AlignableAbsData &ad) override
write absolute positions
Definition: AlignableDataIORoot.cc:73
AlignableDataIORoot::readRelRaw
AlignableRelData readRelRaw(Alignable *ali, int &ierr) override
read relative positions
Definition: AlignableDataIORoot.cc:160
AlignmentIORoot
Definition: AlignmentIORoot.h:15
align_cfg.iteration
iteration
Definition: align_cfg.py:5
AlignableDataIO::PosType
PosType
Definition: AlignableDataIO.h:14
AlignableDataIORoot::numDeformationValues_
UInt_t numDeformationValues_
Definition: AlignableDataIORoot.h:51
AlignableDataIO
Definition: AlignableDataIO.h:12