LCOV - code coverage report
Current view: top level - EVGEN - AliGenCocktail.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 5 20.0 %
Date: 2016-06-14 17:26:59 Functions: 2 12 16.7 %

          Line data    Source code
       1             : #ifndef ALIGENCOCKTAIL_H
       2             : #define ALIGENCOCKTAIL_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             : // Container class for AliGenerator through recursion.
       9             : // (Container is itself an AliGenerator)
      10             : // Author: andreas.morsch@cern.ch 
      11             : //
      12             : 
      13             : #include "AliGenerator.h"
      14             : #include <TArrayF.h>
      15             : #include <TList.h>
      16             : 
      17             : class AliGenCocktailEntry;
      18             : class AliGenCocktailEventHeader;
      19             : class TArrayF;
      20             : class TFormula;
      21             : 
      22             : class AliGenCocktail : public AliGenerator
      23             : {
      24             :  public:
      25             :     AliGenCocktail();
      26             :      
      27             :     virtual ~AliGenCocktail();
      28             :     virtual void Init();
      29             :     virtual void FinishRun();
      30             :     virtual void Generate();
      31             :     virtual void SetVertexSmear(VertexSmear_t smear);
      32           0 :     virtual void SetRandomise(Bool_t flag) {fSRandom = flag;}
      33           0 :     virtual void UsePerEventRates() {fUsePerEventRate  = kTRUE;}
      34           0 :     virtual void SetSeed(UInt_t seed) {fSeed = seed;}
      35             :     //
      36             :     // Add a new generator to the list
      37             :     virtual void AddGenerator
      38             :       (AliGenerator *Generator, const char* Name, Float_t RateExp, TFormula* formula = 0, Int_t ntimes = 1);
      39           0 :     virtual TList* Entries() {return fEntries;}
      40             :     // Iterators
      41             :     AliGenCocktailEntry*  FirstGenerator();
      42             :     AliGenCocktailEntry*  NextGenerator();
      43             :     void FirstGeneratorPair(AliGenCocktailEntry*&e1, AliGenCocktailEntry*&e2);
      44             :     void NextGeneratorPair (AliGenCocktailEntry*&e1, AliGenCocktailEntry*&e2);
      45             :     virtual void AddHeader(AliGenEventHeader* header);
      46             :             
      47             :  protected:
      48             :     Int_t fNGenerators;                 // Number of generators booked
      49             :     Float_t fTotalRate;                 // Total rate of the generators booked
      50             :     Bool_t fSRandom;                    // Flag to select random generator from list
      51             :     Bool_t fUsePerEventRate;            // Flag to generate the events according to the rate per event    
      52             :     TArrayF  fProb;                     // Probability of an event (if fSRandom == kTRUE)
      53             :     TList  *fEntries;                   // List of Generators
      54             :     TObjLink *flnk1;                    // ! Iterator for first generator
      55             :     TObjLink *flnk2;                    // ! Iterator for second generator
      56             :     AliGenCocktailEventHeader* fHeader; // !Header container  
      57             :     UInt_t fSeed;                       // !Seed
      58             : //
      59             :  private:
      60             :     AliGenCocktail(const AliGenCocktail &cocktail);
      61             :     AliGenCocktail & operator=(const AliGenCocktail & rhs);
      62             : 
      63          50 :     ClassDef(AliGenCocktail, 2) // Particle cocktail generator a la SHAKER
      64             : };
      65             : 
      66             : #endif
      67             : 
      68             : 
      69             : 
      70             : 
      71             : 

Generated by: LCOV version 1.11