]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - FMD/AliFMDInput.h
remove warning by histogram recreation
[u/mrichter/AliRoot.git] / FMD / AliFMDInput.h
index be78f6067e95afd9a74b86eae7d98309c19c596e..d284ad31fb6c3573124c0c39a2220ee42f66fed3 100644 (file)
     classes for customized class that do some sort of analysis on the
     various types of data produced by the FMD.
 */
-#include <TObject.h>
+#include <TNamed.h>
 #ifndef ROOT_TString
 # include <TString.h>
 #endif
+#ifndef ROOT_TArrayF
+# include <TArrayF.h>
+#endif
 class AliRunLoader;
 class AliLoader;
 class AliStack;
 class AliRun;
 class AliRawReader;
+class AliFMDRawReader;
 class AliFMD;
 class AliFMDHit;
 class AliFMDDigit;
 class AliFMDSDigit;
 class AliFMDRecPoint;
-class AliESD;
+class AliESDEvent;
 class AliESDFMD;
+class AliHeader;
 class TString;
 class TClonesArray;
 class TTree;
@@ -94,7 +99,7 @@ class TChain;
     various scripts in @c FMD/scripts. 
     @ingroup FMD_util
  */
-class AliFMDInput : public TObject
+class AliFMDInput : public TNamed
 {
 public:
   /** The kinds of data that can be read in. */
@@ -223,21 +228,32 @@ public:
       @return  @c false on error  */
   virtual Bool_t ProcessESD(UShort_t, Char_t, UShort_t, UShort_t, 
                            Float_t, Float_t);
-  
+  /** Service function to make a logarithmic axis. 
+      @param n    Number of bins 
+      @param min  Minimum of axis 
+      @param max  Maximum of axis. 
+      @return An array with the bin boundaries. */
+  static TArrayF MakeLogScale(Int_t n, Double_t min, Double_t max);
+
+  /** Set the raw data input 
+      @param file File name - if empty, assume simulated raw. */
+  void SetRawFile(const char* file) { if (file) fRawFile = file; }
+     
 protected:
   /** Copy ctor 
       @param o Object to copy from  */
   AliFMDInput(const AliFMDInput& o) 
-    : TObject(o),
+    : TNamed(o),
       fGAliceFile(""),
       fLoader(0),
       fRun(0),
       fStack(0),
       fFMDLoader(0),
       fReader(0),
+      fFMDReader(0),
       fFMD(0),
-      fMainESD(0),
       fESD(0),
+      fESDEvent(0),
       fTreeE(0),
       fTreeH(0),
       fTreeD(0),
@@ -251,39 +267,46 @@ protected:
       fArrayS(0),
       fArrayR(0),
       fArrayA(0),
+      fHeader(0),
       fGeoManager(0),
       fTreeMask(0),
-      fIsInit(kFALSE)
+      fRawFile(""),      
+      fIsInit(kFALSE),
+      fEventCount(0)
   {}
   /** Assignement operator 
       @return  REference to this */
   AliFMDInput& operator=(const AliFMDInput&) { return *this; }
 
-  TString       fGAliceFile; // File name of gAlice file
-  AliRunLoader* fLoader;     // Loader of FMD data 
-  AliRun*       fRun;        // Run information
-  AliStack*     fStack;      // Stack of particles 
-  AliLoader*    fFMDLoader;  // Loader of FMD data 
-  AliRawReader* fReader;     // Raw data reader 
-  AliFMD*       fFMD;        // FMD object
-  AliESD*       fMainESD;    // ESD Object
-  AliESDFMD*    fESD;        // FMD ESD data  
-  TTree*        fTreeE;      // Header tree 
-  TTree*        fTreeH;      // Hits tree
-  TTree*        fTreeD;      // Digit tree 
-  TTree*        fTreeS;      // SDigit tree 
-  TTree*        fTreeR;      // RecPoint tree
-  TTree*        fTreeA;      // Raw data tree
-  TChain*       fChainE;     // Chain of ESD's
-  TClonesArray* fArrayE;     // Event info array
-  TClonesArray* fArrayH;     // Hit info array
-  TClonesArray* fArrayD;     // Digit info array
-  TClonesArray* fArrayS;     // SDigit info array
-  TClonesArray* fArrayR;     // Rec points info array
-  TClonesArray* fArrayA;     // Raw data (digits) info array
-  TGeoManager*  fGeoManager; // Geometry manager
-  Int_t         fTreeMask;   // Which tree's to load
-  Bool_t        fIsInit;     // Have we been initialized 
+  TString          fGAliceFile; // File name of gAlice file
+  AliRunLoader*    fLoader;     // Loader of FMD data 
+  AliRun*          fRun;        // Run information
+  AliStack*        fStack;      // Stack of particles 
+  AliLoader*       fFMDLoader;  // Loader of FMD data 
+  AliRawReader*    fReader;     // Raw data reader 
+  AliFMDRawReader* fFMDReader;  // FMD raw reader
+  AliFMD*          fFMD;        // FMD object
+  AliESDFMD*       fESD;        // FMD ESD data  
+  AliESDEvent*     fESDEvent;   // ESD Event object. 
+  TTree*           fTreeE;      // Header tree 
+  TTree*           fTreeH;      // Hits tree
+  TTree*           fTreeD;      // Digit tree 
+  TTree*           fTreeS;      // SDigit tree 
+  TTree*           fTreeR;      // RecPoint tree
+  TTree*           fTreeA;      // Raw data tree
+  TChain*          fChainE;     // Chain of ESD's
+  TClonesArray*    fArrayE;     // Event info array
+  TClonesArray*    fArrayH;     // Hit info array
+  TClonesArray*    fArrayD;     // Digit info array
+  TClonesArray*    fArrayS;     // SDigit info array
+  TClonesArray*    fArrayR;     // Rec points info array
+  TClonesArray*    fArrayA;     // Raw data (digits) info array
+  AliHeader*       fHeader;     // Header 
+  TGeoManager*     fGeoManager; // Geometry manager
+  Int_t            fTreeMask;   // Which tree's to load
+  TString          fRawFile;    // Raw input file
+  Bool_t           fIsInit;     // Have we been initialized 
+  Int_t            fEventCount; // Event counter 
   ClassDef(AliFMDInput,0)  //Hits for detector FMD
 };