//____________________________________________________________________
//
// Drift chamber digitisation object (hit)
// 

//  
// Author: Oliver Maria Kind <mailto: kind@mail.desy.de>
// Update: $Id: HepDriftChamberDigit.cxx,v 1.2 2010/12/23 15:14:32 herrberg Exp $
// Copyright: 2008 (C) Oliver Maria Kind
//
#ifndef HEP_HepDriftChamberDigit
#include <HepDriftChamberDigit.h>
#endif
#include <iostream>
#include <TString.h>

using namespace std;

#ifndef __CINT__
ClassImp(HepDriftChamberDigit);
#endif

//____________________________________________________________________

HepDriftChamberDigit::HepDriftChamberDigit() {
    //
    // Default constructor
    //
}

//____________________________________________________________________

HepDriftChamberDigit::HepDriftChamberDigit(Int_t Id, Float_t DriftTime,
					   Float_t DriftRadius) : 
  HepDigit(Id), fDriftTime(DriftTime), fDriftRadius(DriftRadius), 
  fFittedRadius(0.), fT0(0.){
    //
    // Normal constructor
    //
}

//____________________________________________________________________

HepDriftChamberDigit::~HepDriftChamberDigit() {
    //
    // Default destructor
    //    
}

//____________________________________________________________________

void HepDriftChamberDigit::Clear(Option_t *option) {
    //
    // Clear this object
    //
    fId = 0;
    fDriftTime = 0.;
    fDriftRadius = 0.;
    fFittedRadius = 0.;
    fT0 = 0.;
}

//____________________________________________________________________

void HepDriftChamberDigit::Print(Option_t *option) const {
    //
    // Print digitisation information
    //
    TString opt = option;
    opt.ToLower();
    
    // Print header
    if ( !opt.Contains("nohead") ) PrintHeader();
    
    // Print
    cout.setf(ios::showpoint | ios::fixed, ios::floatfield);
    cout.precision(3);
    cout.width(4);  cout << fId;
    cout.width(14); cout << DriftTime();
    cout.width(15); cout << DriftRadius();
    cout.width(13); cout << FittedRadius();
    cout << endl;
    
    // Print footer
    if ( !opt.Contains("nohead") ) PrintFooter();
}

//____________________________________________________________________

void HepDriftChamberDigit::PrintHeader() {
    //
    // Print information header
    //
    cout << "-----------------------------------------------------------------"
	 << endl
	 << "  Id  T_Drift (ns)  R_Drift (mum)  R_Fit (mum)"
	 << endl
	 << "-----------------------------------------------------------------"
	 << endl;
}

//____________________________________________________________________

void HepDriftChamberDigit::PrintFooter() {
    //
    // Print footer
    //
    cout << "-----------------------------------------------------------------"
	 << endl;
}

 HepDriftChamberDigit.cxx:1
 HepDriftChamberDigit.cxx:2
 HepDriftChamberDigit.cxx:3
 HepDriftChamberDigit.cxx:4
 HepDriftChamberDigit.cxx:5
 HepDriftChamberDigit.cxx:6
 HepDriftChamberDigit.cxx:7
 HepDriftChamberDigit.cxx:8
 HepDriftChamberDigit.cxx:9
 HepDriftChamberDigit.cxx:10
 HepDriftChamberDigit.cxx:11
 HepDriftChamberDigit.cxx:12
 HepDriftChamberDigit.cxx:13
 HepDriftChamberDigit.cxx:14
 HepDriftChamberDigit.cxx:15
 HepDriftChamberDigit.cxx:16
 HepDriftChamberDigit.cxx:17
 HepDriftChamberDigit.cxx:18
 HepDriftChamberDigit.cxx:19
 HepDriftChamberDigit.cxx:20
 HepDriftChamberDigit.cxx:21
 HepDriftChamberDigit.cxx:22
 HepDriftChamberDigit.cxx:23
 HepDriftChamberDigit.cxx:24
 HepDriftChamberDigit.cxx:25
 HepDriftChamberDigit.cxx:26
 HepDriftChamberDigit.cxx:27
 HepDriftChamberDigit.cxx:28
 HepDriftChamberDigit.cxx:29
 HepDriftChamberDigit.cxx:30
 HepDriftChamberDigit.cxx:31
 HepDriftChamberDigit.cxx:32
 HepDriftChamberDigit.cxx:33
 HepDriftChamberDigit.cxx:34
 HepDriftChamberDigit.cxx:35
 HepDriftChamberDigit.cxx:36
 HepDriftChamberDigit.cxx:37
 HepDriftChamberDigit.cxx:38
 HepDriftChamberDigit.cxx:39
 HepDriftChamberDigit.cxx:40
 HepDriftChamberDigit.cxx:41
 HepDriftChamberDigit.cxx:42
 HepDriftChamberDigit.cxx:43
 HepDriftChamberDigit.cxx:44
 HepDriftChamberDigit.cxx:45
 HepDriftChamberDigit.cxx:46
 HepDriftChamberDigit.cxx:47
 HepDriftChamberDigit.cxx:48
 HepDriftChamberDigit.cxx:49
 HepDriftChamberDigit.cxx:50
 HepDriftChamberDigit.cxx:51
 HepDriftChamberDigit.cxx:52
 HepDriftChamberDigit.cxx:53
 HepDriftChamberDigit.cxx:54
 HepDriftChamberDigit.cxx:55
 HepDriftChamberDigit.cxx:56
 HepDriftChamberDigit.cxx:57
 HepDriftChamberDigit.cxx:58
 HepDriftChamberDigit.cxx:59
 HepDriftChamberDigit.cxx:60
 HepDriftChamberDigit.cxx:61
 HepDriftChamberDigit.cxx:62
 HepDriftChamberDigit.cxx:63
 HepDriftChamberDigit.cxx:64
 HepDriftChamberDigit.cxx:65
 HepDriftChamberDigit.cxx:66
 HepDriftChamberDigit.cxx:67
 HepDriftChamberDigit.cxx:68
 HepDriftChamberDigit.cxx:69
 HepDriftChamberDigit.cxx:70
 HepDriftChamberDigit.cxx:71
 HepDriftChamberDigit.cxx:72
 HepDriftChamberDigit.cxx:73
 HepDriftChamberDigit.cxx:74
 HepDriftChamberDigit.cxx:75
 HepDriftChamberDigit.cxx:76
 HepDriftChamberDigit.cxx:77
 HepDriftChamberDigit.cxx:78
 HepDriftChamberDigit.cxx:79
 HepDriftChamberDigit.cxx:80
 HepDriftChamberDigit.cxx:81
 HepDriftChamberDigit.cxx:82
 HepDriftChamberDigit.cxx:83
 HepDriftChamberDigit.cxx:84
 HepDriftChamberDigit.cxx:85
 HepDriftChamberDigit.cxx:86
 HepDriftChamberDigit.cxx:87
 HepDriftChamberDigit.cxx:88
 HepDriftChamberDigit.cxx:89
 HepDriftChamberDigit.cxx:90
 HepDriftChamberDigit.cxx:91
 HepDriftChamberDigit.cxx:92
 HepDriftChamberDigit.cxx:93
 HepDriftChamberDigit.cxx:94
 HepDriftChamberDigit.cxx:95
 HepDriftChamberDigit.cxx:96
 HepDriftChamberDigit.cxx:97
 HepDriftChamberDigit.cxx:98
 HepDriftChamberDigit.cxx:99
 HepDriftChamberDigit.cxx:100
 HepDriftChamberDigit.cxx:101
 HepDriftChamberDigit.cxx:102
 HepDriftChamberDigit.cxx:103
 HepDriftChamberDigit.cxx:104
 HepDriftChamberDigit.cxx:105
 HepDriftChamberDigit.cxx:106
 HepDriftChamberDigit.cxx:107
 HepDriftChamberDigit.cxx:108
 HepDriftChamberDigit.cxx:109
 HepDriftChamberDigit.cxx:110
 HepDriftChamberDigit.cxx:111