fImpParameter(0),
fImpParSideA(0),
fImpParSideC(0),
- fRecoFlag(0x0)
-
+ fRecoFlag(0x0),
+ fEnergyFlag(kFALSE),
+ fIsScalerOn(kFALSE)
{
//
// Default constructor
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;
+ }
}
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,
- UInt_t recoFlag) :
+ UInt_t recoFlag, Bool_t energyFlag, Bool_t scalerOn,
+ UInt_t* scaler, Int_t tdcData[32][4]) :
TObject(),
//
fImpParameter(b),
fImpParSideA(bSideA),
fImpParSideC(bSideC),
- fRecoFlag(recoFlag)
-
+ fRecoFlag(recoFlag),
+ fEnergyFlag(energyFlag),
+ fIsScalerOn(scalerOn)
{
//
// Constructor
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];
+ }
}
//______________________________________________________________________________
fImpParameter(oldreco.GetImpParameter()),
fImpParSideA(oldreco.GetImpParSideA()),
fImpParSideC(oldreco.GetImpParSideC()),
-fRecoFlag(oldreco.GetRecoFlag())
+fRecoFlag(oldreco.GetRecoFlag()),
+fEnergyFlag(oldreco.GetEnergyFlag()),
+fIsScalerOn(oldreco.IsScalerOn())
{
// Copy constructor
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;
}
//______________________________________________________________________________
//
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.,