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 |
# | Content |
---|---|
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 | virtual int open( const char* filename, int iteration, bool writemode ) = 0; |
25 | |
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 | virtual int writeAbsRaw(const AlignableAbsData &ad) =0; |
72 | /// Read absolute positions |
73 | virtual AlignableAbsData readAbsRaw(Alignable* ali,int& ierr) =0; |
74 | /// Write relative positions |
75 | virtual int writeRelRaw(const AlignableRelData &ad) =0; |
76 | /// 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 |