]>
Commit | Line | Data |
---|---|---|
2817d3e2 | 1 | // $Id$ |
2 | // Category: physics | |
3 | // | |
4 | // Special process that activates kinetic energy cuts | |
5 | ||
6 | #ifndef TG4_SPECIAL_CUTS_H | |
7 | #define TG4_SPECIAL_CUTS_H | |
8 | ||
9 | #include <G4UserSpecialCuts.hh> | |
832ff774 | 10 | #include "TG4G3ParticleWSP.h" |
2817d3e2 | 11 | |
832ff774 | 12 | class TG4G3CutVector; |
2817d3e2 | 13 | class TG4Limits; |
14 | ||
832ff774 | 15 | typedef G4double(TG4G3CutVector::*PtrMinEkineInCutVector)(const G4Track&) |
16 | const; | |
2817d3e2 | 17 | typedef G4double(TG4Limits::*PtrMinEkineInLimits)(const G4Track&) const; |
18 | ||
19 | class TG4SpecialCuts: public G4UserSpecialCuts | |
20 | // to do: change to inheritance from G4VProcess | |
21 | { | |
22 | public: | |
832ff774 | 23 | TG4SpecialCuts(TG4G3ParticleWSP particle, TG4G3CutVector* cutVector, |
2817d3e2 | 24 | const G4String& processName ="specialCut"); |
25 | // --> protected | |
26 | // TG4SpecialCuts(); | |
27 | // TG4SpecialCuts(const TG4SpecialCuts& right); | |
28 | virtual ~TG4SpecialCuts(); | |
29 | ||
30 | // methods | |
31 | virtual G4double PostStepGetPhysicalInteractionLength( | |
32 | const G4Track& track, G4double previousStepSize, | |
33 | G4ForceCondition* condition); | |
57f88f6f | 34 | virtual G4VParticleChange* PostStepDoIt(const G4Track& track, |
35 | const G4Step& step); | |
2817d3e2 | 36 | |
37 | protected: | |
38 | TG4SpecialCuts(); | |
39 | TG4SpecialCuts(const TG4SpecialCuts& right); | |
40 | ||
41 | // operators | |
42 | TG4SpecialCuts& operator = (const TG4SpecialCuts& right); | |
43 | ||
44 | private: | |
45 | // data members | |
832ff774 | 46 | TG4G3CutVector* fCutVector; //TG4G3CutVector |
2817d3e2 | 47 | PtrMinEkineInCutVector fPtrMinEkineInCutVector; //pointer to |
48 | //TG4CutVector::GetMinEKineForXX() method for | |
49 | //the particle XX that this process is applied to | |
50 | PtrMinEkineInLimits fPtrMinEkineInLimits; //pointer to | |
51 | //TG4Limits::GetMinEKineForXX() method for | |
52 | //the particle XX that this process is applied to | |
53 | }; | |
54 | ||
55 | #endif //TG4_SPECIAL_CUTS_H | |
56 | ||
57 | ||
58 |