/[PAMELA software]/PamVMC/PamG4RunConfiguration/include/TG4SpecialPhysicsList.h
ViewVC logotype

Contents of /PamVMC/PamG4RunConfiguration/include/TG4SpecialPhysicsList.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download)
Thu Feb 19 16:33:33 2009 UTC (15 years, 9 months ago) by nikolas
Branch: MAIN
File MIME type: text/plain
Cleaning up before a release

1 #ifndef TG4_SPECIAL_PHYSICS_LIST_H
2 #define TG4_SPECIAL_PHYSICS_LIST_H
3
4 // $Id: TG4SpecialPhysicsList.h 323 2008-01-09 15:35:37Z ivana $
5
6 //------------------------------------------------
7 // The Geant4 Virtual Monte Carlo package
8 // Copyright (C) 2007, Ivana Hrivnacova
9 // All rights reserved.
10 //
11 // For the licensing terms see geant4_vmc/LICENSE.
12 // Contact: vmc@pcroot.cern.ch
13 //-------------------------------------------------
14
15 /// \file TG4SpecialPhysicsList.h
16 /// \brief Definition of the TG4SpecialPhysicsList class
17 ///
18 /// \author I. Hrivnacova; IPN Orsay
19
20 #include "TG4Verbose.h"
21
22 #include <G4VModularPhysicsList.hh>
23 #include <globals.hh>
24
25 class TG4StackPopperPhysics;
26
27 /// \ingroup physics_list
28 /// \brief The Geant4 VMC special physics list helper class
29 ///
30 /// The special physics list instatiates the Geant4 VMC special processes
31 /// according to the selection passed in the constructor
32 ///
33 /// \author I. Hrivnacova; IPN Orsay
34
35 class TG4SpecialPhysicsList: public G4VModularPhysicsList,
36 public TG4Verbose
37 {
38 public:
39 TG4SpecialPhysicsList(const G4String& selection);
40 TG4SpecialPhysicsList();
41 virtual ~TG4SpecialPhysicsList();
42
43 // static methods
44 static TG4SpecialPhysicsList* Instance();
45 static G4String AvailableSelections();
46 static G4bool IsAvailableSelection(const G4String& selection);
47
48 // methods
49 virtual void ConstructProcess();
50
51 /// No cuts are set here
52 virtual void SetCuts() {}
53
54 virtual G4int VerboseLevel() const;
55 virtual void VerboseLevel(G4int level);
56
57 // set methods
58 void SetStackPopperSelection(const G4String& selection);
59
60 // get methods
61 G4bool IsSpecialControls() const;
62 G4bool IsSpecialCuts() const;
63
64 protected:
65 // data members
66 TG4StackPopperPhysics* fStackPopperPhysics;///< stack popper physics
67 G4bool fIsSpecialControls; ///< option for special controls
68 G4bool fIsSpecialCuts; ///< option for special cuts
69
70 private:
71 /// Not implemented
72 TG4SpecialPhysicsList(const TG4SpecialPhysicsList& right);
73 /// Not implemented
74 TG4SpecialPhysicsList& operator=(const TG4SpecialPhysicsList& right);
75
76 // methods
77 void Configure(const G4String& selection);
78
79 // static data members
80 static TG4SpecialPhysicsList* fgInstance; ///< this instance
81 };
82
83 // inline methods
84
85 inline TG4SpecialPhysicsList* TG4SpecialPhysicsList::Instance() {
86 /// Return this instance
87 return fgInstance;
88 }
89
90 inline G4bool TG4SpecialPhysicsList::IsSpecialControls() const {
91 /// Return true if specialControls are selected
92 return fIsSpecialControls;
93 }
94
95 inline G4bool TG4SpecialPhysicsList::IsSpecialCuts() const {
96 /// Return true if specialCuts are selected
97 return fIsSpecialControls;
98 }
99
100 #endif //TG4_SPECIAL_PHYSICS_LIST_H
101

  ViewVC Help
Powered by ViewVC 1.1.23