ROOT logo
#ifndef  HTOFCLUSTERF_H
#define  HTOFCLUSTERF_H

using namespace std;
#include "htofhitf.h"
#include <iostream> 
#include <iomanip>
#include "hlocation.h"
#include "TMath.h"

class HCategory;
class HIterator;
class HTofGeomPar;
class HSpecGeomPar;
class HTofClusterFPar;
class HSpectrometer;
class HRuntimeDb;
class HTofCluster;

class HTofClusterF : public HReconstructor {
private:
  HTofHit *hit;
  HTofCluster *cluster;
  Float_t tof_ph, xposMod_ph;
  Float_t tof_h, xposMod_h, edep_h, xposModAdc_h, lAmp_h, rAmp_h, xlab_h, ylab_h, zlab_h;
  Int_t   flagAdc_h;
  Float_t absTd_h, absXd_h;
  Float_t tof_c, xposMod_c, edep_c, xposModAdc_c, lAmp_c, rAmp_c, xlab_c, ylab_c, zlab_c;
  Int_t   flagAdc_c, size_c;

protected:
  HCategory* fHitCat;  // Pointer to the hit category
  HCategory* fClusterCat;  // Pointer to the cluster category
  HLocation fLoc;       // Location of hit
  HLocation fpLoc;      // Location of previous hit
  HLocation fCLoc;      // Location of cluster
  HIterator* iterh;     // Iterator through hit category.
  HIterator* iterc;     // Iterator through cluster category.
  HTofGeomPar *fTofGeometry; // Container for TOF geometry.
  HSpecGeomPar *fSpecGeometry; // Container for Spectrometer geometry.
  HTofClusterFPar *fClusterFPar; // Clusterfinder parameter container.
  Int_t        indexHit1;        //! linear index of first tofhit
  Int_t        indexHit2;        //! linear index of second tofhit

  void writeProb(void);
  Float_t calcProb(Float_t edep,const Char_t* aset="all");
  void fillPreviousData(void);
  void fillClusterData(void);
  void readHit(void);
  void writeCluster(Int_t mode);
  void calcWeightedMean();

public:
  HTofClusterF(void);
  HTofClusterF(const Text_t *name,const Text_t *title);
  ~HTofClusterF(void);
  Bool_t init(void);
  void initParContainer(HSpectrometer *,HRuntimeDb *);
  Bool_t finalize(void) {return kTRUE;}
  Int_t execute(void);
  ClassDef(HTofClusterF,0) //Finds TOF clusters.
};

#endif /* !HTOFCLUSTERF_H */





 htofclusterf.h:1
 htofclusterf.h:2
 htofclusterf.h:3
 htofclusterf.h:4
 htofclusterf.h:5
 htofclusterf.h:6
 htofclusterf.h:7
 htofclusterf.h:8
 htofclusterf.h:9
 htofclusterf.h:10
 htofclusterf.h:11
 htofclusterf.h:12
 htofclusterf.h:13
 htofclusterf.h:14
 htofclusterf.h:15
 htofclusterf.h:16
 htofclusterf.h:17
 htofclusterf.h:18
 htofclusterf.h:19
 htofclusterf.h:20
 htofclusterf.h:21
 htofclusterf.h:22
 htofclusterf.h:23
 htofclusterf.h:24
 htofclusterf.h:25
 htofclusterf.h:26
 htofclusterf.h:27
 htofclusterf.h:28
 htofclusterf.h:29
 htofclusterf.h:30
 htofclusterf.h:31
 htofclusterf.h:32
 htofclusterf.h:33
 htofclusterf.h:34
 htofclusterf.h:35
 htofclusterf.h:36
 htofclusterf.h:37
 htofclusterf.h:38
 htofclusterf.h:39
 htofclusterf.h:40
 htofclusterf.h:41
 htofclusterf.h:42
 htofclusterf.h:43
 htofclusterf.h:44
 htofclusterf.h:45
 htofclusterf.h:46
 htofclusterf.h:47
 htofclusterf.h:48
 htofclusterf.h:49
 htofclusterf.h:50
 htofclusterf.h:51
 htofclusterf.h:52
 htofclusterf.h:53
 htofclusterf.h:54
 htofclusterf.h:55
 htofclusterf.h:56
 htofclusterf.h:57
 htofclusterf.h:58
 htofclusterf.h:59
 htofclusterf.h:60
 htofclusterf.h:61
 htofclusterf.h:62
 htofclusterf.h:63
 htofclusterf.h:64
 htofclusterf.h:65
 htofclusterf.h:66
 htofclusterf.h:67
 htofclusterf.h:68
 htofclusterf.h:69