]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TGeant4/TG4SpecialCuts.h
added arguments name in method declarations
[u/mrichter/AliRoot.git] / TGeant4 / TG4SpecialCuts.h
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>
10 #include "TG3ParticleWSP.h"
11
12 class TG4CutVector;
13 class TG4Limits;
14
15 typedef G4double(TG4CutVector::*PtrMinEkineInCutVector)(const G4Track&) const;
16 typedef G4double(TG4Limits::*PtrMinEkineInLimits)(const G4Track&) const;
17
18 class TG4SpecialCuts: public G4UserSpecialCuts
19 // to do: change to inheritance from G4VProcess
20 {
21   public:
22     TG4SpecialCuts(TG3ParticleWSP particle, TG4CutVector* cutVector, 
23                    const G4String& processName ="specialCut");
24     // --> protected
25     // TG4SpecialCuts();                   
26     // TG4SpecialCuts(const TG4SpecialCuts& right);
27     virtual ~TG4SpecialCuts();
28
29     // methods
30     virtual G4double PostStepGetPhysicalInteractionLength(
31                        const G4Track& track, G4double previousStepSize,
32                        G4ForceCondition* condition);
33     virtual G4VParticleChange* PostStepDoIt(const G4Track& track, 
34                        const G4Step& step);
35                             
36   protected:
37     TG4SpecialCuts();              
38     TG4SpecialCuts(const TG4SpecialCuts& right);
39     
40     // operators
41     TG4SpecialCuts& operator = (const TG4SpecialCuts& right);
42     
43   private:
44     // data members
45     TG4CutVector*           fCutVector;              //TG4CutVector 
46     PtrMinEkineInCutVector  fPtrMinEkineInCutVector; //pointer to 
47                                 //TG4CutVector::GetMinEKineForXX() method for 
48                                 //the particle XX that this process is applied to 
49     PtrMinEkineInLimits     fPtrMinEkineInLimits;    //pointer to 
50                                 //TG4Limits::GetMinEKineForXX() method for 
51                                 //the particle XX that this process is applied to 
52 };
53
54 #endif //TG4_SPECIAL_CUTS_H
55
56
57