### MonteCarlo Libraries

#### VMC

- Update of the VMC interfaces for multi-threading: TVirtualMC and TVirtualMCApplication instances are now declared thread local. Added new functions in TVirtualMC and TVirtualMCApplication for multi-threading applications with default implementation.
  In TVirtualMC:

       virtual Bool_t IsMT() const { return kFALSE; }

  In TVirtualMCApplication:

        virtual TVirtualMCApplication* CloneForWorker() const { return 0;}
        virtual void InitForWorker() const {}
        virtual void BeginWorkerRun() const {}
        virtual void FinishWorkerRun() const {}
        virtual void Merge(TVirtualMCApplication* /*localMCApplication*/) {}

- Removed default implementation of newly added functions in TVirtualMC:

        virtual Bool_t IsRootGeometrySupported() const = 0;
        virtual Bool_t GetMaterial(Int_t imat, TString& name,...) = 0;
        virtual Bool_t CurrentBoundaryNormal(..) = 0;

- Removed deprecated functions from TVirtualMC:

        // Return parameters for material specified by material number imat
        // Deprecated - replaced with GetMaterial()
        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;

        //  Return parameters for material specified by material number imat
        // (in double precision)
        // Deprecated - replaced with GetMaterial()
        virtual void  Gfmate(Int_t imat, char *name, Double_t &a, Double_t &z,
                             Double_t &dens, Double_t &radl, Double_t &absl,
                             Double_t *ubuf, Int_t &nbuf) = 0;

        // Check the parameters of a tracking medium
        // Deprecated
        virtual void  Gckmat(Int_t imed, char *name) = 0;