TpcCluster.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #ifndef _TPCCLUSTER_H_
  2. #define _TPCCLUSTER_H_
  3. #include <TObject.h>
  4. #include <TClonesArray.h>
  5. #include "TpcTimeBin.h"
  6. class TpcSequence;
  7. class TpcPadRow;
  8. class TpcCluster : public TObject
  9. {
  10. private:
  11. TpcPadRow *fPadRow; // weak reference to padrow in that cluster appear
  12. TObjArray *fSequences; // array of TpcSequence objects
  13. TObjArray *fRegion; // Cluster region
  14. // Cluster region bounds in pad row
  15. Int_t fLoPad; // included
  16. Int_t fHiPad; // excluded
  17. Int_t fLoBin; // included
  18. Int_t fHiBin; // excluded
  19. TpcTimeBin fBinStub;
  20. public:
  21. TpcCluster(void);
  22. virtual ~TpcCluster(void);
  23. /** Accessors **/
  24. TpcPadRow * GetPadRow() const { return fPadRow; }
  25. void SetPadRow(TpcPadRow *aPadRow) { fPadRow = aPadRow; }
  26. const TObjArray * GetSequences() const { return fSequences; }
  27. Int_t GetNSequences() const { return fSequences->GetEntriesFast(); }
  28. const TpcSequence * GetSequence(Int_t iSeq) const {
  29. return (TpcSequence *)fSequences->At(iSeq);
  30. }
  31. Int_t GetLoPad() const { return fLoPad; }
  32. Int_t GetHiPad() const { return fHiPad; }
  33. Int_t GetLoBin() const { return fLoBin; }
  34. Int_t GetHiBin() const { return fHiBin; }
  35. const TObjArray * GetRegion() const { return fRegion; }
  36. const TpcTimeBin * GetTimeBin(Int_t ipad, Int_t ibin);
  37. /** Modifiers **/
  38. void BeginCluster(TpcPadRow *aPadRow);
  39. void AddSequence(TpcSequence *aSequence);
  40. void EndCluster();
  41. const double ret_x() const { return 0; };
  42. const double ret_y() const { return 0; };
  43. const double ret_z() const { return 0; };
  44. const double ret_dx() const { return 0; };
  45. const double ret_dy() const { return 0; };
  46. const double ret_dz() const { return 0; };
  47. const double ret_charge() const { return 0;};
  48. private:
  49. Bool_t RecalcBounds();
  50. void MakeRegion();
  51. /** **/
  52. ClassDef(TpcCluster, 1)
  53. };
  54. #endif // _TPCCLUSTER_H_