]>
Commit | Line | Data |
---|---|---|
c893147d | 1 | #ifndef ALITRDSAXHANDLER_H |
2 | #define ALITRDSAXHANDLER_H | |
197b835e | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * * See cxx source for full Copyright notice */ | |
197b835e | 5 | |
3d8c1d84 | 6 | /* $Id: AliTRDSaxHandler.h 26327 2008-06-02 15:36:18Z cblume $ */ |
7 | ||
8 | //////////////////////////////////////////////////////////////////////////// | |
9 | // // | |
10 | // The SAX XML file handler used in the preprocessor // | |
11 | // // | |
12 | // Author: // | |
13 | // Frederick Kramer (kramer@ikf.uni-frankfurt.de) // | |
14 | // // | |
15 | //////////////////////////////////////////////////////////////////////////// | |
197b835e | 16 | |
389a42fd | 17 | |
197b835e | 18 | #include "TObject.h" |
3821ce70 | 19 | #include "Cal/AliTRDCalDCSGTUCtpOpc.h" |
20 | #include "Cal/AliTRDCalDCSGTUBoardInfo.h" | |
21 | #include "Cal/AliTRDCalDCSGTUSegment.h" | |
389a42fd | 22 | #include "Cal/AliTRDCalDCSGTUTmu.h" |
197b835e | 23 | |
3d8c1d84 | 24 | class TObjArray; |
d6a1ec13 | 25 | class AliTRDCalDCSv2; |
26 | class AliTRDCalDCSFEEv2; | |
3d8c1d84 | 27 | class AliTRDCalDCSPTR; |
28 | class AliTRDCalDCSGTU; | |
197b835e | 29 | |
389a42fd | 30 | |
197b835e | 31 | class AliTRDSaxHandler : public TObject { |
3d8c1d84 | 32 | |
197b835e | 33 | public: |
3821ce70 | 34 | enum { |
35 | kInsideFEE = 1, | |
36 | kInsidePTR = 2, | |
37 | kInsideGTU = 3 | |
38 | }; // System level | |
39 | enum { | |
40 | kInsideTgu = -1, | |
41 | kInsideNone = -2, | |
42 | kInsideSegment = -3, | |
43 | kInsideGainTable = -4 | |
44 | }; // The level under system (1) | |
45 | enum { | |
46 | kInsideTmu = 10, | |
47 | kInsideSmu = 11 | |
48 | }; // The level under that (2) | |
197b835e | 49 | |
50 | AliTRDSaxHandler(); | |
51 | AliTRDSaxHandler(const AliTRDSaxHandler &sh); | |
52 | virtual ~AliTRDSaxHandler(); | |
53 | AliTRDSaxHandler &operator=(const AliTRDSaxHandler &sh); | |
54 | ||
d6a1ec13 | 55 | TObjArray* GetDCSFEEDataArray() const { return fFEEArr; } |
56 | TObjArray* GetDCSPTRDataArray() const { return fPTRArr; } | |
57 | AliTRDCalDCSv2* GetCalDCSObj(); // to be called by the preprocessor | |
197b835e | 58 | |
d6a1ec13 | 59 | Int_t GetHandlerStatus() const { return fHandlerStatus; } |
197b835e | 60 | |
61 | // functions for all possible events | |
d6a1ec13 | 62 | void OnStartDocument() const; |
63 | void OnEndDocument() const; | |
64 | void OnStartElement(const char *name, const TList *attributes); | |
65 | void OnEndElement(const char *name); | |
66 | void OnCharacters(const char *name); | |
67 | void OnComment(const char *name) const; | |
68 | void OnWarning(const char *name); | |
69 | void OnError(const char *name); | |
70 | void OnFatalError(const char *name); | |
71 | void OnCdataBlock(const char *name, Int_t len) const; | |
197b835e | 72 | |
3d8c1d84 | 73 | private: |
197b835e | 74 | |
d6a1ec13 | 75 | bool CompareString(TString str, const char *str2); |
76 | ||
77 | Int_t fHandlerStatus; // 0: everything OK, >0: error | |
78 | Int_t fNDCSPTR; // number of current PTR unit (to be abandonned soon) | |
79 | Int_t fNDCSGTU; // number of current GTU unit (to be abandonned soon) | |
80 | TObjArray* fFEEArr; // array of AliTRDCalDCSFEEv2 objects | |
81 | TObjArray* fPTRArr; // array of AliTRDCalDCSPTR objects | |
82 | // TObjArray* fGTUArr; // array of AliTRDCalDCSGTU objects | |
83 | Int_t fSystem; // current system (FEE/PTR/GTU) (while parsing) | |
84 | Int_t fInsideRstate; // if we are inside rstate (while parsing) | |
85 | Int_t fCurrentSM; // current supermodule (while parsing) | |
86 | Int_t fCurrentStack; // current stack (while parsing) | |
87 | Int_t fCurrentROB; // current ROB (while parsing) | |
88 | Int_t fCurrentMCM; // current MCM (while parsing) | |
89 | Int_t fCurrentADC; // current ADC (while parsing) | |
90 | TString fContent; // content of the xml element (text) | |
91 | AliTRDCalDCSFEEv2* fDCSFEEObj; // the calib object for one FEE DCS board | |
92 | AliTRDCalDCSPTR* fDCSPTRObj; // the calib object for one PTR DCS board | |
93 | AliTRDCalDCSGTU* fDCSGTUObj; // the calib object for one GTU DCS board | |
94 | AliTRDCalDCSv2* fCalDCSObj; // the complete calib obj containing all info | |
95 | Int_t fLevel1Tag; // 1st level in XML (while parsing) | |
96 | Int_t fLevel2Tag; // 2nd level in XML (while parsing) | |
97 | Bool_t fInsideBoardInfo; // if we are inside BoardInfo (while parsing) | |
389a42fd | 98 | |
99 | AliTRDCalDCSGTUTmu* fTmu; // GTU calibration data: pattern generator | |
100 | AliTRDCalDCSGTUCtpOpc* fCtpOpc; // GTU calibration data: OPC | |
101 | AliTRDCalDCSGTUSegment* fSegment; // GTU calibration data: SMU tracklets/tracks/triggers | |
102 | AliTRDCalDCSGTUBoardInfo* fBoardInfo; // GTU calibration data: hard-/software and type | |
197b835e | 103 | |
d6a1ec13 | 104 | ClassDef(AliTRDSaxHandler,3); // The XML file handler for the preprocessor |
197b835e | 105 | }; |
106 | #endif | |
6af58a56 | 107 |