New classes to put all ESD contents on branches
authorkleinb <kleinb@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 14 Jun 2007 10:51:03 +0000 (10:51 +0000)
committerkleinb <kleinb@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 14 Jun 2007 10:51:03 +0000 (10:51 +0000)
STEER/AliESDCaloTrigger.cxx [new file with mode: 0644]
STEER/AliESDCaloTrigger.h [new file with mode: 0644]
STEER/AliESDHeader.cxx [new file with mode: 0644]
STEER/AliESDHeader.h [new file with mode: 0644]
STEER/AliESDRun.cxx [new file with mode: 0644]
STEER/AliESDRun.h [new file with mode: 0644]
STEER/AliESDTZERO.cxx [new file with mode: 0644]
STEER/AliESDTZERO.h [new file with mode: 0644]
STEER/AliESDZDC.cxx [new file with mode: 0644]
STEER/AliESDZDC.h [new file with mode: 0644]
STEER/libESD.pkg

diff --git a/STEER/AliESDCaloTrigger.cxx b/STEER/AliESDCaloTrigger.cxx
new file mode 100644 (file)
index 0000000..d0ec92c
--- /dev/null
@@ -0,0 +1,82 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+//-------------------------------------------------------------------------
+//                      Implementation of   Class AliESDCaloTrigger
+//   This is a class that summarizes the Trigger Data of EMCal and Phos
+//   for the ESD   
+//   Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch 
+//-------------------------------------------------------------------------
+
+
+#include "AliESDCaloTrigger.h"
+
+ClassImp(AliESDCaloTrigger)
+
+AliESDCaloTrigger::AliESDCaloTrigger() : 
+  TNamed(),
+  fTriggerAmplitudes(0x0),
+  fTriggerPosition(0x0)
+{
+}
+
+AliESDCaloTrigger::AliESDCaloTrigger(const AliESDCaloTrigger &ctrig) : 
+  TNamed(ctrig),
+  fTriggerAmplitudes(ctrig.fTriggerAmplitudes),
+  fTriggerPosition(ctrig.fTriggerPosition)
+{
+}
+
+AliESDCaloTrigger::~AliESDCaloTrigger()
+{
+  delete fTriggerAmplitudes; fTriggerAmplitudes = 0;
+  delete fTriggerPosition; fTriggerPosition = 0;
+}
+
+AliESDCaloTrigger& AliESDCaloTrigger::operator=(const AliESDCaloTrigger& ctrig)
+{
+  // assigment operator
+  if(this!=&ctrig) {
+    TNamed::operator=(ctrig);
+    // CKB dont't want to create leak if fTriggerAmp points to 
+    // somthing already, use new with placement
+    if(fTriggerAmplitudes){
+      fTriggerAmplitudes = new(fTriggerAmplitudes) TArrayF(*ctrig.fTriggerAmplitudes);
+    }
+    else{
+      fTriggerAmplitudes = new TArrayF(*ctrig.fTriggerAmplitudes);
+    }
+    if(fTriggerPosition){
+      fTriggerPosition = new(fTriggerPosition) TArrayF(*ctrig.fTriggerPosition);
+    }
+    else{
+      fTriggerPosition = new TArrayF(*ctrig.fTriggerPosition);
+    }
+  } 
+  return *this;
+}
+
+void AliESDCaloTrigger::Reset()
+{
+  // simple reset
+  if( fTriggerAmplitudes){  
+    fTriggerAmplitudes->Reset();
+  }
+  if( fTriggerPosition){
+    fTriggerPosition->Reset();
+  }
+}
+
+
diff --git a/STEER/AliESDCaloTrigger.h b/STEER/AliESDCaloTrigger.h
new file mode 100644 (file)
index 0000000..3e05f21
--- /dev/null
@@ -0,0 +1,52 @@
+// -*- mode: C++ -*- 
+#ifndef ALIESDCALOTRIGGER_H
+#define ALIESDCALOTRIGGER_H
+
+
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+
+//-------------------------------------------------------------------------
+//                          Class AliESDCaloTrigger
+//   This is a class that summarizes the Trigger Data of EMCal and Phos
+//   for the ESD   
+//   Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch 
+//-------------------------------------------------------------------------
+
+
+
+#include <TNamed.h>
+#include <TArrayF.h>
+
+
+
+
+class AliESDCaloTrigger : public TNamed {
+public:
+  AliESDCaloTrigger();
+  AliESDCaloTrigger(const  AliESDCaloTrigger& ctrig);
+  AliESDCaloTrigger& operator=(const  AliESDCaloTrigger& ctrig);
+  virtual ~AliESDCaloTrigger();
+
+  // does this create mem leak? CKB use new with placement?
+  void AddTriggerPosition(const TArrayF & array)  { fTriggerPosition     = new TArrayF(array); }
+  void AddTriggerAmplitudes(const TArrayF & array) { fTriggerAmplitudes  = new TArrayF(array); }
+  
+  void Reset(); 
+
+  TArrayF* GetTriggerPosition()    {return fTriggerPosition;}
+  TArrayF* GetTriggerAmplitudes()  {return fTriggerPosition;}
+  
+
+private:
+
+  TArrayF *fTriggerAmplitudes; // Amplitude of PHOS or EMCal Trigger
+  TArrayF *fTriggerPosition;   // Position of PHOS or EMCal Trigger
+
+  ClassDef(AliESDCaloTrigger,1)
+};
+
+
+#endif
+
diff --git a/STEER/AliESDHeader.cxx b/STEER/AliESDHeader.cxx
new file mode 100644 (file)
index 0000000..40e5e31
--- /dev/null
@@ -0,0 +1,96 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+//-------------------------------------------------------------------------
+//                      Implementation of   Class AliESDHeader
+//   Header data
+//   for the ESD   
+//   Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch 
+//-------------------------------------------------------------------------
+
+#include "AliESDHeader.h"
+
+
+ClassImp(AliESDHeader)
+
+//______________________________________________________________________________
+AliESDHeader::AliESDHeader() :
+  TObject(),
+  fTriggerMask(0),
+  fOrbitNumber(0),
+  fTimeStamp(0),
+  fEventType(0),
+  fEventNumberInFile(0),
+  fBunchCrossNumber(0),
+  fTriggerCluster(0)
+{
+}
+
+
+AliESDHeader::AliESDHeader(const AliESDHeader &header) :
+  TObject(header),
+  fTriggerMask(header.fTriggerMask),
+  fOrbitNumber(header.fOrbitNumber),
+  fTimeStamp(header.fTimeStamp),
+  fEventType(header.fEventType),
+  fEventNumberInFile(header.fEventNumberInFile),
+  fBunchCrossNumber(header.fBunchCrossNumber),
+  fTriggerCluster(header.fTriggerCluster)
+{
+  // copy constructor
+}
+
+AliESDHeader& AliESDHeader::operator=(const AliESDHeader &header)
+{ 
+  // assigment operator
+  if(this!=&header) {
+    TObject::operator=(header);
+    fTriggerMask = header.fTriggerMask;
+    fOrbitNumber = header.fOrbitNumber;
+    fTimeStamp = header.fTimeStamp;
+    fEventType = header.fEventType;
+    fEventNumberInFile = header.fEventNumberInFile;
+    fBunchCrossNumber = header.fBunchCrossNumber;
+    fTriggerCluster = header.fTriggerCluster;
+  } 
+  return *this;
+}
+
+
+
+//______________________________________________________________________________
+void AliESDHeader::Reset()
+{
+  // reset all data members
+  fTriggerMask       = 0;
+  fOrbitNumber       = 0;
+  fTimeStamp         = 0;
+  fEventType         = 0;
+  fEventNumberInFile = 0;
+  fBunchCrossNumber  = 0;
+  fTriggerCluster    = 0;
+}
+
+//______________________________________________________________________________
+void AliESDHeader::Print(const Option_t *) const
+{
+  // Print some data members
+  printf("Event # %d in file Bunch crossing # %d Orbit # %d Trigger %lld \n",
+        GetEventNumberInFile(),
+        GetBunchCrossNumber(),
+        GetOrbitNumber(),
+        GetTriggerMask());
+}
+
diff --git a/STEER/AliESDHeader.h b/STEER/AliESDHeader.h
new file mode 100644 (file)
index 0000000..2561d70
--- /dev/null
@@ -0,0 +1,57 @@
+// -*- mode: C++ -*- 
+#ifndef ALIESDHEADER_H
+#define ALIESDHEADER_H
+
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+//-------------------------------------------------------------------------
+//                      Class AliESDHeader
+//   Header data
+//   for the ESD   
+//   Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch 
+//-------------------------------------------------------------------------
+
+#include <TObject.h>
+
+class AliESDHeader: public TObject {
+public:
+  AliESDHeader();
+  AliESDHeader(const AliESDHeader& header);
+  AliESDHeader& operator=(const AliESDHeader& header);
+
+  void      SetTriggerMask(ULong64_t n) {fTriggerMask=n;}
+  void      SetOrbitNumber(UInt_t n) {fOrbitNumber=n;}
+  void      SetTimeStamp(UInt_t timeStamp){fTimeStamp = timeStamp;}
+  void      SetEventType(UInt_t eventType){fEventType = eventType;}
+  void      SetEventNumberInFile(Int_t n) {fEventNumberInFile=n;}
+  void      SetBunchCrossNumber(UShort_t n) {fBunchCrossNumber=n;}
+  void      SetTriggerCluster(UChar_t n) {fTriggerCluster = n;}
+
+  ULong64_t GetTriggerMask() const {return fTriggerMask;}
+  UInt_t    GetOrbitNumber() const {return fOrbitNumber;}
+  UInt_t    GetTimeStamp()  const { return fTimeStamp;}
+  UInt_t    GetEventType()  const { return fEventType;}
+  Int_t     GetEventNumberInFile() const {return fEventNumberInFile;}
+  UShort_t  GetBunchCrossNumber() const {return fBunchCrossNumber;}
+  UChar_t   GetTriggerCluster() const {return fTriggerCluster;}
+
+
+
+  void      Reset();
+  void    Print(const Option_t *opt=0) const;
+private:
+
+  // Event Identification
+  ULong64_t    fTriggerMask;       // Trigger Type (mask)
+  UInt_t       fOrbitNumber;       // Orbit Number
+  UInt_t       fTimeStamp;         // Time stamp
+  UInt_t       fEventType;         // Type of Event
+  Int_t        fEventNumberInFile; // running Event count in the file
+  UShort_t     fBunchCrossNumber;  // Bunch Crossing Number
+  UChar_t      fTriggerCluster;    // Trigger cluster (mask)
+  
+  ClassDef(AliESDHeader,1)
+};
+
+#endif
diff --git a/STEER/AliESDRun.cxx b/STEER/AliESDRun.cxx
new file mode 100644 (file)
index 0000000..da68600
--- /dev/null
@@ -0,0 +1,101 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+#include "AliESDRun.h"
+#include "AliESDVertex.h"
+
+//-------------------------------------------------------------------------
+//                     Implementation Class AliESDRun
+//   Run by run data
+//   for the ESD   
+//   Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch 
+//-------------------------------------------------------------------------
+
+ClassImp(AliESDRun)  
+//______________________________________________________________________________
+AliESDRun::AliESDRun() :
+  fRunNumber(0),
+  fPeriodNumber(0),
+  fRecoVersion(0), 
+  fMagneticField(0)
+{
+  for (Int_t i=0; i<2; i++) fDiamondXY[i]=0.;
+  for (Int_t i=0; i<3; i++) fDiamondCovXY[i]=0.;
+}
+
+//______________________________________________________________________________
+AliESDRun::AliESDRun(const AliESDRun &esd) :
+  TObject(esd),
+  fRunNumber(esd.fRunNumber),
+  fPeriodNumber(esd.fPeriodNumber),
+  fRecoVersion(esd.fRecoVersion),
+  fMagneticField(esd.fMagneticField)
+{ 
+  // Copy constructor
+  for (Int_t i=0; i<2; i++) fDiamondXY[i]=esd.fDiamondXY[i];
+  for (Int_t i=0; i<3; i++) fDiamondCovXY[i]=esd.fDiamondCovXY[i];
+}
+
+//______________________________________________________________________________
+AliESDRun& AliESDRun::operator=(const AliESDRun &esd)
+{ 
+  // assigment operator
+  if(this!=&esd) {
+    TObject::operator=(esd);
+    fRunNumber=esd.fRunNumber;
+    fPeriodNumber=esd.fPeriodNumber;
+    fRecoVersion=esd.fRecoVersion;
+    fMagneticField=esd.fMagneticField;
+    for (Int_t i=0; i<2; i++) fDiamondXY[i]=esd.fDiamondXY[i];
+    for (Int_t i=0; i<3; i++) fDiamondCovXY[i]=esd.fDiamondCovXY[i];
+  } 
+  return *this;
+}
+
+void AliESDRun::SetDiamond(const AliESDVertex *vertex) {
+  // set the interaction diamond
+  fDiamondXY[0]=vertex->GetXv();
+  fDiamondXY[1]=vertex->GetYv();
+  Double32_t cov[6];
+  vertex->GetCovMatrix(cov);
+  fDiamondCovXY[0]=cov[0];
+  fDiamondCovXY[1]=cov[1];
+  fDiamondCovXY[2]=cov[2];
+}
+
+
+//______________________________________________________________________________
+void AliESDRun::Print(const Option_t *) const
+{
+  // Print some data members
+  printf("Mean vertex in RUN %d: X=%.4f Y=%.4f cm\n",
+        GetRunNumber(),GetDiamondX(),GetDiamondY());
+  printf("Magnetic field = %f T\n",
+        GetMagneticField());
+  printf("Event from reconstruction version %d \n",fRecoVersion);
+}
+
+void AliESDRun::Reset() 
+{
+  // reset data members
+  fRunNumber = 0;
+  fPeriodNumber = 0;
+  fRecoVersion = 0;
+  fMagneticField = 0;
+  for (Int_t i=0; i<2; i++) fDiamondXY[i]=0.;
+  for (Int_t i=0; i<3; i++) fDiamondCovXY[i]=0.;
+}
+
diff --git a/STEER/AliESDRun.h b/STEER/AliESDRun.h
new file mode 100644 (file)
index 0000000..2f3a545
--- /dev/null
@@ -0,0 +1,55 @@
+// -*- mode: C++ -*- 
+#ifndef ALIESDRUN_H
+#define ALIESDRUN_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+//-------------------------------------------------------------------------
+//                     Implementation Class AliESDRun
+//   Run by run data
+//   for the ESD   
+//   Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch 
+//-------------------------------------------------------------------------
+
+#include <TObject.h>
+
+class AliESDVertex;
+
+class AliESDRun: public TObject {
+public:
+
+  AliESDRun();
+  AliESDRun(const AliESDRun& esd);
+  AliESDRun& operator=(const AliESDRun& esd);
+
+
+  Int_t   GetRunNumber() const {return fRunNumber;}
+  void    SetRunNumber(Int_t n) {fRunNumber=n;}
+  void    SetMagneticField(Float_t mf){fMagneticField = mf;}
+  Float_t GetMagneticField() const {return fMagneticField;}
+  Int_t   GetPeriodNumber() const {return fPeriodNumber;}
+  void    SetPeriodNumber(Int_t n) {fPeriodNumber=n;}
+  void    Reset();
+  void    Print(const Option_t *opt=0) const;
+  void SetDiamond(const AliESDVertex *vertex);
+
+
+  Float_t GetDiamondX() const {return fDiamondXY[0];}
+  Float_t GetDiamondY() const {return fDiamondXY[1];}
+  Float_t GetSigma2DiamondX() const {return fDiamondCovXY[0];}
+  Float_t GetSigma2DiamondY() const {return fDiamondCovXY[2];}
+  void GetDiamondCovXY(Float_t cov[3]) const {
+    for(Int_t i=0;i<3;i++) cov[i]=fDiamondCovXY[i]; return;
+  }
+private:
+  Int_t        fRunNumber;       // Run Number
+  Int_t        fPeriodNumber;    // PeriodNumber
+  Int_t        fRecoVersion;     // Version of reconstruction 
+  Float_t      fMagneticField;   // Solenoid Magnetic Field in kG : for compatibility with AliMagF
+  Float_t      fDiamondXY[2];    // Interaction diamond (x,y) in RUN
+  Float_t      fDiamondCovXY[3]; // Interaction diamond covariance (x,y) in RUN
+
+  ClassDef(AliESDRun,1)
+};
+
+#endif 
diff --git a/STEER/AliESDTZERO.cxx b/STEER/AliESDTZERO.cxx
new file mode 100644 (file)
index 0000000..baf6e38
--- /dev/null
@@ -0,0 +1,77 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+//-------------------------------------------------------------------------
+//                        Implemenation Class AliESDTZERO
+//   This is a class that summarizes the TZERO data for the ESD   
+//   Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch 
+//-------------------------------------------------------------------------
+
+
+
+#include "AliESDTZERO.h"
+
+
+ClassImp(AliESDTZERO)
+
+//______________________________________________________________________________
+AliESDTZERO::AliESDTZERO() :
+  TObject(),
+  fT0zVertex(0),
+  fT0timeStart(0)   
+{
+  for(int i = 0;i<24;i++)fT0time[i] = fT0amplitude[i] = 0;
+}
+
+AliESDTZERO::AliESDTZERO(const AliESDTZERO &tzero ) :
+  TObject(tzero),
+  fT0zVertex(tzero.fT0zVertex),
+  fT0timeStart(tzero.fT0timeStart)   
+{
+  // copy constuctor
+  for(int i = 0;i<24;i++){
+    fT0time[i] = tzero.fT0time[i]; 
+    fT0amplitude[i] = tzero.fT0amplitude[i];
+  }
+}
+
+AliESDTZERO& AliESDTZERO::operator=(const AliESDTZERO& tzero){
+  // assigmnent operator
+  if(this!=&tzero) {
+    TObject::operator=(tzero);
+    fT0zVertex = tzero.fT0zVertex;
+    fT0timeStart = tzero.fT0timeStart;   
+    for(int i = 0;i<24;i++){
+      fT0time[i] = tzero.fT0time[i]; 
+      fT0amplitude[i] = tzero.fT0amplitude[i];
+    }
+  } 
+  return *this;
+}
+
+//______________________________________________________________________________
+void AliESDTZERO::Reset()
+{
+  // reset contents
+  fT0zVertex = 0;  
+  fT0timeStart = 0;
+  for(int i = 0;i<24;i++)fT0time[i] = fT0amplitude[i] = 0;
+}
+
+//______________________________________________________________________________
+void AliESDTZERO::Print(const Option_t *) const
+{
+  // does noting fornow
+}
diff --git a/STEER/AliESDTZERO.h b/STEER/AliESDTZERO.h
new file mode 100644 (file)
index 0000000..d627196
--- /dev/null
@@ -0,0 +1,52 @@
+// -*- mode: C++ -*- 
+#ifndef ALIESDTZERO_H
+#define ALIESDTZERO_H
+
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+
+//-------------------------------------------------------------------------
+//                          Class AliESDTZERO
+//   This is a class that summarizes the TZERO data for the ESD   
+//   Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch 
+//-------------------------------------------------------------------------
+
+
+
+#include <TObject.h>
+
+class AliESDTZERO: public TObject {
+public:
+  AliESDTZERO();
+  AliESDTZERO(const AliESDTZERO& tzero);
+  AliESDTZERO& operator=(const AliESDTZERO& tzero);
+
+  Float_t GetT0zVertex() const {return fT0zVertex;}
+  void SetT0zVertex(Float_t z) {fT0zVertex=z;}
+  Float_t GetT0() const {return fT0timeStart;}
+  void SetT0(Float_t timeStart) {fT0timeStart = timeStart;}
+  const Float_t * GetT0time() const {return fT0time;}
+  void SetT0time(Float_t time[24]) {
+    for (Int_t i=0; i<24; i++) fT0time[i] = time[i];
+  }
+  const Float_t * GetT0amplitude() const {return fT0amplitude;}
+  void SetT0amplitude(Float_t amp[24]) {
+    for (Int_t i=0; i<24; i++) fT0amplitude[i] = amp[i];
+  }
+
+  void    Reset();
+  void    Print(const Option_t *opt=0) const;
+
+private:
+
+  Float_t      fT0zVertex;       // vertex z position estimated by the T0
+  Float_t      fT0timeStart;     // interaction time estimated by the T0
+  Float_t      fT0time[24];      // best TOF on each T0 PMT
+  Float_t      fT0amplitude[24]; // number of particles(MIPs) on each T0 PMT
+
+  ClassDef(AliESDTZERO,1)
+};
+
+
+#endif
diff --git a/STEER/AliESDZDC.cxx b/STEER/AliESDZDC.cxx
new file mode 100644 (file)
index 0000000..3a0db7c
--- /dev/null
@@ -0,0 +1,86 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+
+//-------------------------------------------------------------------------
+//                      Implementation of   Class AliESDZDC
+//   This is a class that summarizes the ZDC data
+//   for the ESD   
+//   Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch 
+//-------------------------------------------------------------------------
+
+
+
+#include "AliESDZDC.h"
+
+ClassImp(AliESDZDC)
+
+//______________________________________________________________________________
+AliESDZDC::AliESDZDC() :
+  TObject(),
+  fZDCN1Energy(0),
+  fZDCP1Energy(0),
+  fZDCN2Energy(0),
+  fZDCP2Energy(0),
+  fZDCEMEnergy(0),
+  fZDCParticipants(0)
+{
+}
+
+AliESDZDC::AliESDZDC(const AliESDZDC& zdc) :
+  TObject(zdc),
+  fZDCN1Energy(zdc.fZDCN1Energy),
+  fZDCP1Energy(zdc.fZDCP1Energy),
+  fZDCN2Energy(zdc.fZDCN2Energy),
+  fZDCP2Energy(zdc.fZDCP2Energy),
+  fZDCEMEnergy(zdc.fZDCEMEnergy),
+  fZDCParticipants(zdc.fZDCParticipants)
+{
+  // copy constructor
+}
+
+AliESDZDC& AliESDZDC::operator=(const AliESDZDC&zdc)
+{
+  // assigment operator
+  if(this!=&zdc) {
+    TObject::operator=(zdc);
+    fZDCN1Energy = zdc.fZDCN1Energy;
+    fZDCP1Energy = zdc.fZDCP1Energy;
+    fZDCN2Energy = zdc.fZDCN2Energy;
+    fZDCP2Energy = zdc.fZDCP2Energy;
+    fZDCEMEnergy = zdc.fZDCEMEnergy;
+    fZDCParticipants = zdc.fZDCParticipants;
+  } 
+  return *this;
+}
+
+
+//______________________________________________________________________________
+void AliESDZDC::Reset()
+{
+  // reset all data members
+  fZDCN1Energy=0;
+  fZDCP1Energy=0;
+  fZDCN2Energy=0;
+  fZDCP2Energy=0;
+  fZDCEMEnergy=0;
+  fZDCParticipants=0;
+}
+
+//______________________________________________________________________________
+void AliESDZDC::Print(const Option_t *) const
+{
+}
+
diff --git a/STEER/AliESDZDC.h b/STEER/AliESDZDC.h
new file mode 100644 (file)
index 0000000..9cb366d
--- /dev/null
@@ -0,0 +1,50 @@
+// -*- mode: C++ -*- 
+#ifndef ALIESDZDC_H
+#define ALIESDZDC_H
+
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+//-------------------------------------------------------------------------
+//                      Implementation of   Class AliESDZDC
+//   This is a class that summarizes the ZDC data
+//   for the ESD   
+//   Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch 
+//-------------------------------------------------------------------------
+
+#include <TObject.h>
+
+
+class AliESDZDC: public TObject {
+public:
+  AliESDZDC();
+  AliESDZDC(const AliESDZDC& zdc);
+  AliESDZDC& operator=(const AliESDZDC& zdc);
+
+  Float_t GetZDCN1Energy() const {return fZDCN1Energy;}
+  Float_t GetZDCP1Energy() const {return fZDCP1Energy;}
+  Float_t GetZDCN2Energy() const {return fZDCN2Energy;}
+  Float_t GetZDCP2Energy() const {return fZDCP2Energy;}
+  Float_t GetZDCEMEnergy() const {return fZDCEMEnergy;}
+  Int_t   GetZDCParticipants() const {return fZDCParticipants;}
+  void    SetZDC(Float_t n1Energy, Float_t p1Energy, Float_t emEnergy,
+                 Float_t n2Energy, Float_t p2Energy, Int_t participants) 
+   {fZDCN1Energy=n1Energy; fZDCP1Energy=p1Energy; fZDCEMEnergy=emEnergy;
+    fZDCN2Energy=n2Energy; fZDCP2Energy=p2Energy; fZDCParticipants=participants;}
+
+  void    Reset();
+  void    Print(const Option_t *opt=0) const;
+
+private:
+
+  Float_t      fZDCN1Energy;      // reconstructed energy in the neutron ZDC
+  Float_t      fZDCP1Energy;      // reconstructed energy in the proton ZDC
+  Float_t      fZDCN2Energy;      // reconstructed energy in the neutron ZDC
+  Float_t      fZDCP2Energy;      // reconstructed energy in the proton ZDC
+  Float_t      fZDCEMEnergy;     // reconstructed energy in the electromagnetic ZDC
+  Int_t        fZDCParticipants; // number of participants estimated by the ZDC
+
+  ClassDef(AliESDZDC,1)
+};
+
+#endif
index 20ff5dd..45da58e 100644 (file)
@@ -16,6 +16,11 @@ SRCS = AliESD.cxx AliESDfriend.cxx\
        AliESDVZERO.cxx \
        AliMultiplicity.cxx \
        AliSelector.cxx \
+       AliESDRun.cxx \
+       AliESDHeader.cxx \
+       AliESDZDC.cxx \
+       AliESDTZERO.cxx \
+       AliESDCaloTrigger.cxx \
        AliRawDataErrorLog.cxx
 
 HDRS:= $(SRCS:.cxx=.h)