]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDSaxHandler.h
Further speed-up (Hermes)
[u/mrichter/AliRoot.git] / TRD / AliTRDSaxHandler.h
index ff7aea8d11c91479217e4ae86f7312f253655794..a9653c29d3a09a35270a4580fddd0538319de1ba 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef AliTRDSAXHANDLER_H
-#define AliTRDSAXHANDLER_H
+#ifndef ALITRDSAXHANDLER_H
+#define ALITRDSAXHANDLER_H
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * * See cxx source for full Copyright notice */
 
 //                                                                        //
 ////////////////////////////////////////////////////////////////////////////
 
+
 #include "TObject.h"
+#include "Cal/AliTRDCalDCSGTUCtpOpc.h"
+#include "Cal/AliTRDCalDCSGTUBoardInfo.h"
+#include "Cal/AliTRDCalDCSGTUSegment.h"
+#include "Cal/AliTRDCalDCSGTUTmu.h" 
 
 class TObjArray;
-
 class AliTRDCalDCS;
 class AliTRDCalDCSFEE;
 class AliTRDCalDCSPTR;
 class AliTRDCalDCSGTU;
 
+
 class AliTRDSaxHandler : public TObject {
 
 public:
-  enum { kInsideFEE = 1, kInsidePTR = 2, kInsideGTU = 3 };
+  enum { 
+    kInsideFEE = 1, 
+    kInsidePTR = 2,
+    kInsideGTU = 3 
+  }; // System level
+  enum { 
+    kInsideTgu = -1,
+    kInsideNone = -2,
+    kInsideSegment = -3,
+    kInsideGainTable = -4 
+  }; // The level under system (1)
+  enum { 
+    kInsideTmu = 10,
+    kInsideSmu = 11 
+  }; // The level under that   (2)
 
   AliTRDSaxHandler();
   AliTRDSaxHandler(const AliTRDSaxHandler &sh);
   virtual ~AliTRDSaxHandler();
   AliTRDSaxHandler &operator=(const AliTRDSaxHandler &sh);
 
-  TObjArray*    GetDCSFEEDataArray()  { return fFEEArr;        }
-  TObjArray*    GetDCSPTRDataArray()  { return fPTRArr;        }
-  TObjArray*    GetDCSGTUDataArray()  { return fGTUArr;        }
+  TObjArray*    GetDCSFEEDataArray() const { return fFEEArr;        }
+  TObjArray*    GetDCSPTRDataArray() const { return fPTRArr;        }
   AliTRDCalDCS* GetCalDCSObj(); // to be called by the preprocessor
 
   Int_t         GetHandlerStatus() const { return fHandlerStatus; }
 
   // functions for all possible events
-  void          OnStartDocument();
-  void          OnEndDocument();
+  void          OnStartDocument() const;
+  void          OnEndDocument() const;
   void          OnStartElement(const char *name, const TList *attributes);
   void          OnEndElement(const char *name);
   void          OnCharacters(const char *name);
-  void          OnComment(const char *name);
+  void          OnComment(const char *name) const;
   void          OnWarning(const char *name);
   void          OnError(const char *name);
   void          OnFatalError(const char *name);
-  void          OnCdataBlock(const char *name, Int_t len);
+  void          OnCdataBlock(const char *name, Int_t len) const;
 
  private:
 
-  Int_t            fHandlerStatus; // 0: everything OK, >0: error
-  Int_t            fNDCSPTR;       // number of current PTR unit (to be abandonned soon)
-  Int_t            fNDCSGTU;       // number of current GTU unit (to be abandonned soon)
-  TObjArray*       fFEEArr;        // array of AliTRDCalDCSFEE objects
-  TObjArray*       fPTRArr;        // array of AliTRDCalDCSPTR objects
-  TObjArray*       fGTUArr;        // array of AliTRDCalDCSGTU objects
-  Int_t            fSystem;        // current system (FEE/PTR/GTU)
-  Int_t            fInsideRstate;  // if we are inside rstate
-  Int_t            fCurrentSM;     // current supermodule
-  Int_t            fCurrentStack;  // current stack
-  Int_t            fCurrentROB;    // current ROB during processing
-  Int_t            fCurrentMCM;    // current MCM
-  TString          fContent;       // content of the xml element (text) 
-  AliTRDCalDCSFEE* fDCSFEEObj;     // the calib object for one FEE DCS board
-  AliTRDCalDCSPTR* fDCSPTRObj;     // the calib object for one PTR DCS board
-  AliTRDCalDCSGTU* fDCSGTUObj;     // the calib object for one GTU DCS board
-  AliTRDCalDCS*    fCalDCSObj;     // the complete calib obj containing all inform.
-
-  ClassDef(AliTRDSaxHandler,2);    // The XML file handler for the preprocessor
+  bool           CompareString(TString str, const char *str2); 
+
+  Int_t            fHandlerStatus;      // 0: everything OK, >0: error
+  Int_t            fNDCSPTR;            // number of current PTR unit (to be abandonned soon)
+  Int_t            fNDCSGTU;            // number of current GTU unit (to be abandonned soon)
+  TObjArray*       fFEEArr;             // array of AliTRDCalDCSFEE objects
+  TObjArray*       fPTRArr;             // array of AliTRDCalDCSPTR objects
+//   TObjArray*       fGTUArr;        // array of AliTRDCalDCSGTU objects
+  Int_t            fSystem;             // current system (FEE/PTR/GTU) (while parsing)
+  Int_t            fInsideRstate;       // if we are inside rstate (while parsing)
+  Int_t            fCurrentSM;          // current supermodule (while parsing)
+  Int_t            fCurrentStack;       // current stack (while parsing)
+  Int_t            fCurrentROB;         // current ROB (while parsing)
+  Int_t            fCurrentMCM;         // current MCM (while parsing)
+  Int_t            fCurrentADC;         // current ADC (while parsing)
+  TString          fContent;            // content of the xml element (text)
+  AliTRDCalDCSFEE* fDCSFEEObj;          // the calib object for one FEE DCS board
+  AliTRDCalDCSPTR* fDCSPTRObj;          // the calib object for one PTR DCS board
+  AliTRDCalDCSGTU* fDCSGTUObj;          // the calib object for one GTU DCS board
+  AliTRDCalDCS*    fCalDCSObj;          // the complete calib obj containing all info
+  Int_t            fLevel1Tag;          // 1st level in XML (while parsing)
+  Int_t            fLevel2Tag;          // 2nd level in XML (while parsing)
+  Bool_t           fInsideBoardInfo;    // if we are inside BoardInfo (while parsing)
+
+  AliTRDCalDCSGTUTmu*       fTmu;       // GTU calibration data: pattern generator
+  AliTRDCalDCSGTUCtpOpc*    fCtpOpc;    // GTU calibration data: OPC
+  AliTRDCalDCSGTUSegment*   fSegment;   // GTU calibration data: SMU tracklets/tracks/triggers
+  AliTRDCalDCSGTUBoardInfo* fBoardInfo; // GTU calibration data: hard-/software and type
+  
+
+  ClassDef(AliTRDSaxHandler,2);         // The XML file handler for the preprocessor
 };
 #endif