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 */
7 // Revision of includes 07/05/2004
10 /// \class AliMUONSt1Decoder
11 /// \brief Set of functions to decode formatted strings
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 '(','{','[', ... .
17 /// (string 1) (string 2) [string3] {string4} [ (string5.1) (string5.2) ] \n
18 /// note : |_____________________| \n
20 /// this is just ONE substring. \n
22 /// Authors: David Guez, Ivana Hrivnacova, Marion MacCormick; IPN Orsay
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;
44 StringVector SplitNtuples(const string& s,
45 const string& leftSep ="({[\"'/",
46 const string& rightSep=")}]\"'/");
47 StringVector SplitList(const string& s, const string& sep=";,");
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="/");
57 #endif //ALI_MUON_ST1_DECODER_H