ROOT logo
#ifndef HMDCDRIFTTIMEPAR_H
#define HMDCDRIFTTIMEPAR_H

#include "TObjArray.h"

class HMdcCal2ParSim;
class HMdcCal2ParSecSim;
class HMdcCal2ParModSim;
class HMdcCal2ParAngleSim;
class HMdcCal2Par;
class HMdcCal2ParSec;
class HMdcCal2ParMod;
class HMdcCal2ParAngle;

class HMdcDriftTimeParBin : public TObject {
  protected:
    Double_t c0;     // Parametrization on drift time versus distance (HMdcCal2ParSim)
    Double_t c1;     // and impact angle (alpha):
    Double_t c2;     // driftTime = c0 + c1*alpha + c2*dist + c3*alpha*dist
    Double_t c3;
    Double_t c0err;  // Parametrization on drift time error versus distance
    Double_t c1err;  // and impact angle (alpha):
    Double_t c2err;  // driftTimeErr =
    Double_t c3err;  //    c0err + c1err*alpha + c2err*dist + c3err*alpha*dist
    
    Double_t d0;     // Parametrization on distance versus drift time (HMdcCal2Par)
    Double_t d1;     // and impact angle (alpha):
    Double_t d2;     // distance = d0 + d1*alpha + d2*dist + d3*alpha*driftTime
    Double_t d3;
  public:
    HMdcDriftTimeParBin(void);
    ~HMdcDriftTimeParBin(void) {}
    void setC0(Double_t k)    {c0 = k;}
    void setC1(Double_t k)    {c1 = k;}
    void setC2(Double_t k)    {c2 = k;}
    void setC3(Double_t k)    {c3 = k;}
    void setC0Err(Double_t k) {c0err = k;}
    void setC1Err(Double_t k) {c1err = k;}
    void setC2Err(Double_t k) {c2err = k;}
    void setC3Err(Double_t k) {c3err = k;}

    inline Double_t calcTime(Double_t a,Double_t d);
    inline Double_t calcTimeErr(Double_t a,Double_t d);
    inline void coeffForDer(Double_t a,Double_t d, 
        Double_t& coeffDAlpha,Double_t& coeffDDist,Double_t& coeffDAlphaDDist);
    inline Double_t coeffDAlphaDPar(Double_t d);
    inline Double_t coeffDDistDPar(Double_t a);
    void print(void) const;
    void printTable(void) const;

    void setD0(Double_t k) {d0 = k;}
    void setD1(Double_t k) {d1 = k;}
    void setD2(Double_t k) {d2 = k;}
    void setD3(Double_t k) {d3 = k;}
    inline Double_t calcDistance(Double_t a,Double_t t);
    
  ClassDef(HMdcDriftTimeParBin,0) // parametrization of one bin
};

class HMdcDriftTimeParAngle : public TObject { //public TObjArray {
  protected:
    HMdcDriftTimeParBin arr[100];
  public:
    HMdcDriftTimeParAngle(void) {}
    ~HMdcDriftTimeParAngle(void) {}
    HMdcDriftTimeParBin* at(Int_t b) {return arr+b;}
  private:

  ClassDef(HMdcDriftTimeParAngle,0) // array of HMdcDriftTimeParBin objects
};

class HMdcDriftTimeParMod : public TObject {
  protected:
    HMdcDriftTimeParAngle arr[18];
    Int_t    nAngleBins;      // number of angle bins
    Int_t    lAngleBin;       // index of last bin in angle array (= nAngleBins-1)
    Double_t angleBinSize;    // angle bin size
    Double_t invAngleBinSize; // 1./angle bin size
    Double_t lastAngleBin;    // = lAngleBin*nAngleBins
    Int_t    nDistBins;       // number of distance bins
    Int_t    lDistBin;        // index of last bin in dist. array (= nDistBins-1)
    Double_t distBinSize;     // distance bin size
    Double_t invDistBinSize;  // 1./distance bin size
    Double_t lastBinDist;     // distance for last bin (=lDistBin*distBinSize)
    Double_t slopeOutside;    // slope for outside of table tracks
    
    // nTimeBins = nDistBins !
    Double_t timeBinSize;     // time bin size
    Double_t invTimeBinSize;  // 1./time bin size
    Double_t lastBinTime;     // time for last bin (=lTimeBin*distBinSize)
  public:
    HMdcDriftTimeParMod(Int_t nAnBins=18, Int_t nDsBins=100);
    ~HMdcDriftTimeParMod(void) {}
    Int_t    getNAngleBins(void) const   {return nAngleBins;}
    Double_t getAngleBinSize(void) const {return angleBinSize;}
    Int_t    getNDistBins(void) const    {return nDistBins;}
    Double_t getDistBinSize(void) const  {return distBinSize;}
    inline HMdcDriftTimeParBin* getBinDist(Double_t a, Double_t d);
    inline Int_t    calcAngleBinInd(Double_t a) const;
    inline Int_t    calcDistBinInd(Double_t d) const;
    inline Double_t calcTime(Double_t a,Double_t d);
    inline Double_t calcTimeErr(Double_t a,Double_t d);
    Bool_t testSizes(Int_t anSz, Int_t dsSz) const;
    void setDistBinSize(Double_t dBSize);
    HMdcDriftTimeParAngle* at(Int_t a) {return arr+a;}
    HMdcDriftTimeParAngle* getAngBins(Double_t al) {return arr+calcAngleBinInd(al);}
    Bool_t initContainer(HMdcCal2ParModSim& fC2PModS,HMdcCal2ParMod& fC2PMod,Double_t slOut,Double_t scaleErr);
    void print(void);
    
    Int_t    getNTimeBins(void) const    {return nDistBins;}
    Double_t getTimeBinSize(void) const  {return timeBinSize;}
    inline HMdcDriftTimeParBin* getBinTime(Double_t a, Double_t d);
    inline Int_t    calcTimeBinInd(Double_t d) const;
    inline Double_t calcDistance(Double_t a,Double_t d);
    void setTimeBinSize(Double_t tBSize);
    
  private:
    void fillDriftTime(HMdcCal2ParAngleSim& rAng1,HMdcCal2ParAngleSim& rAng2,
        HMdcDriftTimeParBin* bin,Int_t anBin, Int_t dsBin);
    void fillDriftTimeErr(HMdcCal2ParAngleSim& rAng1,HMdcCal2ParAngleSim& rAng2,
        HMdcDriftTimeParBin* bin,Int_t anBin, Int_t dsBin,Double_t scaleErr);

    void fillDriftDist(HMdcCal2ParAngle& rAng1,HMdcCal2ParAngle& rAng2,
        HMdcDriftTimeParBin* bin,Int_t anBin, Int_t tmBin);
  
  ClassDef(HMdcDriftTimeParMod,0) // array of HMdcDriftTimeParAngle objects
};

class HMdcDriftTimeParSec : public TObjArray {
  // array of pointers of type HMdcDriftTimeParMod
  protected:
    Int_t sector;
  public:
    HMdcDriftTimeParSec(void);
    ~HMdcDriftTimeParSec(void);
    inline HMdcDriftTimeParBin* getBinDist(Int_t m, Double_t a, Double_t d);
    Bool_t initContainer(HMdcCal2ParSecSim& fC2PSecS,HMdcCal2ParSec& fC2PSec,
                         Int_t sec,Double_t slOut,Double_t* scaleError);
    HMdcDriftTimeParMod* at(Int_t m) const {return (HMdcDriftTimeParMod*)At(m);}
    inline Double_t calcTime(Int_t m,Double_t a,Double_t d);
    inline Double_t calcTimeErr(Int_t m,Double_t a,Double_t d);
    void print(void);
    
    inline HMdcDriftTimeParBin* getBinTime(Int_t m, Double_t a, Double_t t);
    inline Double_t calcDistance(Int_t m,Double_t a,Double_t t);
    
  private:

  ClassDef(HMdcDriftTimeParSec,0) // array of HMdcDriftTimeParMod objects
};

class HMdcDriftTimePar : public TObjArray {
  // array of pointers of type HMdcDriftTimeParSec
  protected:
    static HMdcDriftTimePar* fMdcDriftTimePar;
    HMdcCal2ParSim *pCal2ParSim;   // pointer to the HMdcCal2ParSim parameters
    HMdcCal2Par    *pCal2Par;      // pointer to the HMdcCal2Par parameters
    Bool_t          isInited;
    Double_t        scaleError[4]; //! scaler for error of time per module type
  public:
    static HMdcDriftTimePar* getExObject(void)          {return fMdcDriftTimePar;}
    static HMdcDriftTimePar* getObject(void);
    static void              deleteCont(void);
    inline HMdcDriftTimeParBin* getBinDist(Int_t s,Int_t m,Double_t a,Double_t d);
    Bool_t initContainer(void);
    HMdcDriftTimeParSec* at(Int_t s) const {return (HMdcDriftTimeParSec*)At(s);}
    inline Double_t calcTime(Int_t s,Int_t m,Double_t a,Double_t d);
    inline Double_t calcTimeErr(Int_t s,Int_t m,Double_t a,Double_t d);
    void print(void);
    
    inline HMdcDriftTimeParBin* getBinTime(Int_t s,Int_t m,Double_t a,Double_t t);
    inline Double_t calcDistance(Int_t s,Int_t m,Double_t a,Double_t t);
    void   setScalerTime1Err(Double_t m0,Double_t m1,Double_t m2,Double_t m3);
  protected:
    HMdcDriftTimePar(void);
    ~HMdcDriftTimePar(void);

  ClassDef(HMdcDriftTimePar,0) // array of HMdcDriftTimeParSec objects
};

//==================================================

inline Double_t HMdcDriftTimeParBin::calcTime(Double_t a,Double_t d) {
  if(a<0.) a = -a;
  if(d<0.) d = -d;
  return c0+c1*a+(c2+c3*a)*d;
}

inline void HMdcDriftTimeParBin::coeffForDer(Double_t a,Double_t d,
    Double_t& coeffDAlpha,Double_t& coeffDDist,Double_t& coeffDAlphaDDist) {
  // For calcul. of analytical derivative
  // dDrTime/dPar=coeffDAlpha*dAlpha/dPar + coeffDDist*dDist/dPar
  coeffDAlpha      = c1+c3*d;
  coeffDDist       = c2+c3*a;
  coeffDAlphaDDist = c3;  // =coeffDDistDAlpha
}

inline Double_t HMdcDriftTimeParBin::coeffDAlphaDPar(Double_t d) {
  // return coeff=dDrTime/dDist
  return c1+c3*d;
}

inline Double_t HMdcDriftTimeParBin::coeffDDistDPar(Double_t a) {
  // return coeff=dDrTime/dDist
  return c2+c3*a;
}

inline Double_t HMdcDriftTimeParMod::calcTime(Double_t a,Double_t d) {
  return getBinDist(a,d)->calcTime(a,d);
}

inline Double_t HMdcDriftTimeParSec::calcTime(Int_t m, Double_t a, Double_t d) {
  return getBinDist(m,a,d)->calcTime(a,d);
}

inline Double_t HMdcDriftTimePar::calcTime(Int_t s, Int_t m,
    Double_t a,Double_t d) {
  return getBinDist(s,m,a,d)->calcTime(a,d);
}


inline Double_t HMdcDriftTimeParBin::calcTimeErr(Double_t a,Double_t d) {
  if(a<0.) a = -a;
  if(d<0.) d = -d;
  return c0err+c1err*a+c2err*d+c3err*a*d;
}

inline Double_t HMdcDriftTimeParMod::calcTimeErr(Double_t a,Double_t d) {
  return getBinDist(a,d)->calcTimeErr(a,d);
}

inline Double_t HMdcDriftTimeParSec::calcTimeErr(Int_t m,
    Double_t a,Double_t d) {
  return getBinDist(m,a,d)->calcTimeErr(a,d);
}

inline Double_t HMdcDriftTimePar::calcTimeErr(Int_t s, Int_t m,
    Double_t a,Double_t d) {
  return getBinDist(s,m,a,d)->calcTimeErr(a,d);
}

inline Int_t HMdcDriftTimeParMod::calcAngleBinInd(Double_t a) const {
  a = 90.-a;
  if(a<0.) a = -a;
  return a<lastAngleBin ? Int_t(a*invAngleBinSize) : lAngleBin;
}

inline Int_t HMdcDriftTimeParMod::calcDistBinInd(Double_t d) const {
  if(d<0.) d = -d;
  return d<lastBinDist ? Int_t(d*invDistBinSize):lDistBin;
}

inline HMdcDriftTimeParBin* HMdcDriftTimeParMod::getBinDist(Double_t a,Double_t d) {
  HMdcDriftTimeParAngle* pAngl=at(calcAngleBinInd(a));
  if(pAngl) return pAngl->at(calcDistBinInd(d));
  return 0;
}

inline HMdcDriftTimeParBin* HMdcDriftTimeParSec::getBinDist(Int_t m, Double_t a, Double_t d) {
  HMdcDriftTimeParMod* pMod=at(m);
  if(pMod) return pMod->getBinDist(a,d);
  return 0;
}

inline HMdcDriftTimeParBin* HMdcDriftTimePar::getBinDist(Int_t s, Int_t m, Double_t a, Double_t d) {
  HMdcDriftTimeParSec* pSec=at(s);
  if(pSec) return pSec->getBinDist(m,a,d);
  return 0;
}

//==================================================

inline Double_t HMdcDriftTimeParBin::calcDistance(Double_t a,Double_t t) {
  if(a<0.) a = -a;
  if(t<=0.) return d0+d1*a;
  return d0+d1*a+(d2+d3*a)*t;
}

inline Double_t HMdcDriftTimeParMod::calcDistance(Double_t a,Double_t t) {
  return getBinTime(a,t)->calcDistance(a,t);
}

inline Double_t HMdcDriftTimeParSec::calcDistance(Int_t m, Double_t a, Double_t t) {
  return getBinTime(m,a,t)->calcDistance(a,t);
}

inline Double_t HMdcDriftTimePar::calcDistance(Int_t s, Int_t m,Double_t a,Double_t t) {
  return getBinTime(s,m,a,t)->calcDistance(a,t);
}

inline Int_t HMdcDriftTimeParMod::calcTimeBinInd(Double_t t) const {
  if(t <= 0.) return 0;
 return t<lastBinTime ? Int_t(t*invTimeBinSize) : lDistBin;
}

inline HMdcDriftTimeParBin* HMdcDriftTimeParMod::getBinTime(Double_t a,Double_t t) {
  HMdcDriftTimeParAngle* pAngl=at(calcAngleBinInd(a));
  if(pAngl) return pAngl->at(calcTimeBinInd(t));
  return 0;
}

inline HMdcDriftTimeParBin* HMdcDriftTimeParSec::getBinTime(Int_t m, Double_t a, Double_t t) {
  HMdcDriftTimeParMod* pMod=at(m);
  if(pMod) return pMod->getBinTime(a,t);
  return 0;
}

inline HMdcDriftTimeParBin* HMdcDriftTimePar::getBinTime(Int_t s, Int_t m, Double_t a, Double_t t) {
  HMdcDriftTimeParSec* pSec=at(s);
  if(pSec) return pSec->getBinTime(m,a,t);
  return 0;
}

#endif  /* HMDCDRIFTTIMEPAR_H */

 hmdcdrifttimepar.h:1
 hmdcdrifttimepar.h:2
 hmdcdrifttimepar.h:3
 hmdcdrifttimepar.h:4
 hmdcdrifttimepar.h:5
 hmdcdrifttimepar.h:6
 hmdcdrifttimepar.h:7
 hmdcdrifttimepar.h:8
 hmdcdrifttimepar.h:9
 hmdcdrifttimepar.h:10
 hmdcdrifttimepar.h:11
 hmdcdrifttimepar.h:12
 hmdcdrifttimepar.h:13
 hmdcdrifttimepar.h:14
 hmdcdrifttimepar.h:15
 hmdcdrifttimepar.h:16
 hmdcdrifttimepar.h:17
 hmdcdrifttimepar.h:18
 hmdcdrifttimepar.h:19
 hmdcdrifttimepar.h:20
 hmdcdrifttimepar.h:21
 hmdcdrifttimepar.h:22
 hmdcdrifttimepar.h:23
 hmdcdrifttimepar.h:24
 hmdcdrifttimepar.h:25
 hmdcdrifttimepar.h:26
 hmdcdrifttimepar.h:27
 hmdcdrifttimepar.h:28
 hmdcdrifttimepar.h:29
 hmdcdrifttimepar.h:30
 hmdcdrifttimepar.h:31
 hmdcdrifttimepar.h:32
 hmdcdrifttimepar.h:33
 hmdcdrifttimepar.h:34
 hmdcdrifttimepar.h:35
 hmdcdrifttimepar.h:36
 hmdcdrifttimepar.h:37
 hmdcdrifttimepar.h:38
 hmdcdrifttimepar.h:39
 hmdcdrifttimepar.h:40
 hmdcdrifttimepar.h:41
 hmdcdrifttimepar.h:42
 hmdcdrifttimepar.h:43
 hmdcdrifttimepar.h:44
 hmdcdrifttimepar.h:45
 hmdcdrifttimepar.h:46
 hmdcdrifttimepar.h:47
 hmdcdrifttimepar.h:48
 hmdcdrifttimepar.h:49
 hmdcdrifttimepar.h:50
 hmdcdrifttimepar.h:51
 hmdcdrifttimepar.h:52
 hmdcdrifttimepar.h:53
 hmdcdrifttimepar.h:54
 hmdcdrifttimepar.h:55
 hmdcdrifttimepar.h:56
 hmdcdrifttimepar.h:57
 hmdcdrifttimepar.h:58
 hmdcdrifttimepar.h:59
 hmdcdrifttimepar.h:60
 hmdcdrifttimepar.h:61
 hmdcdrifttimepar.h:62
 hmdcdrifttimepar.h:63
 hmdcdrifttimepar.h:64
 hmdcdrifttimepar.h:65
 hmdcdrifttimepar.h:66
 hmdcdrifttimepar.h:67
 hmdcdrifttimepar.h:68
 hmdcdrifttimepar.h:69
 hmdcdrifttimepar.h:70
 hmdcdrifttimepar.h:71
 hmdcdrifttimepar.h:72
 hmdcdrifttimepar.h:73
 hmdcdrifttimepar.h:74
 hmdcdrifttimepar.h:75
 hmdcdrifttimepar.h:76
 hmdcdrifttimepar.h:77
 hmdcdrifttimepar.h:78
 hmdcdrifttimepar.h:79
 hmdcdrifttimepar.h:80
 hmdcdrifttimepar.h:81
 hmdcdrifttimepar.h:82
 hmdcdrifttimepar.h:83
 hmdcdrifttimepar.h:84
 hmdcdrifttimepar.h:85
 hmdcdrifttimepar.h:86
 hmdcdrifttimepar.h:87
 hmdcdrifttimepar.h:88
 hmdcdrifttimepar.h:89
 hmdcdrifttimepar.h:90
 hmdcdrifttimepar.h:91
 hmdcdrifttimepar.h:92
 hmdcdrifttimepar.h:93
 hmdcdrifttimepar.h:94
 hmdcdrifttimepar.h:95
 hmdcdrifttimepar.h:96
 hmdcdrifttimepar.h:97
 hmdcdrifttimepar.h:98
 hmdcdrifttimepar.h:99
 hmdcdrifttimepar.h:100
 hmdcdrifttimepar.h:101
 hmdcdrifttimepar.h:102
 hmdcdrifttimepar.h:103
 hmdcdrifttimepar.h:104
 hmdcdrifttimepar.h:105
 hmdcdrifttimepar.h:106
 hmdcdrifttimepar.h:107
 hmdcdrifttimepar.h:108
 hmdcdrifttimepar.h:109
 hmdcdrifttimepar.h:110
 hmdcdrifttimepar.h:111
 hmdcdrifttimepar.h:112
 hmdcdrifttimepar.h:113
 hmdcdrifttimepar.h:114
 hmdcdrifttimepar.h:115
 hmdcdrifttimepar.h:116
 hmdcdrifttimepar.h:117
 hmdcdrifttimepar.h:118
 hmdcdrifttimepar.h:119
 hmdcdrifttimepar.h:120
 hmdcdrifttimepar.h:121
 hmdcdrifttimepar.h:122
 hmdcdrifttimepar.h:123
 hmdcdrifttimepar.h:124
 hmdcdrifttimepar.h:125
 hmdcdrifttimepar.h:126
 hmdcdrifttimepar.h:127
 hmdcdrifttimepar.h:128
 hmdcdrifttimepar.h:129
 hmdcdrifttimepar.h:130
 hmdcdrifttimepar.h:131
 hmdcdrifttimepar.h:132
 hmdcdrifttimepar.h:133
 hmdcdrifttimepar.h:134
 hmdcdrifttimepar.h:135
 hmdcdrifttimepar.h:136
 hmdcdrifttimepar.h:137
 hmdcdrifttimepar.h:138
 hmdcdrifttimepar.h:139
 hmdcdrifttimepar.h:140
 hmdcdrifttimepar.h:141
 hmdcdrifttimepar.h:142
 hmdcdrifttimepar.h:143
 hmdcdrifttimepar.h:144
 hmdcdrifttimepar.h:145
 hmdcdrifttimepar.h:146
 hmdcdrifttimepar.h:147
 hmdcdrifttimepar.h:148
 hmdcdrifttimepar.h:149
 hmdcdrifttimepar.h:150
 hmdcdrifttimepar.h:151
 hmdcdrifttimepar.h:152
 hmdcdrifttimepar.h:153
 hmdcdrifttimepar.h:154
 hmdcdrifttimepar.h:155
 hmdcdrifttimepar.h:156
 hmdcdrifttimepar.h:157
 hmdcdrifttimepar.h:158
 hmdcdrifttimepar.h:159
 hmdcdrifttimepar.h:160
 hmdcdrifttimepar.h:161
 hmdcdrifttimepar.h:162
 hmdcdrifttimepar.h:163
 hmdcdrifttimepar.h:164
 hmdcdrifttimepar.h:165
 hmdcdrifttimepar.h:166
 hmdcdrifttimepar.h:167
 hmdcdrifttimepar.h:168
 hmdcdrifttimepar.h:169
 hmdcdrifttimepar.h:170
 hmdcdrifttimepar.h:171
 hmdcdrifttimepar.h:172
 hmdcdrifttimepar.h:173
 hmdcdrifttimepar.h:174
 hmdcdrifttimepar.h:175
 hmdcdrifttimepar.h:176
 hmdcdrifttimepar.h:177
 hmdcdrifttimepar.h:178
 hmdcdrifttimepar.h:179
 hmdcdrifttimepar.h:180
 hmdcdrifttimepar.h:181
 hmdcdrifttimepar.h:182
 hmdcdrifttimepar.h:183
 hmdcdrifttimepar.h:184
 hmdcdrifttimepar.h:185
 hmdcdrifttimepar.h:186
 hmdcdrifttimepar.h:187
 hmdcdrifttimepar.h:188
 hmdcdrifttimepar.h:189
 hmdcdrifttimepar.h:190
 hmdcdrifttimepar.h:191
 hmdcdrifttimepar.h:192
 hmdcdrifttimepar.h:193
 hmdcdrifttimepar.h:194
 hmdcdrifttimepar.h:195
 hmdcdrifttimepar.h:196
 hmdcdrifttimepar.h:197
 hmdcdrifttimepar.h:198
 hmdcdrifttimepar.h:199
 hmdcdrifttimepar.h:200
 hmdcdrifttimepar.h:201
 hmdcdrifttimepar.h:202
 hmdcdrifttimepar.h:203
 hmdcdrifttimepar.h:204
 hmdcdrifttimepar.h:205
 hmdcdrifttimepar.h:206
 hmdcdrifttimepar.h:207
 hmdcdrifttimepar.h:208
 hmdcdrifttimepar.h:209
 hmdcdrifttimepar.h:210
 hmdcdrifttimepar.h:211
 hmdcdrifttimepar.h:212
 hmdcdrifttimepar.h:213
 hmdcdrifttimepar.h:214
 hmdcdrifttimepar.h:215
 hmdcdrifttimepar.h:216
 hmdcdrifttimepar.h:217
 hmdcdrifttimepar.h:218
 hmdcdrifttimepar.h:219
 hmdcdrifttimepar.h:220
 hmdcdrifttimepar.h:221
 hmdcdrifttimepar.h:222
 hmdcdrifttimepar.h:223
 hmdcdrifttimepar.h:224
 hmdcdrifttimepar.h:225
 hmdcdrifttimepar.h:226
 hmdcdrifttimepar.h:227
 hmdcdrifttimepar.h:228
 hmdcdrifttimepar.h:229
 hmdcdrifttimepar.h:230
 hmdcdrifttimepar.h:231
 hmdcdrifttimepar.h:232
 hmdcdrifttimepar.h:233
 hmdcdrifttimepar.h:234
 hmdcdrifttimepar.h:235
 hmdcdrifttimepar.h:236
 hmdcdrifttimepar.h:237
 hmdcdrifttimepar.h:238
 hmdcdrifttimepar.h:239
 hmdcdrifttimepar.h:240
 hmdcdrifttimepar.h:241
 hmdcdrifttimepar.h:242
 hmdcdrifttimepar.h:243
 hmdcdrifttimepar.h:244
 hmdcdrifttimepar.h:245
 hmdcdrifttimepar.h:246
 hmdcdrifttimepar.h:247
 hmdcdrifttimepar.h:248
 hmdcdrifttimepar.h:249
 hmdcdrifttimepar.h:250
 hmdcdrifttimepar.h:251
 hmdcdrifttimepar.h:252
 hmdcdrifttimepar.h:253
 hmdcdrifttimepar.h:254
 hmdcdrifttimepar.h:255
 hmdcdrifttimepar.h:256
 hmdcdrifttimepar.h:257
 hmdcdrifttimepar.h:258
 hmdcdrifttimepar.h:259
 hmdcdrifttimepar.h:260
 hmdcdrifttimepar.h:261
 hmdcdrifttimepar.h:262
 hmdcdrifttimepar.h:263
 hmdcdrifttimepar.h:264
 hmdcdrifttimepar.h:265
 hmdcdrifttimepar.h:266
 hmdcdrifttimepar.h:267
 hmdcdrifttimepar.h:268
 hmdcdrifttimepar.h:269
 hmdcdrifttimepar.h:270
 hmdcdrifttimepar.h:271
 hmdcdrifttimepar.h:272
 hmdcdrifttimepar.h:273
 hmdcdrifttimepar.h:274
 hmdcdrifttimepar.h:275
 hmdcdrifttimepar.h:276
 hmdcdrifttimepar.h:277
 hmdcdrifttimepar.h:278
 hmdcdrifttimepar.h:279
 hmdcdrifttimepar.h:280
 hmdcdrifttimepar.h:281
 hmdcdrifttimepar.h:282
 hmdcdrifttimepar.h:283
 hmdcdrifttimepar.h:284
 hmdcdrifttimepar.h:285
 hmdcdrifttimepar.h:286
 hmdcdrifttimepar.h:287
 hmdcdrifttimepar.h:288
 hmdcdrifttimepar.h:289
 hmdcdrifttimepar.h:290
 hmdcdrifttimepar.h:291
 hmdcdrifttimepar.h:292
 hmdcdrifttimepar.h:293
 hmdcdrifttimepar.h:294
 hmdcdrifttimepar.h:295
 hmdcdrifttimepar.h:296
 hmdcdrifttimepar.h:297
 hmdcdrifttimepar.h:298
 hmdcdrifttimepar.h:299
 hmdcdrifttimepar.h:300
 hmdcdrifttimepar.h:301
 hmdcdrifttimepar.h:302
 hmdcdrifttimepar.h:303
 hmdcdrifttimepar.h:304
 hmdcdrifttimepar.h:305
 hmdcdrifttimepar.h:306
 hmdcdrifttimepar.h:307
 hmdcdrifttimepar.h:308
 hmdcdrifttimepar.h:309
 hmdcdrifttimepar.h:310
 hmdcdrifttimepar.h:311
 hmdcdrifttimepar.h:312
 hmdcdrifttimepar.h:313
 hmdcdrifttimepar.h:314
 hmdcdrifttimepar.h:315