//____________________________________________________________________
//
// Atlas electron class
// 

//  
// Author: Oliver Maria Kind <mailto: kind@mail.desy.de>
// Update: $Id: AtlFastElectron.cxx,v 1.1 2009/01/05 17:26:56 mandry Exp $
// Copyright: 2008 (C) Oliver Maria Kind
//
#ifndef ATLAS_AtlFastElectron
#include <AtlFastElectron.h>
#endif
#include <iostream>

using namespace std;

#ifndef __CINT__
ClassImp(AtlFastElectron);
#endif

//____________________________________________________________________

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

//____________________________________________________________________

AtlFastElectron::AtlFastElectron(Int_t Id, Float_t Px, Float_t Py, Float_t Pz,
			 Float_t E, Bool_t IsPositron) :
    HepElectron(Id, Px, Py, Pz, E, IsPositron) {
    //
    // Normal constructor
    //
}

//____________________________________________________________________

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

//____________________________________________________________________

void AtlFastElectron::Clear(Option_t *option) {
    //
    // Clear object
    //
    HepElectron::Clear(option);
}

//_____________________________________________________________

void AtlFastElectron::Print(Option_t *option) {
    //
    // Print electron information
    //
    // Options available:
    //   "nohead" - No header containing the variable names is
    //              displayed. Useful when printing a whole table
    //              for a list of electrons
    //
    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(3);  cout << (( IsPositive() ) ? "+" : "-");
    cout.width(12); cout << Et();
    cout.precision(6);
    cout.width(12); cout << M("REC");
    cout.precision(3);
    cout.width(12); cout << Theta()*180/TMath::Pi();
    cout.width(12); cout << Phi()*180/TMath::Pi();
    cout.width(12); cout << Eta();
    cout << endl;

    // Print footer
    if ( !opt.Contains("nohead") ) PrintFooter();
}

//____________________________________________________________________

void AtlFastElectron::PrintHeader() {
    //
    // Print information header
    //
    cout << "-------------------------------------------------------------------"
	 << endl
	 << " Id  Chg     Et         Minv         Theta         Phi         Eta "
	 << endl
	 << "-------------------------------------------------------------------"
	 << endl;
}

//____________________________________________________________________

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

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