ROOT logo
#include "hvirtualcandsim.h"
#include "hades.h"
#include <iostream>
#include <iomanip>

#include "TBuffer.h"
using namespace std;

// ROOT's IO and RTTI stuff is added here
ClassImp(HVirtualCandSim)

//_HADES_CLASS_DESCRIPTION
////////////////////////////////////////////////////////////////////////////////
//
//
// HVirtualCandSim
//
// Simulation object keeping HGeant information in addition to the normal
// HVirtualCand. For documentation of enum constants see hparticledef.h
////////////////////////////////////////////////////////////////////////////////

HVirtualCandSim::~HVirtualCandSim() {}

void HVirtualCandSim::print(UInt_t selection)
{
    // print one candidate object and the flags which have been
    // already set to HVirtualCand
    //
    // print option bits
    // bit   1 : print hit indices                         (selection == 1)
    //       2 : print hit indices                         (selection == 2)
    //       3 : print chi2s and matching vars             (selection == 4)
    //       4 : print selection flags                     (selection == 8)
    //       5 : print Geant infos                         (selection == 16)


    // default : print all


//     if( (selection&0xF) > 0 ) HVirtualCand::print(selection); FIXME
//     else cout<<"    "<<" --------------------------------------------"<<endl;

    if( (selection>>4) & 0x01)
    {
        cout<<"Geant PID     : "<<setw(12)<<fGeantPID         <<", trk      : "<<setw(12)<<fGeantTrack            <<", parPID     : "<<setw(12)<< fGeantParentPID           <<", parTrk     : "<<setw(12)<<fGeantParentTrackNum       <<", grndParPID : "<<setw(12)<<fGeantGrandParentPID  <<", grndParTrk : "<<setw(12)<<fGeantGrandParentTrackNum <<endl;
        cout<<"Generator     : "<<setw(12)<<fGeantgeninfo     <<", 1        : "<<setw(12)<<fGeantgeninfo1         <<", 2          : "<<setw(12)<<fGeantgeninfo2             <<", weight     : "<<setw(12)<<fGeantgenweight<<endl;
        cout<<"Geant Mom     : "<<setw(12)<<getGeantTotalMom()<<", xmom     : "<<setw(12)<<fGeantxMom             <<", ymom       : "<<setw(12)<< fGeantyMom                <<", zmom       : "<<fGeantzMom<<endl;
        cout<<"Geant Vertex  : "<<setw(12)<<fGeantxVertex     <<", "<<setw(12)<< fGeantyVertex <<", "<< fGeantzVertex <<endl;
    }
}

void HVirtualCandSim::Streamer(TBuffer &R__b)
{
   // Stream an object of class HVirtualCandSim.

   UInt_t R__s, R__c;
   if (R__b.IsReading()) {
      Version_t R__v = R__b.ReadVersion(&R__s, &R__c); if (R__v) { }
      R__b >> fGeantPID;
      R__b >> fGeantTrack;
      R__b >> fGeantCorrTrackIds;
      R__b >> fGeantxMom;
      R__b >> fGeantyMom;
      R__b >> fGeantzMom;
      R__b >> fGeantxVertex;
      R__b >> fGeantyVertex;
      R__b >> fGeantzVertex;
      R__b >> fGeantParentTrackNum;
      R__b >> fGeantParentPID;
      R__b >> fGeantGrandParentTrackNum;
      R__b >> fGeantGrandParentPID;
      R__b >> fGeantCreationMechanism;
      R__b >> fGeantMediumNumber;
      R__b >> fGeantgeninfo;
      R__b >> fGeantgeninfo1;
      R__b >> fGeantgeninfo2;
      R__b >> fGeantgenweight;
     R__b.CheckByteCount(R__s, R__c, HVirtualCandSim::IsA());
   } else {
      R__c = R__b.WriteVersion(HVirtualCandSim::IsA(), kTRUE);
      R__b << fGeantPID;
      R__b << fGeantTrack;
      R__b << fGeantCorrTrackIds;
      R__b << fGeantxMom;
      R__b << fGeantyMom;
      R__b << fGeantzMom;
      R__b << fGeantxVertex;
      R__b << fGeantyVertex;
      R__b << fGeantzVertex;
      R__b << fGeantParentTrackNum;
      R__b << fGeantParentPID;
      R__b << fGeantGrandParentTrackNum;
      R__b << fGeantGrandParentPID;
      R__b << fGeantCreationMechanism;
      R__b << fGeantMediumNumber;
      R__b << fGeantgeninfo;
      R__b << fGeantgeninfo1;
      R__b << fGeantgeninfo2;
      R__b << fGeantgenweight;
      R__b.SetByteCount(R__c, kTRUE);
   }
}
 hvirtualcandsim.cc:1
 hvirtualcandsim.cc:2
 hvirtualcandsim.cc:3
 hvirtualcandsim.cc:4
 hvirtualcandsim.cc:5
 hvirtualcandsim.cc:6
 hvirtualcandsim.cc:7
 hvirtualcandsim.cc:8
 hvirtualcandsim.cc:9
 hvirtualcandsim.cc:10
 hvirtualcandsim.cc:11
 hvirtualcandsim.cc:12
 hvirtualcandsim.cc:13
 hvirtualcandsim.cc:14
 hvirtualcandsim.cc:15
 hvirtualcandsim.cc:16
 hvirtualcandsim.cc:17
 hvirtualcandsim.cc:18
 hvirtualcandsim.cc:19
 hvirtualcandsim.cc:20
 hvirtualcandsim.cc:21
 hvirtualcandsim.cc:22
 hvirtualcandsim.cc:23
 hvirtualcandsim.cc:24
 hvirtualcandsim.cc:25
 hvirtualcandsim.cc:26
 hvirtualcandsim.cc:27
 hvirtualcandsim.cc:28
 hvirtualcandsim.cc:29
 hvirtualcandsim.cc:30
 hvirtualcandsim.cc:31
 hvirtualcandsim.cc:32
 hvirtualcandsim.cc:33
 hvirtualcandsim.cc:34
 hvirtualcandsim.cc:35
 hvirtualcandsim.cc:36
 hvirtualcandsim.cc:37
 hvirtualcandsim.cc:38
 hvirtualcandsim.cc:39
 hvirtualcandsim.cc:40
 hvirtualcandsim.cc:41
 hvirtualcandsim.cc:42
 hvirtualcandsim.cc:43
 hvirtualcandsim.cc:44
 hvirtualcandsim.cc:45
 hvirtualcandsim.cc:46
 hvirtualcandsim.cc:47
 hvirtualcandsim.cc:48
 hvirtualcandsim.cc:49
 hvirtualcandsim.cc:50
 hvirtualcandsim.cc:51
 hvirtualcandsim.cc:52
 hvirtualcandsim.cc:53
 hvirtualcandsim.cc:54
 hvirtualcandsim.cc:55
 hvirtualcandsim.cc:56
 hvirtualcandsim.cc:57
 hvirtualcandsim.cc:58
 hvirtualcandsim.cc:59
 hvirtualcandsim.cc:60
 hvirtualcandsim.cc:61
 hvirtualcandsim.cc:62
 hvirtualcandsim.cc:63
 hvirtualcandsim.cc:64
 hvirtualcandsim.cc:65
 hvirtualcandsim.cc:66
 hvirtualcandsim.cc:67
 hvirtualcandsim.cc:68
 hvirtualcandsim.cc:69
 hvirtualcandsim.cc:70
 hvirtualcandsim.cc:71
 hvirtualcandsim.cc:72
 hvirtualcandsim.cc:73
 hvirtualcandsim.cc:74
 hvirtualcandsim.cc:75
 hvirtualcandsim.cc:76
 hvirtualcandsim.cc:77
 hvirtualcandsim.cc:78
 hvirtualcandsim.cc:79
 hvirtualcandsim.cc:80
 hvirtualcandsim.cc:81
 hvirtualcandsim.cc:82
 hvirtualcandsim.cc:83
 hvirtualcandsim.cc:84
 hvirtualcandsim.cc:85
 hvirtualcandsim.cc:86
 hvirtualcandsim.cc:87
 hvirtualcandsim.cc:88
 hvirtualcandsim.cc:89
 hvirtualcandsim.cc:90
 hvirtualcandsim.cc:91
 hvirtualcandsim.cc:92
 hvirtualcandsim.cc:93
 hvirtualcandsim.cc:94
 hvirtualcandsim.cc:95
 hvirtualcandsim.cc:96
 hvirtualcandsim.cc:97
 hvirtualcandsim.cc:98
 hvirtualcandsim.cc:99
 hvirtualcandsim.cc:100
 hvirtualcandsim.cc:101
 hvirtualcandsim.cc:102