<commit_before>#ifndef ALIGENERATOR_H
#define ALIGENERATOR_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

///////////////////////////////////////////////////////////
//                                                       //
//  Class to generate the particles for the MC           //
//  The base class is empty                              //
//                                                       //
///////////////////////////////////////////////////////////

#include <TArrayF.h>
#include <TLorentzVector.h>
#include <TMCProcess.h>

#include "AliRndm.h"

class AliVertexGenerator;
class AliCollisionGeometry;
class AliGenEventHeader;
class AliStack;
class TGenerator;



typedef enum { kNoSmear, kPerEvent, kPerTrack }  VertexSmear_t;
typedef enum { kExternal, kInternal, kContainer} VertexSource_t;


class AliGenerator : public TNamed, public AliRndm
{

 public:

    AliGenerator();
    AliGenerator(Int_t npart);
    virtual ~AliGenerator();
    virtual void Init();
    virtual void SetOrigin(Float_t ox, Float_t oy, Float_t oz);
    virtual void SetOrigin(const TLorentzVector &o);
    virtual void SetSigma(Float_t sx, Float_t sy, Float_t sz);
    virtual void SetSigmaZ(Float_t sz) {fOsigma[2] = sz;}
    virtual void SetMomentumRange(Float_t pmin=0, Float_t pmax=1.e10);
    virtual void SetPtRange(Float_t ptmin=0, Float_t ptmax=1.e10);
    virtual void SetPhiRange(Float_t phimin = 0., Float_t phimax = 360.);
    virtual void SetYRange(Float_t ymin=-100, Float_t ymax=100);
    virtual void SetVRange(Float_t vxmin, Float_t vxmax,
			   Float_t vymin, Float_t vymax,
			   Float_t vzmin, Float_t vzmax);
    virtual void SetNumberParticles(Int_t npart=100) {fNpart=npart;}
    virtual Int_t NumberParticles() const {return fNpart;}
    virtual void SetThetaRange(Float_t thetamin=0, Float_t thetamax=180);
    virtual void Generate()=0;
    virtual void SetParentWeight(Float_t wgt) {fParentWeight=wgt;}
    virtual void SetChildWeight(Float_t wgt)  {fChildWeight=wgt;}    
    virtual void SetAnalog(Int_t flag=1) {fAnalog=flag;}	
    virtual void SetVertexSmear(VertexSmear_t smear) {fVertexSmear = smear;}
    virtual void SetCutVertexZ(Float_t cut=999999.) {fCutVertexZ = cut;}
    virtual void SetVertexSource(VertexSource_t source = kInternal) {fVertexSource = source;}
    virtual void SetVertex(Float_t vx, Float_t vy, Float_t vz)
	{fVertex[0] = vx; fVertex[1] = vy; fVertex[2] = vz;}
    void SetVertexGenerator(AliVertexGenerator* vertexGenerator)
      {fVertexGenerator = vertexGenerator; fVertexSource = kExternal; fVertexSmear = kPerEvent;}
    void SetPileUpTimeWindow(Float_t pileUpTimeW) {fPileUpTimeWindow = pileUpTimeW;}
    
    virtual void SetTrackingFlag(Int_t flag=1) {fTrackIt=flag;}
    void Vertex();
    void VertexExternal();
    virtual void VertexInternal();
    virtual void FinishRun();
    virtual void SetMC(TGenerator *theMC) {fMCEvGen =theMC;}
    virtual void AddHeader(AliGenEventHeader* /*header*/) {;}<commit_msg>Getter for external MC added.<commit_after>#ifndef ALIGENERATOR_H
#define ALIGENERATOR_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

///////////////////////////////////////////////////////////
//                                                       //
//  Class to generate the particles for the MC           //
//  The base class is empty                              //
//                                                       //
///////////////////////////////////////////////////////////

#include <TArrayF.h>
#include <TLorentzVector.h>
#include <TMCProcess.h>

#include "AliRndm.h"

class AliVertexGenerator;
class AliCollisionGeometry;
class AliGenEventHeader;
class AliStack;
class TGenerator;



typedef enum { kNoSmear, kPerEvent, kPerTrack }  VertexSmear_t;
typedef enum { kExternal, kInternal, kContainer} VertexSource_t;


class AliGenerator : public TNamed, public AliRndm
{

 public:

    AliGenerator();
    AliGenerator(Int_t npart);
    virtual ~AliGenerator();
    virtual void Init();
    virtual void SetOrigin(Float_t ox, Float_t oy, Float_t oz);
    virtual void SetOrigin(const TLorentzVector &o);
    virtual void SetSigma(Float_t sx, Float_t sy, Float_t sz);
    virtual void SetSigmaZ(Float_t sz) {fOsigma[2] = sz;}
    virtual void SetMomentumRange(Float_t pmin=0, Float_t pmax=1.e10);
    virtual void SetPtRange(Float_t ptmin=0, Float_t ptmax=1.e10);
    virtual void SetPhiRange(Float_t phimin = 0., Float_t phimax = 360.);
    virtual void SetYRange(Float_t ymin=-100, Float_t ymax=100);
    virtual void SetVRange(Float_t vxmin, Float_t vxmax,
			   Float_t vymin, Float_t vymax,
			   Float_t vzmin, Float_t vzmax);
    virtual void SetNumberParticles(Int_t npart=100) {fNpart=npart;}
    virtual Int_t NumberParticles() const {return fNpart;}
    virtual void SetThetaRange(Float_t thetamin=0, Float_t thetamax=180);
    virtual void Generate()=0;
    virtual void SetParentWeight(Float_t wgt) {fParentWeight=wgt;}
    virtual void SetChildWeight(Float_t wgt)  {fChildWeight=wgt;}    
    virtual void SetAnalog(Int_t flag=1) {fAnalog=flag;}	
    virtual void SetVertexSmear(VertexSmear_t smear) {fVertexSmear = smear;}
    virtual void SetCutVertexZ(Float_t cut=999999.) {fCutVertexZ = cut;}
    virtual void SetVertexSource(VertexSource_t source = kInternal) {fVertexSource = source;}
    virtual void SetVertex(Float_t vx, Float_t vy, Float_t vz)
	{fVertex[0] = vx; fVertex[1] = vy; fVertex[2] = vz;}
    void SetVertexGenerator(AliVertexGenerator* vertexGenerator)
      {fVertexGenerator = vertexGenerator; fVertexSource = kExternal; fVertexSmear = kPerEvent;}
    void SetPileUpTimeWindow(Float_t pileUpTimeW) {fPileUpTimeWindow = pileUpTimeW;}
    
    virtual void SetTrackingFlag(Int_t flag=1) {fTrackIt=flag;}
    void Vertex();
    void VertexExternal();
    virtual void VertexInternal();
    virtual void FinishRun();
    virtual void SetMC(TGenerator *theMC) {fMCEvGen =theMC;}
    virtual TGenerator* GetMC() const {return fMCEvGen;}
    virtual void AddHeader(AliGenEventHeader* /*header*/) {;}
{'fraction_non_alphanumeric': 0.12789398052051731, 'fraction_numerical': 0.014689445952418969, 'mean_word_length': 2.8955223880597014, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 8, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '616621', 'n_tokens_mistral': 2021, 'n_tokens_neox': 1923, 'n_words': 516}