LCOV - code coverage report
Current view: top level - TRD/TRDbase - AliTRDSaxHandler.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 4 25.0 %
Date: 2016-06-14 17:26:59 Functions: 1 8 12.5 %

          Line data    Source code
       1             : #ifndef ALITRDSAXHANDLER_H
       2             : #define ALITRDSAXHANDLER_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * * See cxx source for full Copyright notice */
       5             : 
       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             : ////////////////////////////////////////////////////////////////////////////
      16             : 
      17             : 
      18             : #include <TObject.h>
      19             : #include "AliTRDCalDCSGTUCtpOpc.h"
      20             : #include "AliTRDCalDCSGTUBoardInfo.h"
      21             : #include "AliTRDCalDCSGTUSegment.h"
      22             : #include "AliTRDCalDCSGTUTmu.h" 
      23             : 
      24             : class TObjArray;
      25             : class AliTRDCalDCSv2;
      26             : class AliTRDCalDCSFEEv2;
      27             : class AliTRDCalDCSPTR;
      28             : class AliTRDCalDCSGTU;
      29             : 
      30             : 
      31             : class AliTRDSaxHandler : public TObject {
      32             : 
      33             : public:
      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)
      49             : 
      50             :   AliTRDSaxHandler();
      51             :   AliTRDSaxHandler(const AliTRDSaxHandler &sh);
      52             :   virtual ~AliTRDSaxHandler();
      53             :   AliTRDSaxHandler &operator=(const AliTRDSaxHandler &sh);
      54             : 
      55           0 :   TObjArray*         GetDCSFEEDataArray() const { return fFEEArr;        }
      56           0 :   TObjArray*         GetDCSPTRDataArray() const { return fPTRArr;        }
      57             :   AliTRDCalDCSv2*    GetCalDCSObj(); // to be called by the preprocessor
      58             :   void               ParseConfigName(TString cfgname) const;
      59             : 
      60             : 
      61           0 :   Int_t              GetHandlerStatus() const { return fHandlerStatus; }
      62             : 
      63             :   // functions for all possible events
      64             :   void               OnStartDocument() const;
      65             :   void               OnEndDocument() const;
      66             :   void               OnStartElement(const char *name, const TList *attributes);
      67             :   void               OnEndElement(const char *name);
      68             :   void               OnCharacters(const char *name);
      69             :   void               OnComment(const char *name) const;
      70             :   void               OnWarning(const char *name);
      71             :   void               OnError(const char *name);
      72             :   void               OnFatalError(const char *name);
      73             :   void               OnCdataBlock(const char *name, Int_t len) const;
      74             : 
      75             :  private:
      76             : 
      77             :   bool               CompareString(TString str, const char *str2); 
      78             : 
      79             :   Int_t              fHandlerStatus;      // 0: everything OK, >0: error
      80             :   Int_t              fNDCSPTR;            // number of current PTR unit (to be abandonned soon)
      81             :   Int_t              fNDCSGTU;            // number of current GTU unit (to be abandonned soon)
      82             :   TObjArray*         fFEEArr;             // array of AliTRDCalDCSFEEv2 objects
      83             :   TObjArray*         fPTRArr;             // array of AliTRDCalDCSPTR objects
      84             :   //   TObjArray*       fGTUArr;        // array of AliTRDCalDCSGTU objects
      85             :   Int_t              fSystem;             // current system (FEE/PTR/GTU) (while parsing)
      86             :   Int_t              fInsideRstate;       // if we are inside rstate (while parsing)
      87             :   Int_t              fCurrentSM;          // current supermodule (while parsing)
      88             :   Int_t              fCurrentStack;       // current stack (while parsing)
      89             :   Int_t              fCurrentROB;         // current ROB (while parsing)
      90             :   Int_t              fCurrentMCM;         // current MCM (while parsing)
      91             :   Int_t              fCurrentADC;         // current ADC (while parsing)
      92             :   TString            fContent;            // content of the xml element (text)
      93             :   AliTRDCalDCSFEEv2* fDCSFEEObj;          // the calib object for one FEE DCS board
      94             :   AliTRDCalDCSPTR*   fDCSPTRObj;          // the calib object for one PTR DCS board
      95             :   AliTRDCalDCSGTU*   fDCSGTUObj;          // the calib object for one GTU DCS board
      96             :   AliTRDCalDCSv2*    fCalDCSObj;          // the complete calib obj containing all info
      97             :   Int_t              fLevel1Tag;          // 1st level in XML (while parsing)
      98             :   Int_t              fLevel2Tag;          // 2nd level in XML (while parsing)
      99             :   Bool_t             fInsideBoardInfo;    // if we are inside BoardInfo (while parsing)
     100             : 
     101             :   AliTRDCalDCSGTUTmu*       fTmu;       // GTU calibration data: pattern generator
     102             :   AliTRDCalDCSGTUCtpOpc*    fCtpOpc;    // GTU calibration data: OPC
     103             :   AliTRDCalDCSGTUSegment*   fSegment;   // GTU calibration data: SMU tracklets/tracks/triggers
     104             :   AliTRDCalDCSGTUBoardInfo* fBoardInfo; // GTU calibration data: hard-/software and type
     105             : 
     106          48 :   ClassDef(AliTRDSaxHandler,3);         // The XML file handler for the preprocessor
     107             : };
     108             : #endif
     109             : 

Generated by: LCOV version 1.11