GammaWare  Head Version for release 0.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GEM.h
Go to the documentation of this file.
1 /***************************************************************************
2  * Copyright (C) 2004 by Olivier Stezowski *
3  * stezow(AT)ipnl.in2p3.fr *
4  * *
5  * This program is free software; you can redistribute it and/or modify *
6  * it under the terms of the GNU General Public License as published by *
7  * the Free Software Foundation; either version 2 of the License, or *
8  * (at your option) any later version. *
9  * *
10  * This program is distributed in the hope that it will be useful, *
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13  * GNU General Public License for more details. *
14  * *
15  * You should have received a copy of the GNU General Public License *
16  * along with this program; if not, write to the *
17  * Free Software Foundation, Inc., *
18  * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19  ***************************************************************************/
20 
23 #ifndef GW_GEM_H
24 #define GW_GEM_H
25 
26 #ifndef GW_BASEGEM_H
27 #include "BaseGEM.h"
28 #endif
29 
30 namespace Gw {
31 
55 class GEM : public BaseGEM
56 {
57 private:
58  Link *fFeeding; // link which feeds any levels
59 
60 protected:
62  // virtual void InitRandom();
63 
64 public:
65  GEM();
66  virtual ~GEM();
67 
69  virtual void Clear(Option_t *opt = "all");
70 
71  Link *SetFeeding(const char *feedingtype = "TestFeeding");
72 
74 
81  Link *SetFeeding(Link *newfeeding) { Link *tmp = fFeeding; fFeeding = newfeeding; return tmp; }
82 
84  void SetExI(Float_t E, Float_t I);
85 
86 
88  // virtual Int_t Import(const Char_t *, Option_t *opt="152DY");
89 
91 
95  virtual Int_t DoCascade(TSeqCollection &, Option_t *opt = "");
96 // virtual void DoCascade(TSeqCollection *cas, Option_t *opt = "") { GEM::DoCascade((*cas),opt) ; }
97 
98  virtual Int_t DoCascade(TSeqCollection &cas, Int_t from, Option_t *opt = "")
99  {
100  return BaseGEM::DoCascade(cas, from, opt);
101  }
102 
104  ClassDef(GEM,0); // Gamma-ray Monte-Carlo
105 };
106 // inline members
107 }
108 
109 #endif
void SetExI(Float_t E, Float_t I)
starting point in the ExI plan from which starts the gamma-ray emission
Definition: GEM.cpp:59
Link * SetFeeding(Link *newfeeding)
to modify the current feeding link (general one)
Definition: GEM.h:81
virtual Int_t DoCascade(TSeqCollection &, Option_t *opt="")
starting point in the ExI plan from which starts the gamma-ray emission
Definition: GEM.cpp:73
Class to get randomly cascades (with lateral feeding) of gammas on the basis of a level scheme...
Definition: GEM.h:55
Class to get randomly cascades of gammas on the basis of a level scheme.
Definition: BaseGEM.h:107
Link * SetFeeding(const char *feedingtype="TestFeeding")
Definition: GEM.cpp:47
virtual ~GEM()
Definition: GEM.cpp:41
virtual void Clear(Option_t *opt="all")
Clear everything.
Definition: GEM.cpp:68
GEM()
to be called to init the random generator
Definition: GEM.cpp:35
virtual Int_t DoCascade(TSeqCollection &cas, Int_t from, Option_t *opt="")
cascade simulation with the 'entry point' given by the user
Definition: GEM.h:98
virtual Int_t DoCascade(TSeqCollection &cascade, Option_t *opt="")
cascade simulation
Definition: BaseGEM.cpp:523
ClassDef(GEM, 0)
rootcint dictionary
header file for a BaseGEM (gamma-rays generator)