2#ifndef EMC_2D_CRYSTAL_H
3#define EMC_2D_CRYSTAL_H
18class Emc2DCrystal :
public TNamed,
public TAttLine,
public TAttFill
23 Emc2DCrystal(
const char* name,
const char*
title, Int_t N, Double_t *
P, Int_t part, Int_t theta);
28 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
31 virtual void SetFired(
bool status =
true) { fFired = status; }
35 virtual void AddInfo(TString info) { fInfoCon.push_back(info); }
39 virtual void SetTime(Double_t time) { fTime = time; }
41 virtual Double_t
GetTime() {
return fTime; }
45 virtual void Draw(Option_t *option =
"");
46 virtual void Paint(Option_t *option =
"");
52 Double_t
GetAngle(Double_t x, Double_t
y);
57 virtual void SetXYPoint(Double_t *p1, Double_t *p2, Double_t *newP, Double_t z);
58 virtual void SetZRPoint(Double_t *p1, Double_t *p2, Double_t *newP, Double_t r);
71 static const Int_t fChargeMax = 300;
72 Double_t fTime, fCharge;
74 Double_t fZRSectionTolerance[3];
75 Double_t fPhiMin, fPhiMax;
80 static const Int_t ecXYPointZ = 1420;
81 static const Int_t brZRPointR = 990;
82 static const Int_t sideDeltaPhi = 21;
84 std::vector<TString> fInfoCon;
106 Int_t lcCrystalFiredHL;
107 Int_t lwCrystalFiredHL;
108 Int_t fcCrystalFiredHL;
109 Int_t fsCrystalFiredHL;
double P(RecMdcKalTrack *trk)
virtual void SetFired(bool status=true)
virtual void ProjectECToSide(Double_t *p1, Double_t *newP)
virtual void SetZRPoint(Double_t *p1, Double_t *p2, Double_t *newP, Double_t r)
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual bool IsSideVisible()
virtual void ResetTimeCharge()
Double_t GetAngle(Double_t x, Double_t y)
virtual char * GetObjectInfo(Int_t px, Int_t py) const
virtual Double_t GetTime()
virtual void SetTime(Double_t time)
virtual void AddInfo(TString info)
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
virtual bool HasZRSection()
Double_t Range360(Double_t input)
virtual void SetHighlighted(bool status=true)
virtual bool IsXYVisible()
virtual void Paint(Option_t *option="")
virtual bool IsHighlighted()
virtual void SetCharge(Double_t charge)
virtual Double_t GetCharge()
virtual void SetXYPoint(Double_t *p1, Double_t *p2, Double_t *newP, Double_t z)