]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TGeant4/TG4SpecialCuts.h
Initial version
[u/mrichter/AliRoot.git] / TGeant4 / TG4SpecialCuts.h
CommitLineData
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>
10#include "TG3ParticleWSP.h"
11
12class TG4CutVector;
13class TG4Limits;
14
15typedef G4double(TG4CutVector::*PtrMinEkineInCutVector)(const G4Track&) const;
16typedef G4double(TG4Limits::*PtrMinEkineInLimits)(const G4Track&) const;
17
18class 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);
57f88f6f 33 virtual G4VParticleChange* PostStepDoIt(const G4Track& track,
34 const G4Step& step);
2817d3e2 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