From ff254193dceeedf3727563d6ad3c6568e2cc39a7 Mon Sep 17 00:00:00 2001 From: markus Date: Tue, 16 Oct 2007 09:12:47 +0000 Subject: [PATCH] Place holder for QTheta created. --- STEER/AliAODHeader.cxx | 66 ++++++++++++++++++++++++++++++++++++++++-- STEER/AliAODHeader.h | 8 +++++ 2 files changed, 71 insertions(+), 3 deletions(-) diff --git a/STEER/AliAODHeader.cxx b/STEER/AliAODHeader.cxx index 077d9068a4a..5057696e96f 100644 --- a/STEER/AliAODHeader.cxx +++ b/STEER/AliAODHeader.cxx @@ -35,6 +35,8 @@ AliAODHeader::AliAODHeader() : fZDCN2Energy(-999.), fZDCP2Energy(-999.), fZDCEMEnergy(-999.), + fNQTheta(0), + fQTheta(0x0), fTriggerMask(0), fRunNumber(-999), fRefMult(-999), @@ -66,8 +68,10 @@ AliAODHeader::AliAODHeader(Int_t nRun, fZDCN2Energy(-999.), fZDCP2Energy(-999.), fZDCEMEnergy(-999.), + fNQTheta(0), + fQTheta(0x0), fTriggerMask(0), - fRunNumber(nRun), + fRunNumber(nRun), fRefMult(-999), fRefMultPos(-999), fRefMultNeg(-999), @@ -112,6 +116,8 @@ AliAODHeader::AliAODHeader(Int_t nRun, fZDCN2Energy(n2Energy), fZDCP2Energy(p2Energy), fZDCEMEnergy(emEnergy), + fNQTheta(0), + fQTheta(0x0), fTriggerMask(trigMask), fRunNumber(nRun), fRefMult(refMult), @@ -133,6 +139,8 @@ AliAODHeader::AliAODHeader(Int_t nRun, AliAODHeader::~AliAODHeader() { // destructor + + RemoveQTheta(); } //______________________________________________________________________________ @@ -146,6 +154,8 @@ AliAODHeader::AliAODHeader(const AliAODHeader& hdr) : fZDCN2Energy(hdr.fZDCN2Energy), fZDCP2Energy(hdr.fZDCP2Energy), fZDCEMEnergy(hdr.fZDCEMEnergy), + fNQTheta(0), + fQTheta(0x0), fTriggerMask(hdr.fTriggerMask), fRunNumber(hdr.fRunNumber), fRefMult(hdr.fRefMult), @@ -161,6 +171,7 @@ AliAODHeader::AliAODHeader(const AliAODHeader& hdr) : SetName(hdr.fName); SetTitle(hdr.fTitle); + SetQTheta(hdr.fQTheta, hdr.fNQTheta); } //______________________________________________________________________________ @@ -189,14 +200,56 @@ AliAODHeader& AliAODHeader::operator=(const AliAODHeader& hdr) fPeriodNumber = hdr.fPeriodNumber; fBunchCrossNumber = hdr.fBunchCrossNumber; fTriggerCluster = hdr.fTriggerCluster; + + SetName(hdr.fName); + SetTitle(hdr.fTitle); + SetQTheta(hdr.fQTheta, hdr.fNQTheta); } - SetName(hdr.fName); - SetTitle(hdr.fTitle); return *this; } +//______________________________________________________________________________ +void AliAODHeader::SetQTheta(Double_t *QTheta, UInt_t size) +{ + if (QTheta && size>0) { + if (size != (UInt_t)fNQTheta) { + RemoveQTheta(); + fNQTheta = size; + fQTheta = new Double_t[fNQTheta]; + } + + for (Int_t i = 0; i < fNQTheta; i++) { + fQTheta[i] = QTheta[i]; + } + } else { + RemoveQTheta(); + } + + return; +} + +//______________________________________________________________________________ +Double_t AliAODHeader::GetQTheta(UInt_t i) const +{ + if (fQTheta && i < (UInt_t)fNQTheta) { + return fQTheta[i]; + } else { + return -999.; + } +} + +//______________________________________________________________________________ +void AliAODHeader::RemoveQTheta() +{ + delete[] fQTheta; + fQTheta = 0x0; + fNQTheta = 0; + + return; +} + //______________________________________________________________________________ void AliAODHeader::Print(Option_t* /*option*/) const { @@ -222,4 +275,11 @@ void AliAODHeader::Print(Option_t* /*option*/) const printf("ref. Multiplicity (pos) : %d\n", fRefMultPos); printf("ref. Multiplicity (neg) : %d\n", fRefMultNeg); + if (fQTheta) { + for (UInt_t i = 0; i<(UInt_t)fNQTheta; i++) { + printf("QTheta[%d] : %d\n", i, GetQTheta(i)); + } + } + + return; } diff --git a/STEER/AliAODHeader.h b/STEER/AliAODHeader.h index 7a0da9a1ce3..a06bd7c0fd4 100644 --- a/STEER/AliAODHeader.h +++ b/STEER/AliAODHeader.h @@ -62,6 +62,9 @@ class AliAODHeader : public AliVHeader { Int_t GetRefMultiplicity() const { return fRefMult; } Int_t GetRefMultiplicityPos() const { return fRefMultPos; } Int_t GetRefMultiplicityNeg() const { return fRefMultNeg; } + + Double_t GetQTheta(UInt_t i) const; + UInt_t GetNQTheta() const { return (UInt_t)fNQTheta; } void SetRunNumber(Int_t nRun) { fRunNumber = nRun; } void SetBunchCrossNumber(UShort_t nBx) { fBunchCrossNumber = nBx; } @@ -83,6 +86,9 @@ class AliAODHeader : public AliVHeader { void SetRefMultiplicityPos(Int_t refMultPos) { fRefMultPos = refMultPos; } void SetRefMultiplicityNeg(Int_t refMultNeg) { fRefMultNeg = refMultNeg; } + void SetQTheta(Double_t *QTheta, UInt_t size = 5); + void RemoveQTheta(); + void Print(Option_t* option = "") const; @@ -96,6 +102,8 @@ class AliAODHeader : public AliVHeader { Double32_t fZDCN2Energy; // reconstructed energy in the neutron2 ZDC Double32_t fZDCP2Energy; // reconstructed energy in the proton2 ZDC Double32_t fZDCEMEnergy; // reconstructed energy in the electromagnetic ZDC + Int_t fNQTheta; // number of QTheta elements + Double32_t *fQTheta; // [fNQTheta] values to store Lee-Yang-Zeros ULong64_t fTriggerMask; // Trigger Type (mask) Int_t fRunNumber; // Run Number Int_t fRefMult; // reference multiplicity -- 2.43.0