]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ZDC/AliZDCReco.cxx
nano config for LHC10hx
[u/mrichter/AliRoot.git] / ZDC / AliZDCReco.cxx
index 9cd6d4cd49fcf0f2ec917500ea9a3646c4d2de14..4b9be7c2d2564050a133ad44c71163f58b39a0a1 100644 (file)
@@ -46,8 +46,9 @@ AliZDCReco::AliZDCReco() :
   fImpParameter(0),
   fImpParSideA(0),
   fImpParSideC(0),
-  fRecoFlag(0x0)
-
+  fRecoFlag(0x0),
+  fEnergyFlag(kFALSE),
+  fIsScalerOn(kFALSE)
 { 
   //
   // Default constructor
@@ -60,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;
+  }
 }
   
 
@@ -73,7 +79,8 @@ AliZDCReco::AliZDCReco(
      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(),
   //
@@ -90,8 +97,9 @@ AliZDCReco::AliZDCReco(
   fImpParameter(b),
   fImpParSideA(bSideA),
   fImpParSideC(bSideC),
-  fRecoFlag(recoFlag)
-
+  fRecoFlag(recoFlag),
+  fEnergyFlag(energyFlag),
+  fIsScalerOn(scalerOn)
 { 
   //
   // Constructor
@@ -112,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];
+  }
 }
 
 //______________________________________________________________________________
@@ -131,7 +142,9 @@ fNPartSideC(oldreco.GetNPartSideC()),
 fImpParameter(oldreco.GetImpParameter()),      
 fImpParSideA(oldreco.GetImpParSideA()),      
 fImpParSideC(oldreco.GetImpParSideC()),
-fRecoFlag(oldreco.GetRecoFlag())    
+fRecoFlag(oldreco.GetRecoFlag()),
+fEnergyFlag(oldreco.GetEnergyFlag()),
+fIsScalerOn(oldreco.IsScalerOn())    
 {
   // Copy constructor
 
@@ -163,6 +176,71 @@ fRecoFlag(oldreco.GetRecoFlag())
   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;
 }
 
 //______________________________________________________________________________
@@ -172,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.,