#ifndef __HVIRTUALCANDSIM_H__
#define __HVIRTUALCANDSIM_H__
#include "TObject.h"
#include "hvirtualcand.h"
class HVirtualCandSim
{
protected:
Int_t fGeantPID;
Int_t fGeantTrack;
UInt_t fGeantCorrTrackIds;
Float_t fGeantxMom;
Float_t fGeantyMom;
Float_t fGeantzMom;
Float_t fGeantxVertex;
Float_t fGeantyVertex;
Float_t fGeantzVertex;
Int_t fGeantParentTrackNum;
Int_t fGeantParentPID;
Int_t fGeantGrandParentTrackNum;
Int_t fGeantGrandParentPID;
Int_t fGeantCreationMechanism;
Int_t fGeantMediumNumber;
Float_t fGeantgeninfo;
Float_t fGeantgeninfo1;
Float_t fGeantgeninfo2;
Float_t fGeantgenweight;
public:
HVirtualCandSim() :
fGeantPID(0),fGeantTrack(-1), fGeantCorrTrackIds(0),
fGeantxMom(-1), fGeantyMom(-1), fGeantzMom(-1), fGeantxVertex(-1), fGeantyVertex(-1), fGeantzVertex(-1),
fGeantParentTrackNum(0),fGeantParentPID(-1),fGeantGrandParentTrackNum(0),fGeantGrandParentPID(-1),
fGeantCreationMechanism(0), fGeantMediumNumber(0),
fGeantgeninfo(-1),fGeantgeninfo1(-1),fGeantgeninfo2(-1),fGeantgenweight(0)
{
}
virtual ~HVirtualCandSim();
void setGeantPID(Int_t a) { fGeantPID = a; }
void setGeantTrack(Int_t a) { fGeantTrack = a; }
void setGeantCorrTrackIds(UInt_t a) { fGeantCorrTrackIds = a; }
void setGeantxMom(Float_t a) { fGeantxMom = a; }
void setGeantyMom(Float_t a) { fGeantyMom = a; }
void setGeantzMom(Float_t a) { fGeantzMom = a; }
void setGeantxVertex(Float_t a) { fGeantxVertex = a; }
void setGeantyVertex(Float_t a) { fGeantyVertex = a; }
void setGeantzVertex(Float_t a) { fGeantzVertex = a; }
void setGeantParentTrackNum(Int_t a) { fGeantParentTrackNum = a; }
void setGeantParentPID(Int_t a) { fGeantParentPID = a; }
void setGeantGrandParentTrackNum(Int_t a) { fGeantGrandParentTrackNum = a; }
void setGeantGrandParentPID(Int_t a) { fGeantGrandParentPID = a; }
void setGeantCreationMechanism(Int_t a) { fGeantCreationMechanism = a; }
void setGeantMediumNumber(Int_t a) { fGeantMediumNumber = a; }
void setGeantGeninfo(Float_t a) { fGeantgeninfo = a; }
void setGeantGeninfo1(Float_t a) { fGeantgeninfo1 = a; }
void setGeantGeninfo2(Float_t a) { fGeantgeninfo2 = a; }
void setGeantGenweight(Float_t a) { fGeantgenweight = a; }
Int_t getGeantPID() const { return fGeantPID; }
Int_t getGeantTrack() const { return fGeantTrack; }
UInt_t getGeantCorrTrackIds() const { return fGeantCorrTrackIds; }
Float_t getGeantxMom() const { return fGeantxMom; }
Float_t getGeantyMom() const { return fGeantyMom; }
Float_t getGeantzMom() const { return fGeantzMom; }
Float_t getGeantTotalMom() const { return (fGeantxMom ==-1 && fGeantyMom ==-1 && fGeantzMom ==-1 ) ? -1 : sqrt(fGeantxMom*fGeantxMom+fGeantyMom*fGeantyMom+fGeantzMom*fGeantzMom);}
Float_t getGeantxVertex() const { return fGeantxVertex; }
Float_t getGeantyVertex() const { return fGeantyVertex; }
Float_t getGeantzVertex() const { return fGeantzVertex; }
Int_t getGeantParentTrackNum() const { return fGeantParentTrackNum; }
Int_t getGeantParentPID() const { return fGeantParentPID; }
Int_t getGeantGrandParentTrackNum() const { return fGeantGrandParentTrackNum;}
Int_t getGeantGrandParentPID() const { return fGeantGrandParentPID; }
Int_t getGeantCreationMechanism() const { return fGeantCreationMechanism; }
Int_t getGeantMediumNumber() const { return fGeantMediumNumber; }
Float_t getGeantGeninfo() const { return fGeantgeninfo; }
Float_t getGeantGeninfo1() const { return fGeantgeninfo1; }
Float_t getGeantGeninfo2() const { return fGeantgeninfo2; }
Float_t getGeantGenweight() const { return fGeantgenweight; }
virtual void print(UInt_t selection=31);
ClassDef(HVirtualCandSim,1)
};
#endif // __HVIRTUALCANDSIM_H__