]>
Commit | Line | Data |
---|---|---|
ba030c0e | 1 | #ifndef ALI_MUON_ST1_DECODER_H |
2 | #define ALI_MUON_ST1_DECODER_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
30178c30 | 7 | // Revision of includes 07/05/2004 |
ba030c0e | 8 | |
9 | // Authors: David Guez, Ivana Hrivnacova, Marion MacCormick; IPN Orsay | |
10 | // | |
11 | // Class AliMUONSt1Decoder | |
12 | // ----------------------- | |
13 | // A generic set of functions (defined in the <decoder> namespace). | |
14 | // Used to decode formatted strings, eg. a list of integer ranges, | |
15 | // or a list of sub-strings separated by delimiters such as '(','{','[', ... . | |
16 | // Example: | |
17 | // (string 1) (string 2) [string3] {string4} [ (string5.1) (string5.2) ] | |
18 | // note : |_____________________| | |
19 | // | | |
20 | // this is just ONE substring. | |
21 | ||
2524c56f | 22 | #include <Rtypes.h> |
ba030c0e | 23 | #include <string> |
1eb40170 | 24 | #include <utility> |
25 | #include <vector> | |
26 | ||
27 | #ifndef __HP_aCC | |
28 | using std::string; | |
29 | using std::pair; | |
30 | using std::vector; | |
31 | #endif | |
5f91c9e8 | 32 | |
1eb40170 | 33 | typedef vector<string> StringVector; |
34 | typedef vector<Int_t> IntVector; | |
35 | typedef pair<Int_t, Int_t> IntPair; | |
36 | typedef vector<IntPair> IntPairVector; | |
37 | typedef pair<Double_t, Double_t> DoublePair; | |
38 | typedef vector<DoublePair> DoublePairVector; | |
ba030c0e | 39 | |
40 | namespace decoder | |
41 | { | |
1eb40170 | 42 | StringVector SplitNtuples(const string& s, |
43 | const string& leftSep ="({[\"'/", | |
44 | const string& rightSep=")}]\"'/"); | |
45 | StringVector SplitList(const string& s, const string& sep=";,"); | |
46 | ||
47 | IntVector DecodeListRanges(const string& s, const string& sep=";,", | |
48 | const string& rangeSep="/"); | |
49 | IntPairVector DecodeListOfIntRanges(const string& s, const string& sep=";,", | |
50 | const string& rangeSep="/"); | |
51 | DoublePairVector DecodeListOfFloatRanges(const string& s, const string& sep=";,", | |
52 | const string& rangeSep="/"); | |
ba030c0e | 53 | } |
54 | ||
55 | #endif //ALI_MUON_ST1_DECODER_H |