134 #ifndef ROOT_TGenerator
135 #define ROOT_TGenerator
144 class TGenerator :
public TNamed {
148 Bool_t fShowNeutrons;
149 TObjArray *fParticles;
151 TGenerator(
const TGenerator& tg) :
152 TNamed(tg), fPtCut(tg.fPtCut), fShowNeutrons(tg.fShowNeutrons),fParticles(tg.fParticles) { }
153 TGenerator& operator=(
const TGenerator& tg) {
155 TNamed::operator=(tg); fPtCut=tg.fPtCut; fShowNeutrons=tg.fShowNeutrons;
156 fParticles=tg.fParticles;
163 TGenerator(): fPtCut(0), fShowNeutrons(kTRUE), fParticles(0) { }
164 TGenerator(
const char *name,
const char *title=
"Generator class");
165 virtual ~TGenerator();
166 virtual void Browse(TBrowser *b);
167 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
168 virtual void Draw(Option_t *option=
"");
169 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
170 virtual void GenerateEvent();
171 virtual Double_t GetParameter(
const char* )
const {
return 0.; }
172 virtual Int_t ImportParticles(TClonesArray *particles, Option_t *option=
"");
173 virtual TObjArray *ImportParticles(Option_t *option=
"");
174 virtual TParticle *GetParticle(Int_t i)
const;
175 Int_t GetNumberOfParticles()
const;
176 virtual TObjArray *GetListOfParticles()
const {
return fParticles;}
177 virtual TObjArray *GetPrimaries(Option_t *option=
"") {
return ImportParticles(option);}
178 Float_t GetPtCut()
const {
return fPtCut;}
179 virtual void Paint(Option_t *option=
"");
180 virtual void SetParameter(
const char* ,Double_t ){}
181 virtual void SetPtCut(Float_t ptcut=0);
182 virtual void SetViewRadius(Float_t rbox = 1000);
183 virtual void SetViewRange(Float_t xmin=-10000,Float_t ymin=-10000,Float_t zmin=-10000
184 ,Float_t xmax=10000,Float_t ymax=10000,Float_t zmax=10000);
185 virtual void ShowNeutrons(Bool_t show=1);
187 ClassDef(TGenerator,1)