]>
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 | |
692de412 | 9 | /// \ingroup sim |
10 | /// \class AliMUONSt1Decoder | |
11 | /// \brief Set of functions to decode formatted strings | |
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: \n | |
17 | /// (string 1) (string 2) [string3] {string4} [ (string5.1) (string5.2) ] \n | |
18 | /// note : |_____________________| \n | |
19 | /// | \n | |
20 | /// this is just ONE substring. \n | |
21 | /// | |
22 | /// Authors: David Guez, Ivana Hrivnacova, Marion MacCormick; IPN Orsay | |
ba030c0e | 23 | |
2524c56f | 24 | #include <Rtypes.h> |
ba030c0e | 25 | #include <string> |
1eb40170 | 26 | #include <utility> |
27 | #include <vector> | |
28 | ||
29 | #ifndef __HP_aCC | |
30 | using std::string; | |
31 | using std::pair; | |
32 | using std::vector; | |
33 | #endif | |
5f91c9e8 | 34 | |
1eb40170 | 35 | typedef vector<string> StringVector; |
36 | typedef vector<Int_t> IntVector; | |
37 | typedef pair<Int_t, Int_t> IntPair; | |
38 | typedef vector<IntPair> IntPairVector; | |
39 | typedef pair<Double_t, Double_t> DoublePair; | |
40 | typedef vector<DoublePair> DoublePairVector; | |
ba030c0e | 41 | |
42 | namespace decoder | |
43 | { | |
1eb40170 | 44 | StringVector SplitNtuples(const string& s, |
45 | const string& leftSep ="({[\"'/", | |
46 | const string& rightSep=")}]\"'/"); | |
47 | StringVector SplitList(const string& s, const string& sep=";,"); | |
48 | ||
49 | IntVector DecodeListRanges(const string& s, const string& sep=";,", | |
50 | const string& rangeSep="/"); | |
51 | IntPairVector DecodeListOfIntRanges(const string& s, const string& sep=";,", | |
52 | const string& rangeSep="/"); | |
53 | DoublePairVector DecodeListOfFloatRanges(const string& s, const string& sep=";,", | |
54 | const string& rangeSep="/"); | |
ba030c0e | 55 | } |
56 | ||
57 | #endif //ALI_MUON_ST1_DECODER_H |