]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TGeant4/TG4Limits.h
Add ResetDecayTable() and SsetDecayTable() methods.
[u/mrichter/AliRoot.git] / TGeant4 / TG4Limits.h
CommitLineData
2817d3e2 1// $Id$
2// Category: global
3//
4// G4UserLimits derived class extended with
5// vectors of kinetic energy cuts and control process flags
6// data members
7
8#ifndef TG4_LIMITS_H
9#define TG4_LIMITS_H
10
11#include "TG4Globals.h"
6eb43d7c 12#include "TG4G3Cut.h"
13#include "TG4G3Control.h"
2817d3e2 14
15#include <G4UserLimits.hh>
16
6eb43d7c 17class TG4G3CutVector;
18class TG4G3ControlVector;
2817d3e2 19
20class G4VProcess;
21
22class TG4Limits: public G4UserLimits
23{
24 public:
25 TG4Limits();
26 TG4Limits(const TG4Limits& right);
27 virtual ~TG4Limits();
28
29 // operators
30 TG4Limits& operator=(const TG4Limits& right);
31
32 // set methods
6eb43d7c 33 void SetG3Cut(TG4G3Cut cut, G4double cutValue);
34 void SetG3Control(TG4G3Control control, G4double controlValue);
2817d3e2 35 void SetG3DefaultCuts();
6eb43d7c 36 void SetG3DefaultControls();
2817d3e2 37
38 // get methods
39 G4bool IsCut() const;
6eb43d7c 40 G4bool IsControl() const;
2817d3e2 41 virtual G4double GetUserMinEkine(const G4Track& track);
42 G4double GetMinEkineForGamma(const G4Track& track) const;
43 G4double GetMinEkineForElectron(const G4Track& track) const;
44 G4double GetMinEkineForHadron(const G4Track& track) const;
45 G4double GetMinEkineForNeutralHadron(const G4Track& track) const;
46 G4double GetMinEkineForMuon(const G4Track& track) const;
47 G4double GetMinEkineForOther(const G4Track& track) const;
6eb43d7c 48 G4int GetControl(G4VProcess* process) const;
2817d3e2 49
50 private:
51 // data members
6eb43d7c 52 G4bool fIsCut; //true if any cut value is set
53 G4bool fIsControl;//true if any flag value is set
54 TG4G3CutVector* fCutVector; //TG4CutVector
55 TG4G3ControlVector* fControlVector;//TG4ControlVector
2817d3e2 56};
57
58// inline methods
59
60inline G4bool TG4Limits::IsCut() const { return fIsCut; }
6eb43d7c 61inline G4bool TG4Limits::IsControl() const { return fIsControl; }
2817d3e2 62
63#endif //TG4_USER_LIMITS_H
64
65
66