]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TGeant3/TGeant3.h
New geometry files from R.Barbera
[u/mrichter/AliRoot.git] / TGeant3 / TGeant3.h
index 8c90fec57a509ce1b5f1c903836f6cacf2af47f0..b44b77ebb0762db119b3e9da8375ba2ac1834038 100644 (file)
@@ -19,6 +19,21 @@ typedef struct {
   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 
@@ -386,6 +401,7 @@ private:
   Float_t *fZq; 
 
   Quest_t  *fQuest; 
+  Gcbank_t *fGcbank;
   Gclink_t *fGclink; 
   Gccuts_t *fGccuts; 
   Gcmate_t *fGcmate; 
@@ -405,7 +421,11 @@ private:
   Gckin3_t *fGckin3; 
   Gctrak_t *fGctrak; 
 
+  enum {kMaxParticles = 100};
+
+  Int_t fNPDGCodes;
 
+  Int_t fPDGCode[kMaxParticles];
 
 public: 
   TGeant3(); 
@@ -425,26 +445,31 @@ public:
   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 &copy);
-  Int_t CurrentVol(Text_t *name, Int_t &copy) const;
-  Int_t CurrentVolOff(Int_t off, Text_t *name, Int_t &copy) const;
+  Int_t CurrentVolID(Int_t &copy) const;
+  Int_t CurrentVolOffID(Int_t off, Int_t &copy) 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;
@@ -456,7 +481,7 @@ public:
   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;
@@ -479,6 +504,7 @@ public:
   // 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;}
@@ -561,6 +587,7 @@ public:
    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); 
  
@@ -646,6 +673,7 @@ public:
    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);