Skip to content

Commit d821aa3

Browse files
preghenellasawenzel
authored andcommitted
Allow external (public) use of generator routines
1 parent 86251f7 commit d821aa3

4 files changed

Lines changed: 22 additions & 16 deletions

File tree

Generators/include/Generators/Generator.h

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@ class Generator : public FairGenerator
6161
**/
6262
Bool_t ReadEvent(FairPrimaryGenerator* primGen) final;
6363

64+
/** methods to override **/
65+
virtual Bool_t generateEvent() = 0;
66+
virtual Bool_t importParticles() = 0;
67+
6468
/** setters **/
6569
void setMomentumUnit(double val) { mMomentumUnit = val; };
6670
void setEnergyUnit(double val) { mEnergyUnit = val; };
@@ -71,6 +75,12 @@ class Generator : public FairGenerator
7175
void addTrigger(Trigger trigger) { mTriggers.push_back(trigger); };
7276
void addDeepTrigger(DeepTrigger trigger) { mDeepTriggers.push_back(trigger); };
7377

78+
/** getters **/
79+
const std::vector<TParticle>& getParticles() const { return mParticles; }; //!
80+
81+
/** other **/
82+
void clearParticles() { mParticles.clear(); };
83+
7484
/** notification methods **/
7585
virtual void notifyEmbedding(const FairMCEventHeader* mcHeader){};
7686

@@ -80,10 +90,6 @@ class Generator : public FairGenerator
8090
/** operator= **/
8191
Generator& operator=(const Generator&);
8292

83-
/** methods to override **/
84-
virtual Bool_t generateEvent() = 0;
85-
virtual Bool_t importParticles() = 0;
86-
8793
/** methods that can be overridded **/
8894
virtual void updateHeader(FairMCEventHeader* eventHeader){};
8995

Generators/include/Generators/GeneratorHepMC.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,10 @@ class GeneratorHepMC : public Generator
5454
/** Initialize the generator if needed **/
5555
Bool_t Init() override;
5656

57+
/** methods to override **/
58+
Bool_t generateEvent() override;
59+
Bool_t importParticles() override;
60+
5761
/** setters **/
5862
void setVersion(Int_t val) { mVersion = val; };
5963
void setFileName(std::string val) { mFileName = val; };
@@ -64,10 +68,6 @@ class GeneratorHepMC : public Generator
6468
/** operator= **/
6569
GeneratorHepMC& operator=(const GeneratorHepMC&);
6670

67-
/** methods to override **/
68-
Bool_t generateEvent() override;
69-
Bool_t importParticles() override;
70-
7171
/** methods **/
7272
#ifdef GENERATORS_WITH_HEPMC3_DEPRECATED
7373
const HepMC::FourVector getBoostedVector(const HepMC::FourVector& vector, Double_t boost);

Generators/include/Generators/GeneratorPythia8.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ class GeneratorPythia8 : public Generator
3838
/** Initialize the generator if needed **/
3939
Bool_t Init() override;
4040

41+
/** methods to override **/
42+
Bool_t generateEvent() override;
43+
Bool_t importParticles() override { return importParticles(mPythia.event); };
44+
4145
/** setters **/
4246
void setConfig(std::string val) { mConfig = val; };
4347
void setHooksFileName(std::string val) { mHooksFileName = val; };
@@ -61,10 +65,6 @@ class GeneratorPythia8 : public Generator
6165
/** operator= **/
6266
GeneratorPythia8& operator=(const GeneratorPythia8&);
6367

64-
/** methods to override **/
65-
Bool_t generateEvent() override;
66-
Bool_t importParticles() override { return importParticles(mPythia.event); };
67-
6868
/** methods that can be overridded **/
6969
void updateHeader(FairMCEventHeader* eventHeader) override;
7070

Generators/include/Generators/GeneratorTGenerator.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ class GeneratorTGenerator : public Generator
3737
/** destructor **/
3838
~GeneratorTGenerator() override;
3939

40+
/** methods to override **/
41+
Bool_t generateEvent() override;
42+
Bool_t importParticles() override;
43+
4044
/** setters **/
4145
void setTGenerator(TGenerator* val) { mTGenerator = val; };
4246
const TGenerator* getTGenerator() const { return mTGenerator; }
@@ -49,10 +53,6 @@ class GeneratorTGenerator : public Generator
4953
/** operator= **/
5054
GeneratorTGenerator& operator=(const GeneratorTGenerator&);
5155

52-
/** methods to override **/
53-
Bool_t generateEvent() override;
54-
Bool_t importParticles() override;
55-
5656
/** TGenerator interface **/
5757
TGenerator* mTGenerator;
5858
TClonesArray* mCloneParticles;

0 commit comments

Comments
 (0)