#ifndef _TGENVERTEXML_H_INCLUDED #define _TGENVERTEXML_H_INCLUDED ////////////////////////////////////////////////////////////////////////// // // // TGenVertexML // // // // Generates vertex position on a multilayer target // // uniformly over z and according to 2 gaussians on x and y // // // ////////////////////////////////////////////////////////////////////////// #include "TGenVertex.h" class TGenVertexML : public TGenVertex { protected: Int_t fNL; // number of layers double* fzth; // array of thicknesses double* fzpos; // array of positions double* fzthint; // array of thicknesses' integrals public: TGenVertexML( Int_t NL=12, double zth[]=0, double zpos[]=0, double sigmax = 0.08, double sigmay = 0.16 ); Int_t GetNLayers() const { return(fNL); }; virtual TVector3 GenVertexTargetSR() const; virtual void Print(Option_t *option="") const; virtual ~TGenVertexML(); ClassDef(TGenVertexML,0) // Generates vertex position on a multilayer target }; #endif