#101706: Patch to forward decl fastjet::* classes instead of inclussion when rootcint...
[u/mrichter/AliRoot.git] / JETAN / AliFastJetInput.h
1 #ifndef ALIFASTJETINPUT_H
2 #define ALIFASTJETINPUT_H
3  
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6   //---------------------------------------------------------------------
7 // Class for input particles
8 // manages the search for jets 
9 // Authors: Elena Bruna elena.bruna@yale.edu
10 //         
11 //---------------------------------------------------------------------
12
13 //FastJet classes 
14 #ifndef __CINT__
15 # include "fastjet/PseudoJet.hh"
16 # include "fastjet/ClusterSequenceArea.hh"
17 # include "fastjet/AreaDefinition.hh"
18 # include "fastjet/JetDefinition.hh"
19 // get info on how fastjet was configured
20 # include "fastjet/config.h"
21 # ifdef ENABLE_PLUGIN_SISCONE
22 #  include "fastjet/SISConePlugin.hh"
23 #  include<sstream>  // needed for internal io
24 #  include <vector> 
25 #  include <cmath> 
26 # endif
27 #else
28 namespace fastjet {
29 class PseudoJet;
30 }
31 #endif
32 class AliJetFinder;
33 class AliJetHeader;
34 class AliJetReader;
35
36
37 class AliFastJetInput : public TObject
38 {
39  public:
40     AliFastJetInput();
41     AliFastJetInput(const AliFastJetInput &input);
42     AliFastJetInput& operator=(const AliFastJetInput& source);
43     virtual ~AliFastJetInput() {;}
44     void SetHeader(AliJetHeader *header)  {fHeader=header;}
45     void SetReader(AliJetReader *reader)  {fReader=reader;}
46     void FillInput();
47     vector<fastjet::PseudoJet> GetInputParticles()   const {return fInputParticles;}
48     vector<fastjet::PseudoJet> GetInputParticlesCh() const {return fInputParticlesCh;}
49     Float_t  EtaToTheta(Float_t arg);
50     static Double_t Thermalspectrum(const Double_t *x, const Double_t *par);
51
52  private:
53    AliJetReader *fReader;  //! reader 
54    AliJetHeader *fHeader;  //! header 
55    
56     vector<fastjet::PseudoJet> fInputParticles;     //! input particles for FastJet
57     vector<fastjet::PseudoJet> fInputParticlesCh;   //! input charged particles for FastJet
58
59   ClassDef(AliFastJetInput, 1); // Analysis task for standard jet analysis
60 };
61  
62 #endif