LCOV - code coverage report
Current view: top level - EVGEN - AliGenHalo.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 6 16.7 %
Date: 2016-06-14 17:26:59 Functions: 1 13 7.7 %

          Line data    Source code
       1             : #ifndef ALIGENHALO_H
       2             : #define ALIGENHALO_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : /* $Id$ */
       7             : 
       8             : 
       9             : #include "AliGenerator.h"
      10             : #include <TString.h>
      11             : 
      12             : // Read beam halo background particles from a boundary source
      13             : // Boundary source is in the LHCb format
      14             : // http://www.hep.manchester.ac.uk/u/robert/LHC_backgrounds/Note-MIBStudies.pdf
      15             : // and has been provided by Robert Appleby
      16             : // Author: andreas.morsch@cern.ch
      17             : 
      18             : class AliGenHalo : public AliGenerator
      19             : {
      20             : public:
      21             :     enum constants{kY1Day0, kY1Day70, kY2D0, kY2D10, kY3D90, kLHCPR674Startup, kLHCPR674Conditioned};
      22             :     AliGenHalo();
      23             :     AliGenHalo(Int_t npart);
      24             :     virtual ~AliGenHalo();
      25             :     virtual void Init();
      26           0 :     virtual void SetFileName(TString filename) {fFileName=TString(filename);}
      27             :     virtual void Generate();
      28             :     virtual Float_t GasPressureWeight(Float_t zPrimary);
      29           0 :     virtual void SetSide(Int_t flag = 1) {fSide = flag;}
      30           0 :     virtual void SetNskip(Int_t nskip) {fNskip = nskip;}
      31           0 :     virtual void SetRunPeriod(Int_t t = kY3D90) {fRunPeriod = t;}
      32           0 :     virtual void SetTimePerEvent(Float_t t = 1.e-4) {fTimePerEvent = t;}
      33             :     virtual void Draw(Option_t * opt="");
      34             :     virtual void  CountEvents();
      35             :  private:
      36             :     virtual void  SkipEvents();
      37             :     virtual Int_t ReadNextParticle();
      38             :  protected:
      39             :     FILE*    fFile;                       // ! Pointer to file
      40             :     TString  fFileName;                   //   Choose the file
      41             :     Int_t    fSide;                       //   Muon arm side (1) / Castor side (-1)
      42             :     Int_t    fRunPeriod;                  //   LHC Running Period
      43             :     Float_t  fTimePerEvent;               //   Time corresponding to one event [s]
      44             :     Int_t    fNskip;                      //   Number of entries to skip
      45             :     Float_t* fZ1;                         // ! z-positions for gas pressure tables
      46             :     Float_t* fZ2;                         // ! z-positions for gas pressure tables 
      47             :     Float_t* fG1;                         // ! gas pressures
      48             :     Float_t* fG2;                         // ! gas pressures
      49             :     Int_t    fGPASize;                    // ! Size of arrays
      50             :     Int_t    fLossID;                     // ! unique loss ID
      51             :     Int_t    fLossA;                      // ! atomic number of scatterer
      52             :     Int_t    fPdg;                        // ! pdg code 
      53             :     Float_t  fLossT0;                     // ! relative time
      54             :     Float_t  fLossZ;                      // ! scaterring position 
      55             :     Float_t  fLossW;                      // ! weight of proton loss
      56             :     Float_t  fXS;                         // ! x-position on scoring plane 
      57             :     Float_t  fYS;                         // ! y-position on scoring plane
      58             :     Float_t  fZS;                         // ! z-position on scoring plane
      59             :     Float_t  fDX;                         // ! direction cosine x
      60             :     Float_t  fDY;                         // ! direction cosine y
      61             :     Float_t  fEkin;                       // ! kinetic energy
      62             :     Float_t  fTS;                         // ! relative arrival time
      63             :     Float_t  fWS;                         // ! weight
      64             :  private:
      65             :     AliGenHalo(const AliGenHalo &Halo);
      66             :     AliGenHalo & operator=(const AliGenHalo & rhs);
      67             :     
      68           6 :     ClassDef(AliGenHalo,1)        // LHC beam halo boundary source
      69             : };
      70             : #endif
      71             : 
      72             : 
      73             : 
      74             : 
      75             : 
      76             : 

Generated by: LCOV version 1.11