Int_t iquest[100];
} Quest_t;
+//----------GCBANK
+// COMMON/GCBANK/NZEBRA,GVERSN,ZVERSN,IXSTOR,IXDIV,IXCONS,FENDQ(16)
+// + ,LMAIN,LR1,WS(KWBANK)
+typedef struct {
+ Int_t nzebra;
+ Float_t gversn;
+ Float_t zversn;
+ Int_t ixstor;
+ Int_t ixdiv;
+ Int_t ixcons;
+ Float_t fendq[16];
+ Int_t lmain;
+ Int_t lr1;
+} Gcbank_t;
+
//----------GCLINK
// COMMON/GCLINK/JDIGI ,JDRAW ,JHEAD ,JHITS ,JKINE ,JMATE ,JPART
// + ,JROTM ,JRUNG ,JSET ,JSTAK ,JGSTAT,JTMED ,JTRACK,JVERTX
Float_t *fZq;
Quest_t *fQuest;
+ Gcbank_t *fGcbank;
Gclink_t *fGclink;
Gccuts_t *fGccuts;
Gcmate_t *fGcmate;
Gckin3_t *fGckin3;
Gctrak_t *fGctrak;
+ enum {kMaxParticles = 100};
+
+ Int_t fNPDGCodes;
+ Int_t fPDGCode[kMaxParticles];
public:
TGeant3();
void GeomIter();
Int_t CurrentMaterial(Float_t &a, Float_t &z, Float_t &dens, Float_t &radl, Float_t &absl) const;
Int_t NextVolUp(Text_t *name, Int_t ©);
- Int_t CurrentVol(Text_t *name, Int_t ©) const;
- Int_t CurrentVolOff(Int_t off, Text_t *name, Int_t ©) const;
+ Int_t CurrentVolID(Int_t ©) const;
+ Int_t CurrentVolOffID(Int_t off, Int_t ©) const;
+ const char* CurrentVolName() const;
+ const char *CurrentVolOffName(Int_t off) const;
Int_t VolId(Text_t *name) const;
+ Int_t IdFromPDG(Int_t pdg) const;
+ Int_t PDGFromId(Int_t pdg) const;
+ void DefineParticles();
const char* VolName(Int_t id) const;
- void TrackPosition(Float_t *xyz) const;
- void TrackMomentum(Float_t *xyz) const;
- Int_t Nvolumes() const;
+ void TrackPosition(TLorentzVector &xyz) const;
+ void TrackMomentum(TLorentzVector &xyz) const;
+ Int_t NofVolumes() const;
Float_t TrackTime() const;
Float_t TrackCharge() const;
Float_t TrackMass() const;
Float_t TrackStep() const;
Float_t TrackLength() const;
Int_t TrackPid() const;
- Bool_t TrackInside() const;
- Bool_t TrackEntering() const;
- Bool_t TrackExiting() const;
- Bool_t TrackOut() const;
- Bool_t TrackDisappear() const;
- Bool_t TrackStop() const;
- Bool_t TrackAlive() const;
+ Bool_t IsTrackInside() const;
+ Bool_t IsTrackEntering() const;
+ Bool_t IsTrackExiting() const;
+ Bool_t IsTrackOut() const;
+ Bool_t IsTrackDisappeared() const;
+ Bool_t IsTrackStop() const;
+ Bool_t IsTrackAlive() const;
Int_t NSecondaries() const;
Int_t CurrentEvent() const;
void ProdProcess(char*) const;
void SetMaxStep(Float_t maxstep);
void SetMaxNStep(Int_t maxnstp);
Int_t GetMaxNStep() const;
- void GetParticle(const Int_t ipart, char *name, Float_t &mass) const;
+ // void GetParticle(const Int_t pdg, char *name, Float_t &mass) const;
virtual Int_t GetMedium() const;
virtual Float_t Edep() const;
virtual Float_t Etot() const;
// access functions to commons
virtual Quest_t* Quest() const {return fQuest;}
+ virtual Gcbank_t* Gcbank() const {return fGcbank;}
virtual Gclink_t* Gclink() const {return fGclink;}
virtual Gccuts_t* Gccuts() const {return fGccuts;}
virtual Gcmate_t* Gcmate() const {return fGcmate;}
virtual void Gsxyz();
virtual void Gtrack();
virtual void Gtreve();
+ virtual void Gtreve_root();
virtual void Grndm(Float_t *rvec, const Int_t len) const;
virtual void Grndmq(Int_t &is1, Int_t &is2, const Int_t iseq, const Text_t *chopt);
virtual void SetRAYL(Int_t par=1);
virtual void SetSWIT(Int_t sw, Int_t val=1);
virtual void SetTRIG(Int_t nevents=1);
+ virtual void SetUserDecay(Int_t ipart);
virtual void Vname(const char *name, char *vname);