00001 00002 #include "FarDetStrip.h" 00003 #include "FarDetStripHandle.h" 00004 00005 #include "Algorithm/AlgHandle.h" 00006 00007 ClassImp(FarDetStrip) 00008 00009 FarDetStripHandle FarDetStrip::MakeCandidate(AlgHandle &ah,CandContext &cx) 00010 { 00011 FarDetStripHandle cth; 00012 new FarDetStrip(ah, cth, cx); 00013 return cth; 00014 } 00015 00016 FarDetStrip::FarDetStrip() 00017 { 00018 fPlane = -1; 00019 fStrip = -1; 00020 00021 for(Int_t i=0;i<2;i++){ 00022 fChargeAdc[i] = 0.0; 00023 fChargeSigLin[i] = 0.0; 00024 fChargeSigCorr[i] = 0.0; 00025 fChargePE[i] = 0.0; 00026 fGreenFibre[i] = 0.0; 00027 fWlsPigtail[i] = 0.0; 00028 fClearFibre[i] = 0.0; 00029 } 00030 for(Int_t i=0;i<3;i++){ 00031 fRawTime[i] = 0.0; 00032 fCalTime[i] = 0.0; 00033 fXtalk[i] = 0; 00034 } 00035 00036 fHalfLength = 0.0; 00037 } 00038 00039 FarDetStrip::FarDetStrip(AlgHandle &ah) : 00040 CandStrip(ah) 00041 { 00042 fPlane = -1; 00043 fStrip = -1; 00044 00045 for(Int_t i=0;i<2;i++){ 00046 fChargeAdc[i] = 0.0; 00047 fChargeSigLin[i] = 0.0; 00048 fChargeSigCorr[i] = 0.0; 00049 fChargePE[i] = 0.0; 00050 fGreenFibre[i] = 0.0; 00051 fWlsPigtail[i] = 0.0; 00052 fClearFibre[i] = 0.0; 00053 } 00054 for(Int_t i=0;i<3;i++){ 00055 fRawTime[i] = 0.0; 00056 fCalTime[i] = 0.0; 00057 fXtalk[i] = 0; 00058 } 00059 00060 fHalfLength = 0.0; 00061 } 00062 00063 FarDetStrip::FarDetStrip(AlgHandle &ah, CandHandle &ch, CandContext &cx) : 00064 CandStrip(ah) 00065 { 00066 fPlane = -1; 00067 fStrip = -1; 00068 00069 for(Int_t i=0;i<2;i++){ 00070 fChargeAdc[i] = 0.0; 00071 fChargeSigLin[i] = 0.0; 00072 fChargeSigCorr[i] = 0.0; 00073 fChargePE[i] = 0.0; 00074 fGreenFibre[i] = 0.0; 00075 fWlsPigtail[i] = 0.0; 00076 fClearFibre[i] = 0.0; 00077 } 00078 for(Int_t i=0;i<3;i++){ 00079 fRawTime[i] = 0.0; 00080 fCalTime[i] = 0.0; 00081 fXtalk[i] = 0; 00082 } 00083 00084 fHalfLength = 0.0; 00085 00086 SetLocalHandle(new FarDetStripHandle(this)); 00087 { FarDetStripHandle cth(this); ch = cth; } 00088 ah.RunAlg(ch, cx); 00089 } 00090 00091 FarDetStrip::FarDetStrip(const FarDetStrip &rhs) : 00092 CandStrip(rhs) 00093 { 00094 fPlane = rhs.fPlane; 00095 fStrip = rhs.fStrip; 00096 00097 for(Int_t i=0;i<2;i++){ 00098 fChargeAdc[i] = rhs.fChargeAdc[i]; 00099 fChargeSigLin[i] = rhs.fChargeSigLin[i]; 00100 fChargeSigCorr[i] = rhs.fChargeSigCorr[i]; 00101 fChargePE[i] = rhs.fChargePE[i]; 00102 fGreenFibre[i] = rhs.fGreenFibre[i]; 00103 fWlsPigtail[i] = rhs.fWlsPigtail[i]; 00104 fClearFibre[i] = rhs.fClearFibre[i]; 00105 } 00106 for(Int_t i=0;i<3;i++){ 00107 fRawTime[i] = rhs.fRawTime[i]; 00108 fCalTime[i] = rhs.fCalTime[i]; 00109 fXtalk[i] = rhs.fXtalk[i]; 00110 } 00111 00112 fHalfLength = 0.0; 00113 } 00114 00115 FarDetStrip::~FarDetStrip() 00116 { 00117 00118 } 00119 00120 FarDetStrip* FarDetStrip::Dup() const 00121 { 00122 FarDetStrip *cb = new FarDetStrip(*this); 00123 cb->CreateLocalHandle(); 00124 TIter iterdau = GetDaughterIterator(); 00125 CandHandle *dau; 00126 while ((dau=(CandHandle *) iterdau())) cb->AddDaughterLink(*dau); 00127 return cb; 00128 } 00129 00130 void FarDetStrip::CreateLocalHandle() 00131 { 00132 this->SetLocalHandle(new FarDetStripHandle(this)); 00133 }
1.3.9.1