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 |
# | 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 |