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

          Line data    Source code
       1             : #ifndef ALIGENLIGHTNUCLEI_H
       2             : #define ALIGENLIGHTNUCLEI_H
       3             : 
       4             : /* Copyright(c) 2009-2015, ALICE Experiment at CERN, All rights reserved. *
       5             :  * See cxx source for full Copyright notice                               */
       6             : 
       7             : // afterburner to generate light nuclei
       8             : // Author: Eulogio Serradilla <eulogio.serradilla@cern.h>
       9             : 
      10             : #include "AliGenCocktail.h"
      11             : 
      12             : class TParticle;
      13             : class AliStack;
      14             : class TLorentzVector;
      15             : 
      16             : class AliGenLightNuclei: public AliGenCocktail
      17             : {
      18             : 
      19             :  public:
      20             : 
      21             :         AliGenLightNuclei();
      22             :         virtual ~AliGenLightNuclei();
      23             : 
      24             :         virtual void Generate();
      25             :         
      26           0 :         Double_t GetCoalescenceMomentum() const { return fP0; }
      27             :         
      28           0 :         void SetNucleusPdgCode(Int_t pdg) { fPdg = pdg; }
      29             :         
      30           0 :         void SetCoalescenceMomentum(Double_t p0) { fP0 = p0; }
      31           0 :         void SetSpinProbability(Double_t s) { fSpinProb = s; }
      32             :         
      33             :         enum {kDeuteron=1000010020, kTriton=1000010030, kHyperTriton=1010010030, kHe3Nucleus=1000020030, kAlpha=1000020040};
      34             : 
      35             :         enum {kCluster=77};
      36             :         
      37             :  private:
      38             :  
      39             :         AliGenLightNuclei(const AliGenLightNuclei &other);
      40             :         AliGenLightNuclei& operator=(const AliGenLightNuclei &other);
      41             :         
      42             :         Bool_t Coalescence(const TLorentzVector& p1, const TLorentzVector& p2) const;
      43             :         Bool_t Coalescence(const TLorentzVector& p1, const TLorentzVector& p2, const TLorentzVector& p3) const;
      44             :         Bool_t Coalescence(const TLorentzVector& p1, const TLorentzVector& p2, const TLorentzVector& p3, const TLorentzVector& p4) const;
      45             :         
      46             :         Int_t GenerateNuclei(Int_t pdg, Double_t mass, const TList* l1, const TList* l2);
      47             :         Int_t GenerateNuclei(Int_t pdg, Double_t mass, const TList* l1, const TList* l2, const TList* l3);
      48             :         Int_t GenerateNuclei(Int_t pdg, Double_t mass, const TList* l1, const TList* l2, const TList* l3, const TList* l4);
      49             :         
      50             :         void PushNucleus(Int_t pdg, Double_t mass, TParticle* parent1, TParticle* parent2, TParticle* parent3=0, TParticle* parent4=0);
      51             :         
      52             :  private:
      53             :         
      54             :         Int_t fPdg;          // nucleus PDG code
      55             :         Double_t fP0;        // coalescence momentum
      56             :         Double_t fSpinProb;  // probability of cluster formation due to nucleus spin
      57             :         
      58           6 :         ClassDef(AliGenLightNuclei, 4)
      59             : };
      60             : 
      61             : #endif // ALIGENLIGHTNUCLEI_H

Generated by: LCOV version 1.11