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

          Line data    Source code
       1             : #ifndef ALIGENREADEREMD_H
       2             : #define ALIGENREADEREMD_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : // Class to read events from external (TNtupla) file
       7             : // Events -> EM dissociation of Pb nuclei
       8             : // Data from RELDIS code (by I. Pshenichov)
       9             : //
      10             : #include "AliGenReader.h"
      11             : 
      12             : 
      13             : // --------------------------------------------------------------------------
      14             : class AliGenReaderEMD : public AliGenReader
      15             : {
      16             :  public:
      17             :     enum TrackedPc{kAll=0, kOnlyNucleons=1, kNotNucleons=2};
      18             :     
      19             :     AliGenReaderEMD();
      20             :     
      21             :     AliGenReaderEMD(const AliGenReaderEMD &reader);
      22             :     virtual ~AliGenReaderEMD();
      23             :     AliGenReaderEMD & operator=(const AliGenReaderEMD & rhs);
      24             :     // Initialise 
      25             :     virtual void Init();
      26             :     // Reader
      27             :     virtual Int_t NextEvent();
      28             :     virtual TParticle*  NextParticle();
      29             :     virtual void RewindEvent();
      30             :     // Setters
      31           0 :     void TrackNotNucleons()  {fPcToTrack = kNotNucleons;}
      32           0 :     void TrackOnlyNucleons() {fPcToTrack = kOnlyNucleons;}
      33           0 :     void TrackAllParticles() {fPcToTrack = kAll;}
      34           0 :     void SetStartEvent(Int_t nev) {fStartEvent = nev;}
      35             :     
      36             :  protected:
      37             :     Int_t           fStartEvent;        // points to the first event to read
      38             :     Int_t           fNcurrent;          // points to the current event to read
      39             :     Int_t           fNparticle;         // number of particles
      40             :     TTree           *fTreeNtuple;       // pointer to the TTree
      41             :     //
      42             :     Int_t           fPcToTrack;         // flag for particles to be tracked
      43             :     Int_t           fOffset;            // Needed to correctly read next particle
      44             :     //
      45             :     // --- Declaration of leaves types
      46             :     // **** neutrons
      47             :     Int_t           fNnAside;           // No. of neutrons emitted on left side            
      48             :     Float_t         fEnAside;           // Forward energy A side
      49             :     Int_t           fnPDGCode;          // PDG code
      50             :     Float_t         fPxnAside[70];      // momentum x component A side
      51             :     Float_t         fPynAside[70];      // momentum y component A side    
      52             :     Float_t         fPznAside[70];      // momentum z component A side  
      53             :     //  
      54             :     Int_t           fNnCside;           // No. of neutrons emitted on right side            
      55             :     Float_t         fEnCside;           // Forward energy C side
      56             :     Float_t         fPxnCside[70];      // momentum x component C side
      57             :     Float_t         fPynCside[70];      // momentum y component C side    
      58             :     Float_t         fPznCside[70];      // momentum z component C side    
      59             :     //
      60             :     // **** protons
      61             :     Int_t           fNpAside;           // No. of protons emitted on left side            
      62             :     Float_t         fEtapAside;         // Forward energy A side
      63             :     Int_t           fpPDGCode;          // PDG code
      64             :     Float_t         fPxpAside[50];      // momentum x component A side
      65             :     Float_t         fPypAside[50];      // momentum y component A side    
      66             :     Float_t         fPzpAside[50];      // momentum z component A side  
      67             :     //  
      68             :     Int_t           fNpCside;           // No. of protons emitted on right side            
      69             :     Float_t         fEtapCside;         // Forward energy C side
      70             :     Float_t         fPxpCside[50];      // momentum x component C side
      71             :     Float_t         fPypCside[50];      // momentum y component C side    
      72             :     Float_t         fPzpCside[50];      // momentum z component C side
      73             :     //
      74             :     // **** pi +
      75             :     Int_t           fNppAside;          // No. of pi+ emitted pi+ on A side            
      76             :     Float_t         fEtappAside;        // Forward energy pi+ A side
      77             :     Int_t           fppPDGCode; // PDG code
      78             :     Float_t         fPxppAside[30];     // momentum x component pi+ A side
      79             :     Float_t         fPyppAside[30];     // momentum y component pi+ A side        
      80             :     Float_t         fPzppAside[30];     // momentum z component pi+ A side      
      81             :     //  
      82             :     Int_t           fNppCside;          // No. of pi+ emitted on C side            
      83             :     Float_t         fEtappCside;        // Forward energy pi+ C side
      84             :     Float_t         fPxppCside[30];     // momentum x component pi+ C side
      85             :     Float_t         fPyppCside[30];     // momentum y component pi+ C side        
      86             :     Float_t         fPzppCside[30];     // momentum z component pi+ C side
      87             :     //
      88             :     // **** pi -
      89             :     Int_t           fNpmAside;          // No. of pi- emitted on A side            
      90             :     Float_t         fEtapmAside;        // Forward energy pi- A side
      91             :     Int_t           fpmPDGCode; // PDG code
      92             :     Float_t         fPxpmAside[30];     // momentum x component pi- A side
      93             :     Float_t         fPypmAside[30];     // momentum y component pi- A side        
      94             :     Float_t         fPzpmAside[30];     // momentum z component pi- A side      
      95             :     //  
      96             :     Int_t           fNpmCside;          // No. of pi- emitted on C side            
      97             :     Float_t         fEtapmCside;        // Forward energy pi- C side
      98             :     Float_t         fPxpmCside[30];     // momentum x component pi- C side
      99             :     Float_t         fPypmCside[30];     // momentum y component pi- C side        
     100             :     Float_t         fPzpmCside[30];     // momentum z component pi- C side
     101             :     //
     102             :     // **** pi0
     103             :     Int_t           fNp0Aside;          // No. of pi0 emitted on A side            
     104             :     Float_t         fEtap0Aside;        // Forward energy pi0 A side
     105             :     Int_t           fp0PDGCode; // PDG code
     106             :     Float_t         fPxp0Aside[30];     // momentum x component pi0 A side
     107             :     Float_t         fPyp0Aside[30];     // momentum y component pi0 A side        
     108             :     Float_t         fPzp0Aside[30];     // momentum z component pi0 A side      
     109             :     //  
     110             :     Int_t           fNp0Cside;          // No. of pi0 emitted on C side            
     111             :     Float_t         fEtap0Cside;        // Forward energy pi0 C side
     112             :     Float_t         fPxp0Cside[30];     // momentum x component pi0 C side
     113             :     Float_t         fPyp0Cside[30];     // momentum y component pi0 C side        
     114             :     Float_t         fPzp0Cside[30];     // momentum z component pi0 C side
     115             :     //
     116             :     // **** eta
     117             :     Int_t           fNetaAside;         // No. of eta emitted on A side            
     118             :     Float_t         fEtaetaAside;       // Forward energy eta A side
     119             :     Int_t           fetaPDGCode;        // PDG code
     120             :     Float_t         fPxetaAside[15];    // momentum x component eta A side
     121             :     Float_t         fPyetaAside[15];    // momentum y component eta A side       
     122             :     Float_t         fPzetaAside[15];    // momentum z component eta A side     
     123             :     //  
     124             :     Int_t           fNetaCside;         // No. of eta emitted on C side            
     125             :     Float_t         fEtaetaCside;       // Forward energy eta C side
     126             :     Float_t         fPxetaCside[15];    // momentum x component eta C side
     127             :     Float_t         fPyetaCside[15];    // momentum y component eta C side       
     128             :     Float_t         fPzetaCside[15];    // momentum z component eta C side
     129             :     //
     130             :     // **** omega
     131             :     Int_t           fNomegaAside;       // No. of omega emitted on A side            
     132             :     Float_t         fEtaomegaAside;     // Forward energy omega A side
     133             :     Int_t           fomegaPDGCode;      // PDG code
     134             :     Float_t         fPxomegaAside[15];  // momentum x component omega A side
     135             :     Float_t         fPyomegaAside[15];  // momentum y component omega A side   
     136             :     Float_t         fPzomegaAside[15];  // momentum z component omega A side     
     137             :     //  
     138             :     Int_t           fNomegaCside;       // No. of omega emitted on C side            
     139             :     Float_t         fEtaomegaCside;     // Forward energy omega C side
     140             :     Float_t         fPxomegaCside[15];  // momentum x component omega C side
     141             :     Float_t         fPyomegaCside[15];  // momentum y component omega C side     
     142             :     Float_t         fPzomegaCside[15];  // momentum z component omega C side
     143             :    
     144             :  private:
     145             :     void Copy(TObject&) const;
     146           6 :     ClassDef(AliGenReaderEMD, 2) // Class to read EMD data
     147             : };
     148             : #endif
     149             : 
     150             : 
     151             : 
     152             : 
     153             : 
     154             : 

Generated by: LCOV version 1.11