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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (hide annotations) (download)
Fri Jun 12 20:19:07 2009 UTC (15 years, 6 months ago) by pam-rm2
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +1 -1 lines
File MIME type: text/plain
FILE REMOVED
*** empty log message ***

1 nikolas 1.1 #ifndef TG4_SPECIAL_PHYSICS_LIST_H
2     #define TG4_SPECIAL_PHYSICS_LIST_H
3    
4 pam-rm2 1.2 // $Id: TG4SpecialPhysicsList.h,v 1.1 2009-02-19 16:33:33 nikolas Exp $
5 nikolas 1.1
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