X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=EVGEN%2FAliGenHalo.cxx;h=7f914866a040bcb259409cd0b3b4e1b016e1e047;hb=e5ba98473484ffe6b11ca8122f2ab1c3f1a176f0;hp=4541a034a1cb170f11a888ea24598d37f7705f47;hpb=1578254f491848aff213be55a70a61d195dd001a;p=u%2Fmrichter%2FAliRoot.git diff --git a/EVGEN/AliGenHalo.cxx b/EVGEN/AliGenHalo.cxx index 4541a034a1c..7f914866a04 100644 --- a/EVGEN/AliGenHalo.cxx +++ b/EVGEN/AliGenHalo.cxx @@ -1,21 +1,42 @@ +/************************************************************************** + * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * + * * + * Author: The ALICE Off-line Project. * + * Contributors are mentioned in the code where appropriate. * + * * + * Permission to use, copy, modify and distribute this software and its * + * documentation strictly for non-commercial purposes is hereby granted * + * without fee, provided that the above copyright notice appears in all * + * copies and that both the copyright notice and this permission notice * + * appear in the supporting documentation. The authors make no claims * + * about the suitability of this software for any purpose. It is * + * provided "as is" without express or implied warranty. * + **************************************************************************/ + +/* $Id$ */ + +// Read background particles from a boundary source +// Very specialized generator to simulate background from beam halo. +// The input file is a text file specially prepared +// for this purpose. +// Author: andreas.morsch@cern.ch + +#include + +#include +#include + #include "AliGenHalo.h" -#include "AliGenMUONlib.h" -#include "AliMC.h" #include "AliRun.h" -#include "AliConst.h" -#include -#include -#include -#include -#include - ClassImp(AliGenHalo) - AliGenHalo::AliGenHalo() - :AliGenerator(-1) + +ClassImp(AliGenHalo) + +AliGenHalo::AliGenHalo() + :AliGenerator(-1) { +// Constructor fName="Halo"; fTitle="Halo from LHC Tunnel"; - // Set the default file - fFileName="~/marsip/marsip5.mu"; // // Read all particles fNpart=-1; @@ -25,38 +46,48 @@ AliGenHalo::AliGenHalo(Int_t npart) :AliGenerator(npart) { +// Constructor fName="Halo"; fTitle="Halo from LHC Tunnel"; - // Set the default file - fFileName="~/marsip/marsip5.mu"; // // Read all particles fNpart=-1; fp=0; } +AliGenHalo::AliGenHalo(const AliGenHalo & Halo) + :AliGenerator(Halo) +{ +// Copy constructor + Halo.Copy(*this); +} + + //____________________________________________________________ AliGenHalo::~AliGenHalo() { +// Destructor } //____________________________________________________________ void AliGenHalo::Init() -{} +{ +// Initialisation +} //____________________________________________________________ void AliGenHalo::Generate() { - FILE *fp = fopen(fFileName,"r"); +// Generate from input file + fp = fopen(fFileName,"r"); if (fp) { - printf("\n File %s opened for reading ! \n ", fFileName); + printf("\n File %s opened for reading ! \n ", (char*) &fFileName); } else { - printf("\n Opening of file %s failed ! \n ", fFileName); + printf("\n Opening of file %s failed ! \n ", (char*) &fFileName); } // // MARS particle codes - // const Int_t imars[12]={0,14, 13, 8, 9, 11, 12, 5, 6, 1, 3, 2}; - const Int_t imars[12]={0,kProton,kNeutron,kPiPlus,kPiMinus,kKPlus,kKMinus, + const Int_t kmars[12]={0,kProton,kNeutron,kPiPlus,kPiMinus,kKPlus,kKMinus, kMuonPlus,kMuonMinus,kGamma,kElectron,kPositron}; Float_t polar[3]= {0,0,0}; @@ -78,7 +109,7 @@ void AliGenHalo::Generate() if (ncols < 0) break; nread++; if (fNpart !=-1 && nread > fNpart) break; - ipart = imars[ipart]; + ipart = kmars[ipart]; amass = TDatabasePDG::Instance()->GetParticle(ipart)->Mass(); p0=sqrt(ekin*ekin + 2.*amass); @@ -92,16 +123,34 @@ void AliGenHalo::Generate() p[1]=p0*ty; p[2]=p0*tz; fParentWeight=wgt; - gAlice->SetTrack(1,-1,ipart,p,origin,polar,0,"Halo+",nt,fParentWeight); + PushTrack(fTrackIt,-1,ipart,p,origin,polar,0,kPNoProcess,nt,fParentWeight); +// PushTrack(fTrackIt,-1,ipart,p,origin,polar,0,"Halo+",nt,fParentWeight); origin[2]=-origin[2]; p[2]=-p[2]; - gAlice->SetTrack(1,-1,ipart,p,origin,polar,0,"Halo-",nt,fParentWeight); + PushTrack(fTrackIt,-1,ipart,p,origin,polar,0,kPNoProcess,nt,fParentWeight); +// PushTrack(fTrackIt,-1,ipart,p,origin,polar,0,"Halo-",nt,fParentWeight); origin[2]=-origin[2]; p[2]=-p[2]; } } +AliGenHalo& AliGenHalo::operator=(const AliGenHalo& rhs) +{ +// Assignment operator + rhs.Copy(*this); + return *this; +} + + +void AliGenHalo::Copy(TObject&) const +{ + // + // Copy + // + Fatal("Copy","Not implemented!\n"); +} +