ROOT logo
#ifndef ROOT_THaVDCAnalyticTTDConv
#define ROOT_THaVDCAnalyticTTDConv

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// THaVDCAnalyticTTDConv                                                     //
//                                                                           //
// Uses a drift velocity (um/ns) to convert time (ns) into distance (cm)     //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
#include "THaVDCTimeToDistConv.h"

class THaVDCAnalyticTTDConv : public THaVDCTimeToDistConv{

public:
  THaVDCAnalyticTTDConv( );
  THaVDCAnalyticTTDConv(Double_t vel);

  virtual ~THaVDCAnalyticTTDConv();

  virtual Double_t ConvertTimeToDist(Double_t time, Double_t tanTheta,
				     Double_t *ddist=0);


  // Get and Set Functions
  Double_t GetDriftVel() { return fDriftVel; }

  void SetDriftVel(Double_t v) {fDriftVel = v; }
  void SetParameters( const Double_t* A1, const Double_t* A2, Double_t dtime );

protected:

  Double_t fDriftVel;   // Drift velocity (m/s)

  // Coefficients for a polynomial yielding correction parameters
  Double_t fA1tdcCor[4];
  Double_t fA2tdcCor[4];

  Double_t fdtime;      // uncertainty in the measured time
  Bool_t   fIsSet;      // Flag to indicate that parameters are set

  ClassDef(THaVDCAnalyticTTDConv,0)             // VDC Analytic TTD Conv class
};


////////////////////////////////////////////////////////////////////////////////

#endif
 THaVDCAnalyticTTDConv.h:1
 THaVDCAnalyticTTDConv.h:2
 THaVDCAnalyticTTDConv.h:3
 THaVDCAnalyticTTDConv.h:4
 THaVDCAnalyticTTDConv.h:5
 THaVDCAnalyticTTDConv.h:6
 THaVDCAnalyticTTDConv.h:7
 THaVDCAnalyticTTDConv.h:8
 THaVDCAnalyticTTDConv.h:9
 THaVDCAnalyticTTDConv.h:10
 THaVDCAnalyticTTDConv.h:11
 THaVDCAnalyticTTDConv.h:12
 THaVDCAnalyticTTDConv.h:13
 THaVDCAnalyticTTDConv.h:14
 THaVDCAnalyticTTDConv.h:15
 THaVDCAnalyticTTDConv.h:16
 THaVDCAnalyticTTDConv.h:17
 THaVDCAnalyticTTDConv.h:18
 THaVDCAnalyticTTDConv.h:19
 THaVDCAnalyticTTDConv.h:20
 THaVDCAnalyticTTDConv.h:21
 THaVDCAnalyticTTDConv.h:22
 THaVDCAnalyticTTDConv.h:23
 THaVDCAnalyticTTDConv.h:24
 THaVDCAnalyticTTDConv.h:25
 THaVDCAnalyticTTDConv.h:26
 THaVDCAnalyticTTDConv.h:27
 THaVDCAnalyticTTDConv.h:28
 THaVDCAnalyticTTDConv.h:29
 THaVDCAnalyticTTDConv.h:30
 THaVDCAnalyticTTDConv.h:31
 THaVDCAnalyticTTDConv.h:32
 THaVDCAnalyticTTDConv.h:33
 THaVDCAnalyticTTDConv.h:34
 THaVDCAnalyticTTDConv.h:35
 THaVDCAnalyticTTDConv.h:36
 THaVDCAnalyticTTDConv.h:37
 THaVDCAnalyticTTDConv.h:38
 THaVDCAnalyticTTDConv.h:39
 THaVDCAnalyticTTDConv.h:40
 THaVDCAnalyticTTDConv.h:41
 THaVDCAnalyticTTDConv.h:42
 THaVDCAnalyticTTDConv.h:43
 THaVDCAnalyticTTDConv.h:44
 THaVDCAnalyticTTDConv.h:45
 THaVDCAnalyticTTDConv.h:46
 THaVDCAnalyticTTDConv.h:47
 THaVDCAnalyticTTDConv.h:48