]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TGeant4/TG4G3Defaults.h
Minor improvements on the code
[u/mrichter/AliRoot.git] / TGeant4 / TG4G3Defaults.h
index 2b8ecbe0f96f6d93696be0ac4400ee72a75ad099..313920d42aaffd9a8294d0881e959d4fe6b033f3 100644 (file)
@@ -1,71 +1,60 @@
 // $Id$
-// Category: physics
+// Category: global
 //
+// Author: I. Hrivnacova
+//
+// Class TG4G3Defaults
+// -------------------
 // Class stores the default G3 values of the kinetic energy cuts
-// for particles and the control process flags parameters
+// for particles and the control process parameters.
 
-#ifndef TG4_G3DEFAULTS_H
-#define TG4_G3DEFAULTS_H
+#ifndef TG4_G3_DEFAULTS_H
+#define TG4_G3_DEFAULTS_H
 
-#include "TG3Cut.h"
-#include "TG3Flag.h"
+#include "TG4G3CutVector.h"
+#include "TG4G3ControlVector.h"
+#include "TG4G3Control.h"
+#include "TG4G3Cut.h"
 
 #include <globals.hh>
 
 class TG4G3Defaults
 {
   public:
+    TG4G3Defaults();      
     // --> protected
-    // TG4G3Defaults();
+    // TG4G3Defaults(const TG4G3Defaults& right);
     virtual ~TG4G3Defaults();
 
-    // static methods
-    static G4bool IsDefaultCut(TG3Cut g3Cut, G4double value); 
-    static G4bool IsDefaultFlag(TG3Flag g3Flag, G4double value); 
+    // static access methods
+    static TG4G3Defaults* Instance();
+
+    // methods
+    G4bool IsDefaultCut(TG4G3Cut cut, G4double value) const; 
+    G4bool IsDefaultControl(TG4G3Control control, TG4G3ControlValue value) const; 
 
-    // static get methods
-       // precision tolerance
-    static G4double CutTolerance();
-    static G4double CutValue(G4int g3Cut);   
-    static TG3FlagValue FlagValue(G4int g3Flag); 
+    // get methods
+    G4double CutValue(G4int cut) const;   
+    TG4G3ControlValue ControlValue(G4int control) const; 
       
   protected:
-    TG4G3Defaults();      
-      // only static data members and methods
+    TG4G3Defaults(const TG4G3Defaults& right);      
+
+    // operators
+    TG4G3Defaults& operator=(const TG4G3Defaults& right);
 
   private:
     // static data members  
-      // precision tolerance
-    static const G4double fgCutTolerance; //tolerance for checking
-                                          //cut values with default
-       // kinetic energy cuts
-    static const G4double fgCUTGAM;   //CUTGAM default value 
-    static const G4double fgCUTELE;   //CUTELE default value
-    static const G4double fgCUTNEU;   //CUTNEU default value
-    static const G4double fgCUTHAD;   //CUTHAD default value
-    static const G4double fgCUTMUO;   //CUTMUO default value
-    static const G4double fgBCUTE;    //BCUTE default value
-    static const G4double fgBCUTM;    //BCUTM default value
-    static const G4double fgDCUTE;    //DCUTE default value
-    static const G4double fgDCUTM;    //DCUTM default value
-    static const G4double fgPPCUTM;   //PPCUTM default value
-       // physics processes flags
-    static const TG3FlagValue fgPAIR; //PAIR default value   
-    static const TG3FlagValue fgCOMP; //COMP default value   
-    static const TG3FlagValue fgPHOT; //PHOT default value   
-    static const TG3FlagValue fgPFIS; //PFIS default value   
-    static const TG3FlagValue fgDRAY; //DRAY default value  
-    static const TG3FlagValue fgANNI; //ANNI default value   
-    static const TG3FlagValue fgBREM; //BREM default value  
-    static const TG3FlagValue fgHADR; //HADR default value   
-    static const TG3FlagValue fgMUNU; //MUNU default value   
-    static const TG3FlagValue fgDCAY; //DCAY default value  
-    static const TG3FlagValue fgLOSS; //LOSS default value  
-    static const TG3FlagValue fgMULS; //MULS default value  
+    static TG4G3Defaults*  fgInstance;      //this instance
+    
+    // data members
+    TG4G3CutVector     fCutVector;    // vector of default cut values       
+    TG4G3ControlVector fControlVector;// vector of default control values       
 };     
 
 // inline methods
 
-inline G4double TG4G3Defaults::CutTolerance() { return fgCutTolerance; }
+inline TG4G3Defaults* TG4G3Defaults::Instance() 
+{ return fgInstance; }
 
-#endif //ALI_G3DEFAULTS_H
+#endif //ALI_G3_DEFAULTS_H