ROOT logo
//*-- Author: M. Jurkovic

#ifndef HSTART2HIT_H
#define HSTART2HIT_H

#include "TObject.h"

#define MAXNSTRIP 5

class HStart2Hit : public TObject {
private:
   Int_t   fModule;        // module number
   Int_t   fStrip;         // strip number
   Int_t   fMultiplicity;  // Start det. Multip.
   Float_t fTime;          // Start det. time
   Float_t fWidth;         // Start det. ADC value
   Bool_t  fFlag;          // kTRUE if true start time has been found
   Int_t   fCorrFlag;      // flag of reconstruction method of HParticleStart2HitF
   Float_t fResolution;    // resolution smearing for simulation
   Float_t fSimWidth;      // width of gaussian smearing for simulation [ns]
   Int_t   fTrack;         // Geant track number of fastest hit
   UInt_t  fIteration;     // 0 init, 1 HStart2HitF ,2 HParticleStart2HitF

   Float_t fTime2;         // Start det. time of second cluster (closest to first clust)
   Int_t nFirstCluster;             // nNumber of cal objects of first cluster
   Int_t nSecondCluster;            // nNumber of cal objects of second cluster
   Int_t fFirstCluster [MAXNSTRIP]; // cal objects of first  cluster (index*1000+hitindex+1)
   Int_t fSecondCluster[MAXNSTRIP]; // cal objects of second cluster (index*1000+hitindex+1)


public:
    HStart2Hit(void);
    ~HStart2Hit(void) {}

    void    setFlag        (const Bool_t f)                   { fFlag = f;}
    void    setCorrFlag    (const Int_t f)                    { fCorrFlag = f;}
    void    setMultiplicity(const Int_t m)                    { fMultiplicity = m; }
    void    setAddress     (const Int_t m, const Int_t s)     { fModule = m; fStrip = s; }
    void    setTimeAndWidth(const Float_t t, const Float_t w) { fTime   = t; fWidth = w; }
    void    setResolution  (const Float_t res)                { fResolution = res; }
    void    setSimWidth    (const Float_t width)              { fSimWidth = width; }
    void    setTrack       (const Int_t t)                    { fTrack = t; }
    void    setIteration   (const UInt_t it)                  {fIteration = it;}
    Bool_t  getFlag        (void)  const   { return fFlag; }
    Int_t   getCorrFlag    (void)  const   { return fCorrFlag; }
    Int_t   getModule      (void)  const   { return fModule; }
    Int_t   getStrip       (void)  const   { return fStrip; }
    Int_t   getMultiplicity(void)  const   { return fMultiplicity; }
    Float_t getTime        (void)  const   { return fTime; }
    Float_t getWidth       (void)  const   { return fWidth; }
    void    getAddress     (Int_t& m  , Int_t& s  ) { m = fModule; s = fStrip; }
    void    getTimeAndWidth(Float_t& t, Float_t& w) { t = fTime;   w = fWidth; }
    Float_t getResolution  (void)  const { return fResolution; }
    Float_t getSimWidth    (void)  const { return fSimWidth; }
    Int_t   getTrack       (void)  const   { return fTrack; }
    UInt_t  getIteration   (void)  const   { return fIteration; }

    //------------------------------------------------------------------
    // cluster infos
    void    setSecondTime(Float_t t) { fTime2 = t;  }
    Float_t getSecondTime()          { return fTime2 ;  }

    void    resetClusterStrip(UInt_t firstOrSecond=2);
    Bool_t  setClusterStrip  (UInt_t firstOrSecond,Int_t stripandhitindex);
    Bool_t  setClusterStrip  (UInt_t firstOrSecond,Int_t stripindex,Int_t hitindex);
    Int_t   getClusterStrip  (UInt_t firstOrSecond,Int_t num);
    Int_t   getClusterStrip  (UInt_t firstOrSecond,Int_t num,Int_t& stripindex,Int_t& hitindex);


    Int_t   getFirstClusterSize () {return nFirstCluster;}
    Int_t   getSecondClusterSize() {return nSecondCluster;}
    Bool_t  getMaxClusterSize()    {return MAXNSTRIP;}
    //------------------------------------------------------------------



    // void    Streamer(TBuffer &R__b);

   ClassDef(HStart2Hit, 6) // START detector hit data
};



#endif /* ! HSTART2HIT_H */
 hstart2hit.h:1
 hstart2hit.h:2
 hstart2hit.h:3
 hstart2hit.h:4
 hstart2hit.h:5
 hstart2hit.h:6
 hstart2hit.h:7
 hstart2hit.h:8
 hstart2hit.h:9
 hstart2hit.h:10
 hstart2hit.h:11
 hstart2hit.h:12
 hstart2hit.h:13
 hstart2hit.h:14
 hstart2hit.h:15
 hstart2hit.h:16
 hstart2hit.h:17
 hstart2hit.h:18
 hstart2hit.h:19
 hstart2hit.h:20
 hstart2hit.h:21
 hstart2hit.h:22
 hstart2hit.h:23
 hstart2hit.h:24
 hstart2hit.h:25
 hstart2hit.h:26
 hstart2hit.h:27
 hstart2hit.h:28
 hstart2hit.h:29
 hstart2hit.h:30
 hstart2hit.h:31
 hstart2hit.h:32
 hstart2hit.h:33
 hstart2hit.h:34
 hstart2hit.h:35
 hstart2hit.h:36
 hstart2hit.h:37
 hstart2hit.h:38
 hstart2hit.h:39
 hstart2hit.h:40
 hstart2hit.h:41
 hstart2hit.h:42
 hstart2hit.h:43
 hstart2hit.h:44
 hstart2hit.h:45
 hstart2hit.h:46
 hstart2hit.h:47
 hstart2hit.h:48
 hstart2hit.h:49
 hstart2hit.h:50
 hstart2hit.h:51
 hstart2hit.h:52
 hstart2hit.h:53
 hstart2hit.h:54
 hstart2hit.h:55
 hstart2hit.h:56
 hstart2hit.h:57
 hstart2hit.h:58
 hstart2hit.h:59
 hstart2hit.h:60
 hstart2hit.h:61
 hstart2hit.h:62
 hstart2hit.h:63
 hstart2hit.h:64
 hstart2hit.h:65
 hstart2hit.h:66
 hstart2hit.h:67
 hstart2hit.h:68
 hstart2hit.h:69
 hstart2hit.h:70
 hstart2hit.h:71
 hstart2hit.h:72
 hstart2hit.h:73
 hstart2hit.h:74
 hstart2hit.h:75
 hstart2hit.h:76
 hstart2hit.h:77
 hstart2hit.h:78
 hstart2hit.h:79
 hstart2hit.h:80
 hstart2hit.h:81
 hstart2hit.h:82
 hstart2hit.h:83
 hstart2hit.h:84