Adding possibility to set ISTRA, PAI model
authorfca <fca@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 21 Jun 2000 17:40:15 +0000 (17:40 +0000)
committerfca <fca@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 21 Jun 2000 17:40:15 +0000 (17:40 +0000)
TGeant3/TGeant3.cxx
TGeant3/TGeant3.h

index 4e5474dc8264b1cf416ada149302bbbde0729cb4..fe2b882136cc04e2b904b48cd2fc8942ff25a0d2 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.26  2000/05/16 13:10:41  fca
+New method IsNewTrack and fix for a problem in Father-Daughter relations
+
 Revision 1.25  2000/04/07 11:12:35  fca
 G4 compatibility changes
 
@@ -598,6 +601,7 @@ void TGeant3::LoadAddress()
   gcomad(PASSCHARD("GCNUM"), (int*&) fGcnum   PASSCHARL("GCNUM"));
   gcomad(PASSCHARD("GCSETS"),(int*&) fGcsets  PASSCHARL("GCSETS"));
   gcomad(PASSCHARD("GCPHYS"),(int*&) fGcphys  PASSCHARL("GCPHYS"));
+  gcomad(PASSCHARD("GCPHLT"),(int*&) fGcphlt  PASSCHARL("GCPHLT"));
   gcomad(PASSCHARD("GCOPTI"),(int*&) fGcopti  PASSCHARL("GCOPTI"));
   gcomad(PASSCHARD("GCTLIT"),(int*&) fGctlit  PASSCHARL("GCTLIT"));
   gcomad(PASSCHARD("GCVDMA"),(int*&) fGcvdma  PASSCHARL("GCVDMA"));
@@ -1112,6 +1116,10 @@ void    TGeant3::SetProcess(const char* flagName, Int_t flagValue)
     fGcphys->imuls=flagValue;
   else if(!strcmp(flagName,"RAYL")) 
     fGcphys->irayl=flagValue;
+  else if(!strcmp(flagName,"STRA")) 
+    fGcphlt->istra=flagValue;
+  else if(!strcmp(flagName,"SYNC")) 
+    fGcphlt->isync=flagValue;
   else  Warning("SetFlag","Flag %s not implemented\n",flagName);
 }
 
@@ -3443,6 +3451,18 @@ void TGeant3::SetRAYL(Int_t par)
   fGcphys->irayl = par;
 }
  
+//_____________________________________________________________________________
+void TGeant3::SetSTRA(Int_t par)
+{
+  //
+  //  To control energy loss fluctuations
+  //  with the PhotoAbsorption Ionisation model.
+  //   par =0 no Straggling.
+  //       =1 Straggling yes => no Delta rays.
+  //  
+  fGcphlt->istra = par;
+}
 //_____________________________________________________________________________
 void TGeant3::SetSWIT(Int_t sw, Int_t val)
 {
index 225fe2a968428e663ac86fc04f30588cbb950188..abd353be2bbf29f1e666e324b1583710ca5fc906 100644 (file)
@@ -308,9 +308,6 @@ typedef struct {
 //     +             ,ILOSS,SLOSS,SOLOSS,STLOSS,DPHYS2
 //     +             ,IMULS,SMULS,SOMULS,STMULS,DPHYS3
 //     +             ,IRAYL,SRAYL,SLRAYL,ZINTRA,STEPRA
-//      COMMON/GCPHLT/ILABS,SLABS,SLLABS,ZINTLA,STEPLA
-//     +             ,ISYNC
-//     +             ,ISTRA
 typedef struct { 
   Int_t    ipair;
   Float_t  spair;
@@ -378,6 +375,20 @@ typedef struct {
   Float_t  zintra;
   Float_t  stepra;
 } Gcphys_t; 
+
+//----------GCPHLT
+//      COMMON/GCPHLT/ILABS,SLABS,SLLABS,ZINTLA,STEPLA
+//     +             ,ISYNC
+//     +             ,ISTRA
+typedef struct { 
+  Int_t ilabs;
+  Float_t slabs;
+  Float_t sllabs;
+  Float_t zintla;
+  Float_t stepla;
+  Int_t isync;
+  Int_t istra;
+} Gcphlt_t;
  
 //----------GCOPTI 
 //      COMMON/GCOPTI/IOPTIM
@@ -536,6 +547,7 @@ protected:
   Gcflag_t *fGcflag; 
   Gctmed_t *fGctmed; 
   Gcphys_t *fGcphys; 
+  Gcphlt_t *fGcphlt; 
   Gcking_t *fGcking; 
   Gckin2_t *fGckin2; 
   Gckin3_t *fGckin3; 
@@ -657,6 +669,7 @@ public:
   virtual Gcflag_t* Gcflag() const {return fGcflag;}
   virtual Gctmed_t* Gctmed() const {return fGctmed;}
   virtual Gcphys_t* Gcphys() const {return fGcphys;}
+  virtual Gcphlt_t* Gcphlt() const {return fGcphlt;}
   virtual Gcking_t* Gcking() const {return fGcking;}
   virtual Gckin2_t* Gckin2() const {return fGckin2;}
   virtual Gckin3_t* Gckin3() const {return fGckin3;}
@@ -825,6 +838,7 @@ public:
    virtual  void  SetPFIS(Int_t par=1);
    virtual  void  SetPHOT(Int_t par=1);
    virtual  void  SetRAYL(Int_t par=1);
+   virtual  void  SetSTRA(Int_t par=0);
    virtual  void  SetSWIT(Int_t sw, Int_t val=1);
    virtual  void  SetTRIG(Int_t nevents=1);
    virtual  void  SetUserDecay(Int_t ipart);