]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TGeant4/TG4G3CutVector.h
Changes by Massimo Masera to allow Recpoints and Clusters to be written
[u/mrichter/AliRoot.git] / TGeant4 / TG4G3CutVector.h
CommitLineData
2817d3e2 1// $Id$
0375ab40 2// Category: global
2817d3e2 3//
e5967ab3 4// Author: I. Hrivnacova
5//
6// Class TG4G3CutVector
7// --------------------
2817d3e2 8// Vector of kinetic energy cut values with
e5967ab3 9// convenient set/get methods.
2817d3e2 10
0375ab40 11#ifndef TG4_G3_CUT_VECTOR_H
12#define TG4_G3_CUT_VECTOR_H
2817d3e2 13
14#include "TG4Globals.h"
0375ab40 15#include "TG4G3Cut.h"
2817d3e2 16
17class G4Track;
18
0375ab40 19class TG4G3CutVector
2817d3e2 20{
21 public:
0375ab40 22 TG4G3CutVector();
23 TG4G3CutVector(const TG4G3CutVector& right);
24 virtual ~TG4G3CutVector();
2817d3e2 25
26 // operators
0375ab40 27 TG4G3CutVector& operator=(const TG4G3CutVector& right);
2817d3e2 28 G4double operator[](G4int index) const;
e5967ab3 29
30 // static methods
31 static G4double Tolerance();
32 static TG4G3Cut GetCut(const G4String& cutName);
33 static const G4String& GetCutName(TG4G3Cut cut);
34
2817d3e2 35 // set methods
e5967ab3 36 void SetCut(TG4G3Cut cut, G4double cutValue);
2817d3e2 37 void SetG3Defaults();
e5967ab3 38 G4bool Update(const TG4G3CutVector& vector);
39 void SetDeltaRaysOn(G4bool value);
2817d3e2 40
e5967ab3 41 // methods
d3fd330b 42 G4String Format() const;
e5967ab3 43 void Print() const;
44
2817d3e2 45 // get methods
2817d3e2 46 G4double GetMinEkineForGamma(const G4Track& track) const;
47 G4double GetMinEkineForElectron(const G4Track& track) const;
e5967ab3 48 G4double GetMinEkineForEplus(const G4Track& track) const;
49 G4double GetMinEkineForChargedHadron(const G4Track& track) const;
2817d3e2 50 G4double GetMinEkineForNeutralHadron(const G4Track& track) const;
51 G4double GetMinEkineForMuon(const G4Track& track) const;
52 G4double GetMinEkineForOther(const G4Track& track) const;
e5967ab3 53 G4bool IsCut() const;
2817d3e2 54
55 private:
e5967ab3 56 // static methods
57 static void FillCutNameVector();
58
59 // static data members
60 static const G4double fgkDCUTEOff; //cut for delta rays by e- (if off)
61 static const G4double fgkDCUTMOff; //cut for delta rays by mu (if off)
62 static const G4double fgkTolerance; //tolerance for comparing cuts
63 static TG4StringVector fgCutNameVector; //vector of cut parameters names
64
2817d3e2 65 // data members
e5967ab3 66 TG4doubleVector fCutVector; //vector of kinetic energy cut values
67 G4bool fDeltaRaysOn;//delta rays process control
2817d3e2 68};
69
e5967ab3 70// inline methods
71
72inline G4double TG4G3CutVector::Tolerance()
73{ return fgkTolerance; }
74
75inline void TG4G3CutVector::SetDeltaRaysOn(G4bool value)
76{ fDeltaRaysOn = value; }
77
2817d3e2 78#endif //TG4_CUT_VECTOR_H
79
80
81