]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TGeant4/TG4Limits.h
moved ifdef G4VIS_USE before the first include; removed unneed include
[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"
12#include "TG3Cut.h"
13#include "TG3Flag.h"
14
15#include <G4UserLimits.hh>
16
17class TG4CutVector;
18class TG4FlagVector;
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
33 void SetG3Cut(TG3Cut g3Cut, G4double cutValue);
34 void SetG3Flag(TG3Flag g3Flag, G4double flagValue);
35 void SetG3DefaultCuts();
36 void SetG3DefaultFlags();
37
38 // get methods
39 G4bool IsCut() const;
40 G4bool IsFlag() const;
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;
48 G4int GetFlag(G4VProcess* process) const;
49
50 private:
51 // data members
52 G4bool fIsCut; //true if any cut value is set
53 G4bool fIsFlag; //true if any flag value is set
54 TG4CutVector* fCutVector; //TG4CutVector
55 TG4FlagVector* fFlagVector; //TG4FlagVector
56};
57
58// inline methods
59
60inline G4bool TG4Limits::IsCut() const { return fIsCut; }
61inline G4bool TG4Limits::IsFlag() const { return fIsFlag; }
62
63#endif //TG4_USER_LIMITS_H
64
65
66