X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=ZDC%2FAliZDCReco.cxx;h=4b9be7c2d2564050a133ad44c71163f58b39a0a1;hb=008e940283376d6e2f48100966de47b72f943d82;hp=cc0c9fb4dbc5b9b7132f3367ce10c960aa783a66;hpb=73bc3a3ff802a9cf3ab68d3d26815a7b48e840d2;p=u%2Fmrichter%2FAliRoot.git diff --git a/ZDC/AliZDCReco.cxx b/ZDC/AliZDCReco.cxx index cc0c9fb4dbc..4b9be7c2d25 100644 --- a/ZDC/AliZDCReco.cxx +++ b/ZDC/AliZDCReco.cxx @@ -45,8 +45,10 @@ AliZDCReco::AliZDCReco() : fNPartSideC(0), fImpParameter(0), fImpParSideA(0), - fImpParSideC(0) - + fImpParSideC(0), + fRecoFlag(0x0), + fEnergyFlag(kFALSE), + fIsScalerOn(kFALSE) { // // Default constructor @@ -59,6 +61,11 @@ AliZDCReco::AliZDCReco() : fPMRef1[i] = fPMRef2[i] = 0.; } } + + for(Int_t i=0; i<32; i++){ + fZDCScaler[i] = 0; + for(Int_t ij=0; ij<4; ij++) fZDCTDCData[i][ij] = 0; + } } @@ -71,7 +78,9 @@ AliZDCReco::AliZDCReco( Int_t detspnSideA, Int_t detsppSideA, Int_t detspnSideC, Int_t detsppSideC, Int_t trsp, Int_t trspSideA,Int_t trspSideC, Int_t npart, Int_t npartSideA, Int_t npartSideC, - Float_t b, Float_t bSideA, Float_t bSideC) : + Float_t b, Float_t bSideA, Float_t bSideC, + UInt_t recoFlag, Bool_t energyFlag, Bool_t scalerOn, + UInt_t* scaler, Int_t tdcData[32][4]) : TObject(), // @@ -87,8 +96,10 @@ AliZDCReco::AliZDCReco( fNPartSideC(npartSideC), fImpParameter(b), fImpParSideA(bSideA), - fImpParSideC(bSideC) - + fImpParSideC(bSideC), + fRecoFlag(recoFlag), + fEnergyFlag(energyFlag), + fIsScalerOn(scalerOn) { // // Constructor @@ -109,7 +120,10 @@ AliZDCReco::AliZDCReco( fPMRef2[j] = ref2[j]; } } - + for(Int_t j=0; j<32; j++){ + fZDCScaler[j] = scaler[j]; + for(Int_t y=0; y<4; y++) fZDCTDCData[j][y] = tdcData[j][y]; + } } //______________________________________________________________________________ @@ -127,7 +141,10 @@ fNPartSideA(oldreco.GetNPartSideA()), fNPartSideC(oldreco.GetNPartSideC()), fImpParameter(oldreco.GetImpParameter()), fImpParSideA(oldreco.GetImpParSideA()), -fImpParSideC(oldreco.GetImpParSideC()) +fImpParSideC(oldreco.GetImpParSideC()), +fRecoFlag(oldreco.GetRecoFlag()), +fEnergyFlag(oldreco.GetEnergyFlag()), +fIsScalerOn(oldreco.IsScalerOn()) { // Copy constructor @@ -159,6 +176,71 @@ fImpParSideC(oldreco.GetImpParSideC()) fPMRef1[1] = oldreco.GetPMRef1LRsignal(); fPMRef2[0] = oldreco.GetPMRef2HRsignal(); fPMRef2[1] = oldreco.GetPMRef2LRsignal(); + for(Int_t j=0; j<32; j++){ + fZDCScaler[j] = oldreco.GetZDCScaler(j); + for(Int_t y=0; y<4; y++) fZDCTDCData[j][y] = oldreco.GetZDCTDCData(j, y); + } +} + + +//______________________________________________________________________________ +AliZDCReco &AliZDCReco::operator= (const AliZDCReco &reco) +{ + // assignment operator + if(&reco == this) return *this; + + fNDetSpecNSideA = reco.GetNDetSpecNSideA(); + fNDetSpecPSideA = reco.GetNDetSpecPSideA(); + fNDetSpecNSideC = reco.GetNDetSpecNSideC(); + fNDetSpecPSideC = reco.GetNDetSpecPSideC(); + fNTrueSpectators = reco.GetNTrueSpectators(); + fNTrueSpecSideA = reco.GetNTrueSpecSideA(); + fNTrueSpecSideC = reco.GetNTrueSpecSideC(); + fNParticipants = reco.GetNParticipants(); + fNPartSideA = reco.GetNPartSideA(); + fNPartSideC = reco.GetNPartSideC(); + fImpParameter = reco.GetImpParameter(); + fImpParSideA = reco.GetImpParSideA(); + fImpParSideC = reco.GetImpParSideC(); + fRecoFlag = reco.GetRecoFlag(); + fEnergyFlag = reco.GetEnergyFlag(); + fIsScalerOn = reco.IsScalerOn(); + + fZN1Energy[0] = reco.GetZN1HREnergy(); + fZP1Energy[0] = reco.GetZP1HREnergy(); + fZN2Energy[0] = reco.GetZN2HREnergy(); + fZP2Energy[0] = reco.GetZP2HREnergy(); + // + fZN1Energy[1] = reco.GetZN1LREnergy(); + fZP1Energy[1] = reco.GetZP1LREnergy(); + fZN2Energy[1] = reco.GetZN2LREnergy(); + fZP2Energy[1] = reco.GetZP2LREnergy(); + // + for(Int_t i=0; i<5; i++){ + fZN1EnTow[i] = reco.GetZN1HREnTow(i); + fZP1EnTow[i] = reco.GetZP1HREnTow(i); + fZN2EnTow[i] = reco.GetZN2HREnTow(i); + fZP2EnTow[i] = reco.GetZP2HREnTow(i); + fZN1EnTow[i+5] = reco.GetZN1LREnTow(i); + fZP1EnTow[i+5] = reco.GetZP1LREnTow(i); + fZN2EnTow[i+5] = reco.GetZN2LREnTow(i); + fZP2EnTow[i+5] = reco.GetZP2LREnTow(i); + } + fZEM1signal[0] = reco.GetZEM1HRsignal(); + fZEM1signal[1] = reco.GetZEM1LRsignal(); + fZEM2signal[0] = reco.GetZEM2HRsignal(); + fZEM2signal[1] = reco.GetZEM2LRsignal(); + fPMRef1[0] = reco.GetPMRef1HRsignal(); + fPMRef1[1] = reco.GetPMRef1LRsignal(); + fPMRef2[0] = reco.GetPMRef2HRsignal(); + fPMRef2[1] = reco.GetPMRef2LRsignal(); + for(Int_t j=0; j<32; j++){ + fZDCScaler[j] = reco.GetZDCScaler(j); + for(Int_t y=0; y<4; y++) fZDCTDCData[j][y] = reco.GetZDCTDCData(j, y); + } + + + return *this; } //______________________________________________________________________________ @@ -168,14 +250,14 @@ void AliZDCReco::Print(Option_t *) const { // printf(" ****************** AliZDCReco object ******************\n" " --------------- side A ---------------\n" - " E_{ZN} = %f TeV, E_{ZP} = %f TeV, " - " E_{ZEM1} = %f TeV, E_{ZEM2} = %f TeV\n " - " N_{spec n}^{DET} = %d, N_{spec p}^{DET} = %d," - " N_{part} = %d, b = %1.4f fm\n" + " E_ZN = %1.2f TeV, E_ZP = %1.2f TeV, " + " E_ZEM1 = %1.2f TeV, E_ZEM2 = %1.2f TeV\n " + " N_spec_n = %d, N_spec_p = %d," + " N_part = %d, b = %1.4f fm\n" " --------------- side C ---------------\n" - " E_{ZN} = %f TeV, E_{ZP} = %f TeV\n " - " N_{spec n}^{DET} = %d, N_{spec p}^{DET} = %d," - " N_{part} = %d, b = %1.4f fm\n" + " E_ZN = %1.2f TeV, E_ZP = %1.2f TeV, " + " N_spec_n = %d, N_spec_p = %d," + " N_part = %d, b = %1.4f fm\n" " *******************************************************\n", fZN2Energy[0]/1000., fZP2Energy[0]/1000., fZEM1signal[0]/1000.,fZEM2signal[0]/1000.,