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

/* $Id$ */

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//                                                                           //
//   Abstract Monte Carlo interface                                          //
//                                                                           //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#include <TNamed.h>
#include <AliRndm.h>
#include "AliMCProcess.h"

class TLorentzVector;
class AliMC;
class AliDecayer;
class TArrayI;

R__EXTERN AliMC *gMC;

enum AliMCGeomType { kGeant3, kGeant4 }; 

class AliMC : public TNamed, public AliRndm
{
  public:
    AliMC(const char *name, const char *title);
    AliMC() {fRandom=0;}
    virtual ~AliMC() {fgMC=gMC=0;fRandom=0;}
  
    // static access method
    static AliMC* GetMC() { return fgMC; }

    //
    // methods for building/management of geometry
    // ------------------------------------------------
    //

    // functions from GCONS 
    virtual void  Gfmate(Int_t imat, char *name, Float_t &a, Float_t &z,  
  		         Float_t &dens, Float_t &radl, Float_t &absl,
		         Float_t* ubuf, Int_t& nbuf) = 0; 

    // detector composition
    virtual void  Material(Int_t& kmat, const char* name, Float_t a, 
                     Float_t z, Float_t dens, Float_t radl, Float_t absl,<commit_msg>Add kFluka to list of geometry types.<commit_after>#ifndef ALIMC_H
#define ALIMC_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//                                                                           //
//   Abstract Monte Carlo interface                                          //
//                                                                           //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#include <TNamed.h>
#include <AliRndm.h>
#include "AliMCProcess.h"

class TLorentzVector;
class AliMC;
class AliDecayer;
class TArrayI;

R__EXTERN AliMC *gMC;

enum AliMCGeomType { kGeant3, kGeant4 , kFluka}; 

class AliMC : public TNamed, public AliRndm
{
  public:
    AliMC(const char *name, const char *title);
    AliMC() {fRandom=0;}
    virtual ~AliMC() {fgMC=gMC=0;fRandom=0;}
  
    // static access method
    static AliMC* GetMC() { return fgMC; }

    //
    // methods for building/management of geometry
    // ------------------------------------------------
    //

    // functions from GCONS 
    virtual void  Gfmate(Int_t imat, char *name, Float_t &a, Float_t &z,  
  		         Float_t &dens, Float_t &radl, Float_t &absl,
		         Float_t* ubuf, Int_t& nbuf) = 0; 

    // detector composition
    virtual void  Material(Int_t& kmat, const char* name, Float_t a, 
                     Float_t z, Float_t dens, Float_t radl, Float_t absl,
{'fraction_non_alphanumeric': 0.19886039886039886, 'fraction_numerical': 0.007977207977207978, 'mean_word_length': 0.9581706636921361, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 26, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4349736', 'n_tokens_mistral': 907, 'n_tokens_neox': 860, 'n_words': 246}