]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AOD/AliAODMCHeader.h
Moving the classes that belong to the following libraries: STEERBase, ESD, CDB, AOD...
[u/mrichter/AliRoot.git] / STEER / AOD / AliAODMCHeader.h
diff --git a/STEER/AOD/AliAODMCHeader.h b/STEER/AOD/AliAODMCHeader.h
new file mode 100644 (file)
index 0000000..8cf9d14
--- /dev/null
@@ -0,0 +1,92 @@
+// -*- mode: C++ -*- 
+#ifndef ALIAODMCHEADER_H
+#define ALIAODMCHEADER_H
+
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+//-------------------------------------------------------------------------
+//                      Class AliAODMCHeader
+//   Some MC specific inforamtion for filtering KINE infomration to the AOD   
+//   Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch 
+//-------------------------------------------------------------------------
+
+#include "AliVHeader.h"
+
+class AliAODMCHeader: public AliVHeader {
+public:
+  AliAODMCHeader();
+  virtual ~AliAODMCHeader();
+  AliAODMCHeader(const AliAODMCHeader& header);
+  AliAODMCHeader& operator=(const AliAODMCHeader& header);
+  virtual void Copy(TObject &obj) const;
+
+  virtual void      SetGeneratorName(const char* c){fGenerator = c;}
+  virtual void      AddGeneratorName(const char* c){fGenerator += c;}
+  virtual const char* GetGeneratorName() const {return fGenerator.Data();}
+
+  virtual void SetVertex(Double_t *vtx){
+    fVertex[0] = vtx[0]; fVertex[1] = vtx[1]; fVertex[2] = vtx[2];
+  }
+  virtual void SetVertex(Double_t x,Double_t y,Double_t z){
+    fVertex[0] = x; fVertex[1] = y; fVertex[2] = z;
+  }
+  virtual void GetVertex(Double_t *vtx) const {
+    vtx[0] = fVertex[0]; vtx[1] = fVertex[1]; vtx[2] = fVertex[2];
+  }
+
+  virtual Double_t GetVtxX() const { return fVertex[0]; }
+  virtual Double_t GetVtxY() const { return fVertex[1]; }
+  virtual Double_t GetVtxZ() const { return fVertex[2]; }
+
+  
+  virtual void      SetImpactParameter(Double_t b){fImpactPar = b;}
+  virtual Double_t  GetImpactParameter() const {return fImpactPar;}
+
+  virtual void      SetPtHard(Double_t f){fPtHard = f;}
+  virtual Double_t  GetPtHard() const {return fPtHard;}
+
+  virtual void      SetCrossSection(Double_t f){fXsection = f;}
+  virtual Double_t  GetCrossSection() const {return fXsection;}
+
+  virtual void      AddTrial(Int_t i) {fTrials+=i;}
+  virtual void      SetTrials(Int_t f){fTrials = f;}
+  virtual Int_t  GetTrials() const {return fTrials;}
+
+  virtual void      SetReactionPlaneAngle(Double_t b){fReactionPlaneAngle = b;}
+  virtual Double_t  GetReactionPlaneAngle() const {return fReactionPlaneAngle;}
+
+  virtual void      SetEventType(UInt_t eventType){fEventType = eventType;}
+  virtual UInt_t    GetEventType() const {return fEventType;}
+
+  virtual void      Reset();
+  virtual void      Print(const Option_t *opt=0) const;
+
+  // needed to make class non virtual
+  virtual UShort_t  GetBunchCrossNumber()   const {return 0;}
+  virtual UInt_t    GetOrbitNumber()        const {return 0;}
+  virtual UInt_t    GetPeriodNumber()       const {return 0;}
+  virtual ULong64_t GetTriggerMask()        const {return 0;}
+  virtual UChar_t   GetTriggerCluster()     const {return 0;}
+  // 
+  
+  static const char* StdBranchName(){return fgkStdBranchName.Data();}
+
+private:
+
+  static TString fgkStdBranchName;      // Standard branch name
+
+  TString      fGenerator;         // Name of the generator, combination of names in case of gen cocktail 
+  Double32_t   fVertex[3];         // MC vertex
+  Double32_t   fImpactPar;         // Impact parameter in case of Pb+Pb
+  Double32_t   fPtHard;            // [0,0,12] Pt hard for jet events
+  Double32_t   fXsection;          // Cross section for particlar process
+  UInt_t       fTrials;            // Number of trials
+  UInt_t       fEventType;         // MC Process Type of Event
+  Double32_t   fReactionPlaneAngle;// MC Reaction Plane Angle
+  
+  ClassDef(AliAODMCHeader,5)
+
+};
+
+#endif