00001
00002 #ifndef CANDSHIELDSR_H
00003 #define CANDSHIELDSR_H
00004
00005 #include "CandShield/ShieldGeom.h"
00006 #include "CandNtupleSR/NtpSRTrack.h"
00007 #include "CandNtupleSR/NtpSRVertex.h"
00008
00009
00010 class CandShieldSR {
00011
00012 public:
00013 CandShieldSR(Double_t vtx0_in, Double_t vtx1_in, Double_t vtx2_in, Double_t vtxCos0_in, Double_t vtxCos1_in, Double_t vtxCos2_in, ShieldGeom* sg);
00014 CandShieldSR(NtpSRTrack* ntpTrack,ShieldGeom* sg);
00015 CandShieldSR(const NtpSRVertex& ntpVtx, const NtpSRVertex& ntpEnd,ShieldGeom *sg);
00016 ~CandShieldSR();
00017 Int_t GetCandShieldPlane(Int_t id) const;
00018 Int_t GetCandShieldStrip0(Int_t id) const;
00019 Double_t GetCandShieldInter_X(Int_t id) const;
00020 Double_t GetCandShieldInter_Y(Int_t id) const;
00021 Double_t GetCandShieldInter_Z(Int_t id) const;
00022 Double_t GetInterCenterDis(Int_t id) const;
00023 Int_t GetStripInPlank(Int_t id, Int_t plorst) const;
00024 Int_t GetCandShieldPlane() const;
00025 Int_t GetCandShieldStrip0() const;
00026 Double_t GetCandShieldInter_X() const;
00027 Double_t GetCandShieldInter_Y() const;
00028 Double_t GetCandShieldInter_Z() const;
00029 Double_t GetInterCenterDis() const;
00030 Int_t GetStripInPlank(Int_t plorst) const;
00031 Bool_t IsVetoHit() const;
00032 Int_t HitsInShield() const;
00033
00034 private:
00035 Double_t vtx0;
00036 Double_t vtx1;
00037 Double_t vtx2;
00038 Double_t vtxCos0;
00039 Double_t vtxCos1;
00040 Double_t vtxCos2;
00041 Int_t PlaneArray[168];
00042 Double_t min_dpv[13];
00043 Double_t inter0;
00044 Double_t inter1;
00045 Double_t inter2;
00046 Double_t inter0_chosen[13];
00047 Double_t inter1_chosen[13];
00048 Double_t inter2_chosen[13];
00049 Int_t proj_plane[13];
00050 Int_t proj_plank[13];
00051 Int_t st_strip_chosen[13];
00052 Int_t st_plane_chosen[13];
00053 Int_t hit_cont;
00054 Int_t hit_closest;
00055 Bool_t specialPlank(Int_t pl, Int_t pk);
00056 };
00057
00058 #endif