]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TGeant4/TG4G3CutVector.h
removed call to private G4EnergyLossTables::GetTables()
[u/mrichter/AliRoot.git] / TGeant4 / TG4G3CutVector.h
1 // $Id$
2 // Category: global
3 //
4 // Author: I. Hrivnacova
5 //
6 // Class TG4G3CutVector
7 // --------------------
8 // Vector of kinetic energy cut values with
9 // convenient set/get methods.
10
11 #ifndef TG4_G3_CUT_VECTOR_H
12 #define TG4_G3_CUT_VECTOR_H
13
14 #include "TG4Globals.h"
15 #include "TG4G3Cut.h"
16
17 class G4Track;
18
19 class TG4G3CutVector
20 {
21   public:
22     TG4G3CutVector();
23     TG4G3CutVector(const TG4G3CutVector& right);
24     virtual ~TG4G3CutVector();
25     
26     // operators
27     TG4G3CutVector& operator=(const TG4G3CutVector& right);
28     G4double operator[](G4int index) const;
29     
30     // static methods
31     static G4double Tolerance();
32     static TG4G3Cut GetCut(const G4String& cutName);
33     static const G4String& GetCutName(TG4G3Cut cut);
34     
35     // set methods
36     void SetCut(TG4G3Cut cut, G4double cutValue);
37     void SetG3Defaults();
38     G4bool Update(const TG4G3CutVector& vector);
39     void SetDeltaRaysOn(G4bool value);
40     
41     // methods
42     G4String Format() const;
43     void Print() const;
44
45     // get methods
46     G4double GetMinEkineForGamma(const G4Track& track) const;
47     G4double GetMinEkineForElectron(const G4Track& track) const;
48     G4double GetMinEkineForEplus(const G4Track& track) const;
49     G4double GetMinEkineForChargedHadron(const G4Track& track) const;
50     G4double GetMinEkineForNeutralHadron(const G4Track& track) const;
51     G4double GetMinEkineForMuon(const G4Track& track) const;
52     G4double GetMinEkineForOther(const G4Track& track) const;
53     G4bool IsCut() const;
54
55   private:
56     // static methods 
57     static void FillCutNameVector();
58   
59     // static data members
60     static const G4double   fgkDCUTEOff;  //cut for delta rays by e- (if off)
61     static const G4double   fgkDCUTMOff;  //cut for delta rays by mu (if off)
62     static const G4double   fgkTolerance; //tolerance for comparing cuts
63     static TG4StringVector  fgCutNameVector; //vector of cut parameters names
64   
65     // data members
66     TG4doubleVector  fCutVector;  //vector of kinetic energy cut values 
67     G4bool           fDeltaRaysOn;//delta rays process control
68 };
69
70 // inline methods
71
72 inline G4double TG4G3CutVector::Tolerance()
73 { return fgkTolerance; }
74
75 inline void TG4G3CutVector::SetDeltaRaysOn(G4bool value)
76 { fDeltaRaysOn = value; }
77
78 #endif //TG4_CUT_VECTOR_H
79
80
81