ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/CMSSW/Alignment/CommonAlignmentAlgorithm/interface/AlignableDataIO.h
Revision: 1.2
Committed: Mon Nov 13 08:40:12 2006 UTC (18 years, 5 months ago) by flucke
Content type: text/plain
Branch: MAIN
CVS Tags: CMSSW_1_6_12, CMSSW_1_6_12_pre2, CMSSW_1_6_12_pre1, CMSSW_1_6_11, CMSSW_1_7_7, CMSSW_1_6_11_pre1, CMSSW_1_7_6, CMSSW_1_6_10, CMSSW_1_6_10_pre2, CMSSW_1_6_10_pre1, CMSSW_1_6_9, CMSSW_1_6_9_pre2, CMSSW_1_6_9_pre1, CMSSW_1_7_5, CMSSW_1_7_4, CMSSW_1_7_3, CMSSW_1_6_8, CMSSW_1_6_8_pre2, CMSSW_1_7_2, CMSSW_1_6_8_pre1, CMSSW_1_7_1, CMSSW_1_7_0, CMSSW_1_7_0_pre13, CMSSW_1_4_10, CMSSW_1_7_0_pre12, CMSSW_1_7_0_pre11, CMSSW_1_7_0_pre10, CMSSW_1_7_0_pre9, CMSSW_1_7_0_pre8, CMSSW_1_7_0_pre7, CMSSW_1_4_9, CMSSW_1_4_8, CMSSW_1_6_7, CMSSW_1_7_0_pre6, CMSSW_1_6_6, CMSSW_1_6_5, CMSSW_1_6_5_pre1, CMSSW_1_6_4, CMSSW_1_7_0_pre5, CMSSW_1_6_3, CMSSW_1_6_1, CMSSW_1_7_0_pre4, V01-04-00-08, CMSSW_1_7_0_pre3, CMSSW_1_7_0_pre2, CMSSW_1_6_0, CMSSW_1_6_0_pre14, CMSSW_1_7_0_pre1, CMSSW_1_6_0_DAQ3, CMSSW_1_6_0_pre13, CMSSW_1_6_0_pre12, CMSSW_1_6_0_pre11, CMSSW_1_6_0_pre10, CMSSW_1_4_7, CMSSW_1_6_0_pre9, CMSSW_1_6_0_pre8, CMSSW_1_5_4, CMSSW_1_6_0_pre7, CMSSW_1_5_3, CMSSW_1_6_0_pre6, CMSSW_1_4_6, CMSSW_1_3_6, CMSSW_1_6_0_DAQ1, CMSSW_1_6_0_pre5, V01-04-00-07, V01-09-00, V01-04-00-06, CMSSW_1_6_0_pre4, CMSSW_1_3_1_HLT6, CMSSW_1_5_2, CMSSW_1_3_5, CMSSW_1_6_0_pre3, CMSSW_1_6_0_pre2, CMSSW_1_6_0_pre1, CMSSW_1_5_1, CMSSW_1_4_5, CMSSW_1_5_0, V01-08-01, V01-04-00-05, CMSSW_1_4_3g483, CMSSW_1_4_4, CMSSW_1_5_0_pre6, CMSSW_1_4_3, V01-04-00-03, V01-08-00, CMSSW_1_3_1_HLT5, CMSSW_1_5_0_pre5, CMSSW_1_4_2, CMSSW_1_3_1_HLT4, CMSSW_1_4_1, CMSSW_1_5_0_pre4, V01-07-04, CMSSW_1_3_1_HLT3, CMSSW_1_5_0_pre3, V01-07-03, V01-07-02, CMSSW_1_4_0_DAQ1, CMSSW_1_3_4, V01-06-01, CMSSW_1_3_3, V01-07-01, V01-04-00-02, CMSSW_1_4_0, CMSSW_1_5_0_pre2, CMSSW_1_3_2, CMSSW_1_4_0_pre7, CMSSW_1_4_0_pre6, CMSSW_1_4_0_pre5, V01-07-00, V01-04-00-01, CMSSW_1_5_0_pre1, CMSSW_1_2_6, CMSSW_1_2_5, CMSSW_1_4_0_pre4, V01-06-00, V01-05-00, V01-04-01, CMSSW_1_3_1, CMSSW_1_4_0_pre3, CMSSW_1_2_4, CMSSW_1_4_0_pre2, V01-04-00, CMSSW_1_3_0, CMSSW_1_3_0_pre7, V01-03-01, CMSSW_1_4_0_pre1, V01-03-00, CMSSW_1_3_0_pre6, cklae_20070314, CMSSW_1_2_0_4821, CMSSW_1_2_0_g4_82p01, V01-02-00, V01-01-04, CMSSW_1_3_0_pre5, CMSSW_1_3_0_pre4, CMSSW_1_2_3, V01-01-03, CMSSW_1_3_0_pre3, V01-01-02, CMSSW_1_2_0_g4_82, CMSSW_1_3_0_SLC4_pre2, CMSSW_1_3_0_pre2, CMSSW_1_2_2, CMSSW_1_2_1, V01-01-01, V01-01-00, CMSSW_1_3_0_SLC4_pre1, CMSSW_1_3_0_pre1, V01-00-00, CMSSW_1_2_0_g4_81, CMSSW_1_2_0_SL4, V00-08-01, CMSSW_1_2_0, V00-08-00, CMSSW_1_2_0_pre9, CMSSW_1_2_0_pre8_g4_81, CMSSW_1_2_0_pre8, V00-07-03, CMSSW_1_2_0_pre6, CMSSW_1_2_0_pre5, V00-07-02
Branch point for: V01-04-00-04
Changes since 1.1: +3 -3 lines
Log Message:
- many const char* instead of char* as argument
- some few class arguments by const reference

File Contents

# User Rev Content
1 fronga 1.1 #ifndef Alignment_CommonAlignmentAlgorithm_AlignableDataIO_H
2     #define Alignment_CommonAlignmentAlgorithm_AlignableDataIO_H
3    
4     #include "Alignment/CommonAlignmentAlgorithm/interface/AlignableData.h"
5     #include "Alignment/CommonAlignment/interface/Alignable.h"
6    
7     /// Abstract base class for IO of alignable positions/shifts.
8     /// Derived concrete class must implement raw read/write methods
9    
10     class AlignableDataIO
11     {
12    
13     protected:
14    
15     enum PosType { Abs, Org, Rel };
16    
17     /// Constructor
18     AlignableDataIO(PosType p) : thePosType(p) {};
19    
20     /// Destructor
21     virtual ~AlignableDataIO(){};
22    
23     /// Open IO handle
24 flucke 1.2 virtual int open( const char* filename, int iteration, bool writemode ) = 0;
25 fronga 1.1
26     /// Close IO handle
27     virtual int close(void) = 0;
28    
29     /// Write absolute positions of one Alignable
30     int writeAbsPos(Alignable* ali, bool validCheck);
31    
32     /// Write absolute positions of many Alignables
33     int writeAbsPos(const std::vector<Alignable*>& alivec, bool validCheck);
34    
35     /// Read absolute positions of one Alignable
36     AlignableAbsData readAbsPos(Alignable* ali, int& ierr);
37    
38     /// Read absolute positions of many Alignables
39     AlignablePositions readAbsPos(const std::vector<Alignable*>& alivec, int& ierr);
40    
41    
42     /// Write original positions of one Alignable
43     int writeOrgPos(Alignable* ali, bool validCheck);
44    
45     /// Write original positions of many Alignables
46     int writeOrgPos(const std::vector<Alignable*>& alivec, bool validCheck);
47    
48     /// Read original positions of one Alignable
49     AlignableAbsData readOrgPos(Alignable* ali, int& ierr);
50    
51     /// Read original positions of many Alignables
52     AlignablePositions readOrgPos(const std::vector<Alignable*>& alivec, int& ierr);
53    
54    
55     /// Write relative positions of one Alignable
56     int writeRelPos(Alignable* ali, bool validCheck);
57    
58     /// Write relative positions of many Alignables
59     int writeRelPos(const std::vector<Alignable*>& alivec, bool validCheck);
60    
61     /// Read relative positions of one Alignable
62     AlignableRelData readRelPos(Alignable* ali, int& ierr);
63    
64     /// Read relative positions of many Alignables
65     AlignableShifts readRelPos(const std::vector<Alignable*>& alivec, int& ierr);
66    
67     // 'raw' read/write methods
68     // must be provided by concrete derived class
69    
70     /// Write absolute positions
71 flucke 1.2 virtual int writeAbsRaw(const AlignableAbsData &ad) =0;
72 fronga 1.1 /// Read absolute positions
73     virtual AlignableAbsData readAbsRaw(Alignable* ali,int& ierr) =0;
74     /// Write relative positions
75 flucke 1.2 virtual int writeRelRaw(const AlignableRelData &ad) =0;
76 fronga 1.1 /// Read relative positions
77     virtual AlignableRelData readRelRaw(Alignable* ali,int& ierr) =0;
78    
79     // Data members
80     PosType thePosType; // Defines whether absolute/orig/relative pos. are used
81    
82     };
83    
84     #endif