]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TGeant4/TG4SpecialCuts.h
added formatting in PrintStatistics()
[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 "TG4G3ParticleWSP.h"
11
12 class TG4G3CutVector;
13 class TG4Limits;
14
15 typedef G4double(TG4G3CutVector::*PtrMinEkineInCutVector)(const G4Track&)
16 const;
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:
23     TG4SpecialCuts(TG4G3ParticleWSP particle, TG4G3CutVector* cutVector, 
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);
34     virtual G4VParticleChange* PostStepDoIt(const G4Track& track, 
35                        const G4Step& step);
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
46     TG4G3CutVector*         fCutVector;              //TG4G3CutVector 
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