]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONSt1Decoder.h
BuildStation6 made consistent with AliMUONFactoryV2
[u/mrichter/AliRoot.git] / MUON / AliMUONSt1Decoder.h
CommitLineData
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 35typedef vector<string> StringVector;
36typedef vector<Int_t> IntVector;
37typedef pair<Int_t, Int_t> IntPair;
38typedef vector<IntPair> IntPairVector;
39typedef pair<Double_t, Double_t> DoublePair;
40typedef vector<DoublePair> DoublePairVector;
ba030c0e 41
42namespace 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