ROOT logo
#ifndef HMDCRAWSTRUCT_H
#define HMDCRAWSTRUCT_H

#include "TNamed.h"
#include "TObjArray.h"
#include "TArrayI.h"
#include "hparset.h"

class HParIo;

class HMdcRawMothStru: public TNamed {
protected:
  Int_t nTdcs;  // number of TDCs on the motherboard
public:
  HMdcRawMothStru() {clear();}
  ~HMdcRawMothStru() {}
  void setNTdcs(Int_t n) {nTdcs=n;}
  Int_t getNTdcs() {return nTdcs;}
  void clear() {
    nTdcs=0;
  }
  ClassDef(HMdcRawMothStru,1) // Tdc level of MdcRawStruct parameter container
};


class HMdcRawModStru: public TObject {
protected:
  TObjArray* array;
public:
  HMdcRawModStru(Int_t n=16);
  ~HMdcRawModStru();
  HMdcRawMothStru& operator[](Int_t i) {
    return *static_cast<HMdcRawMothStru*>((*array)[i]);
  }
  Int_t getNMotherboards() {return array->GetEntries();}
  Int_t getMboIndex(const Text_t*);
  Int_t getSize() {return array->GetEntries();}
  ClassDef(HMdcRawModStru,1) // Motherboard level of MdcRawStruct parameter container
};


class HMdcRawSecStru: public TObject {
protected:
  TObjArray* array;
public:
  HMdcRawSecStru(Int_t n=4);
  ~HMdcRawSecStru();
  HMdcRawModStru& operator[](Int_t i) {
    return *static_cast<HMdcRawModStru*>((*array)[i]);
  }
  Int_t getSize() {return array->GetEntries();}
  ClassDef(HMdcRawSecStru,1) // Sector level of MdcRawStruct parameter container
};


class HMdcRawStruct : public HParSet {
protected:
  TObjArray* array;     // array of pointers
public:
  HMdcRawStruct(const Char_t* name="MdcRawStruct",
                const Char_t* title="Mdc parameters for hardware structure",
                const Char_t* context="",
                Int_t n=6);
  ~HMdcRawStruct();
  HMdcRawSecStru& operator[](Int_t i) {
    return *static_cast<HMdcRawSecStru*>((*array)[i]);
  }
  Bool_t init(HParIo* input,Int_t* set);
  Int_t write(HParIo* output);
  void readline(const Char_t*, Int_t*);
  Bool_t writeline(Char_t *, Int_t, Int_t, Int_t);
  void putAsciiHeader(TString&);
  Int_t getSize() {return array->GetEntries();}
  void clear();
  void printParam();
  void getMaxIndices(TArrayI*);
  ClassDef(HMdcRawStruct,1) // MdcRawStruct parameter container for number of TDCs
};

#endif /* !HMDCRAWSTRUCT_H */







 hmdcrawstruct.h:1
 hmdcrawstruct.h:2
 hmdcrawstruct.h:3
 hmdcrawstruct.h:4
 hmdcrawstruct.h:5
 hmdcrawstruct.h:6
 hmdcrawstruct.h:7
 hmdcrawstruct.h:8
 hmdcrawstruct.h:9
 hmdcrawstruct.h:10
 hmdcrawstruct.h:11
 hmdcrawstruct.h:12
 hmdcrawstruct.h:13
 hmdcrawstruct.h:14
 hmdcrawstruct.h:15
 hmdcrawstruct.h:16
 hmdcrawstruct.h:17
 hmdcrawstruct.h:18
 hmdcrawstruct.h:19
 hmdcrawstruct.h:20
 hmdcrawstruct.h:21
 hmdcrawstruct.h:22
 hmdcrawstruct.h:23
 hmdcrawstruct.h:24
 hmdcrawstruct.h:25
 hmdcrawstruct.h:26
 hmdcrawstruct.h:27
 hmdcrawstruct.h:28
 hmdcrawstruct.h:29
 hmdcrawstruct.h:30
 hmdcrawstruct.h:31
 hmdcrawstruct.h:32
 hmdcrawstruct.h:33
 hmdcrawstruct.h:34
 hmdcrawstruct.h:35
 hmdcrawstruct.h:36
 hmdcrawstruct.h:37
 hmdcrawstruct.h:38
 hmdcrawstruct.h:39
 hmdcrawstruct.h:40
 hmdcrawstruct.h:41
 hmdcrawstruct.h:42
 hmdcrawstruct.h:43
 hmdcrawstruct.h:44
 hmdcrawstruct.h:45
 hmdcrawstruct.h:46
 hmdcrawstruct.h:47
 hmdcrawstruct.h:48
 hmdcrawstruct.h:49
 hmdcrawstruct.h:50
 hmdcrawstruct.h:51
 hmdcrawstruct.h:52
 hmdcrawstruct.h:53
 hmdcrawstruct.h:54
 hmdcrawstruct.h:55
 hmdcrawstruct.h:56
 hmdcrawstruct.h:57
 hmdcrawstruct.h:58
 hmdcrawstruct.h:59
 hmdcrawstruct.h:60
 hmdcrawstruct.h:61
 hmdcrawstruct.h:62
 hmdcrawstruct.h:63
 hmdcrawstruct.h:64
 hmdcrawstruct.h:65
 hmdcrawstruct.h:66
 hmdcrawstruct.h:67
 hmdcrawstruct.h:68
 hmdcrawstruct.h:69
 hmdcrawstruct.h:70
 hmdcrawstruct.h:71
 hmdcrawstruct.h:72
 hmdcrawstruct.h:73
 hmdcrawstruct.h:74
 hmdcrawstruct.h:75
 hmdcrawstruct.h:76
 hmdcrawstruct.h:77
 hmdcrawstruct.h:78
 hmdcrawstruct.h:79
 hmdcrawstruct.h:80
 hmdcrawstruct.h:81
 hmdcrawstruct.h:82
 hmdcrawstruct.h:83
 hmdcrawstruct.h:84
 hmdcrawstruct.h:85
 hmdcrawstruct.h:86
 hmdcrawstruct.h:87