LCOV - code coverage report
Current view: top level - EVGEN - AliGenCocktailAfterBurner.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 7 14.3 %
Date: 2016-06-14 17:26:59 Functions: 1 14 7.1 %

          Line data    Source code
       1             : #ifndef AliGenCocktailAfterBurner_H
       2             : #define AliGenCocktailAfterBurner_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: piotr.skowronski@cern.ch 
      11             : //
      12             : 
      13             : #include <TMCProcess.h>
      14             : 
      15             : #include "AliGenCocktail.h"
      16             : #include "AliRunLoader.h"
      17             : 
      18             : class AliGenCocktailEntry;
      19             : class AliStack;
      20             : class AliCollisionGeometry;
      21             : class AliGenCocktailEventHeader;
      22             : 
      23             : 
      24             : class AliGenCocktailAfterBurner : public  AliGenCocktail
      25             : {
      26             : //container class for other generators
      27             : //extends AliGenCocktail functionality
      28             : //with possiblity of adding after-burners
      29             : 
      30             :  public:
      31             :     AliGenCocktailAfterBurner();
      32             :     virtual ~AliGenCocktailAfterBurner();
      33             :     
      34             :     virtual void  Init();
      35             :     virtual void  Generate();
      36             :     virtual void  SetTracks(Int_t stackno);
      37             :     //
      38             :     // Add a new generator to the list
      39             :     virtual void  AddAfterBurner
      40             :         (AliGenerator *Generator, const char* Name, Float_t RateExp );
      41             :     
      42             :     AliStack*     GetStack(Int_t n) const;
      43           0 :     AliStack*     GetActiveStack() const{return fActiveStack;}
      44             : 
      45             :     AliCollisionGeometry* GetCollisionGeometry(Int_t n) const;
      46             :  
      47             :     AliGenerator* GetCurrentGenerator() const;
      48             :     virtual void  SetActiveEventNumber(Int_t actev);
      49           0 :     Int_t         GetActiveEventNumber() const {return fActiveEvent;}
      50           0 :     virtual Int_t GetNumberOfEvents() const {return AliRunLoader::Instance()->GetNumberOfEventsPerRun() + fNBgEvents;}
      51           0 :     void          SetNBgEvents(Int_t nbg=0){fNBgEvents = nbg;}
      52           0 :     AliGenCocktailEventHeader* GetActiveEventHeader() const { return fHeaders[fActiveEvent]; }
      53             : 
      54             :     static TMCProcess IntToMCProcess(Int_t no);
      55             : 
      56             :  protected:
      57             :     Int_t fNAfterBurners;       // Number of afterburners  
      58             :     TList  *fAfterBurnerEntries;// List of afterburners
      59             :     Bool_t fGenerationDone;     // flag if generation is already done 
      60             :                                 //   during first call of Generate method
      61             :                                 //   if true just return event to gAlice
      62             :                                 //   
      63             :     TObjArray *fInternalStacks; //! List of internal stacks
      64             : 
      65             :     AliCollisionGeometry**      fCollisionGeometries; //! List of Collision Geometries
      66             :     AliGenCocktailEventHeader** fHeaders;             //! List of Headers
      67             :     
      68             :     Int_t fCurrentEvent;        //  Number of current event/stack
      69             :     
      70             : 
      71             :     AliStack* fActiveStack;   //! pointer to the current stack
      72             :     Int_t fActiveEvent;       //HBT Processor needs more then one event to do correlations
      73             :                               //Due to complications in fortran, it first calls C routine
      74             :                               //that sets the active event to be read. All alihbtp_gettrack
      75             :                               //are addressed to this event
      76             :     
      77             :     AliGenerator *fCurrentGenerator;      // Current event generator 
      78             :     Int_t fNBgEvents;                     //Nuber of backgrouns events 
      79             :                                           //(events that are generated only temporarly)
      80             :                                           //needed by some afterburners that works better with higher statistics 
      81             :                                           //this generates such a artificial one
      82             :  private:
      83             :     AliGenCocktailAfterBurner(const AliGenCocktailAfterBurner& in);
      84             :     AliGenCocktailAfterBurner & operator=(const AliGenCocktailAfterBurner & rhs);
      85             : 
      86           6 :     ClassDef(AliGenCocktailAfterBurner,2) // Particle cocktail generator a la SHAKER
      87             :                                           //background events added
      88             : };
      89             : 
      90             : inline  AliGenerator*  
      91             :     AliGenCocktailAfterBurner::GetCurrentGenerator() const
      92             : {
      93           0 :   return fCurrentGenerator;
      94             : }
      95             : 
      96             : 
      97             : #endif
      98             : 
      99             : 
     100             : 
     101             : 
     102             : 

Generated by: LCOV version 1.11