]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliHeader.h
Use default errors in case the vertexer didn't find any
[u/mrichter/AliRoot.git] / STEER / AliHeader.h
index 946a59e433334f3b6bb9b50c0d4936aa48903b24..f4ec8e576c5d3026690ab83b2d91d313852e6bd7 100644 (file)
@@ -5,16 +5,27 @@
 
 /* $Id$ */
 
+//-----------------------------------------------------------------------
+//     Simulation event header class
+//     Collaborates with AliRun, AliStack, and AliGenReaderTreeK classes
+//     Many other classes depend on it
+//-----------------------------------------------------------------------
+
 #include <TObject.h>
+
 class AliStack;
 class AliGenEventHeader;
+class AliDetectorEventHeader;
+class TObjArray;
+
 class AliHeader : public TObject {
 public:
   AliHeader();
+  AliHeader(const AliHeader& head);
   AliHeader(Int_t run, Int_t event);
   AliHeader(Int_t run, Int_t eventSerialNr, Int_t evNrInRun);
-  virtual ~AliHeader() {}
+  virtual ~AliHeader();
+  
 
   virtual void Reset(Int_t run, Int_t event);
   virtual void Reset(Int_t run, Int_t eventSerialNr, Int_t evNrInRun);
@@ -44,19 +55,30 @@ public:
   virtual  void SetGenEventHeader(AliGenEventHeader* header);
   virtual  AliGenEventHeader*  GenEventHeader() const;
 
-  virtual void Print(const char *opt=0);
+  virtual void AddDetectorEventHeader(AliDetectorEventHeader* header);
+  virtual AliDetectorEventHeader* GetDetectorEventHeader(const char *name) const;
+  
+  
+  virtual void Print(const char *opt=0) const;
+
+  AliHeader& operator=(const AliHeader& head) 
+    {head.Copy(*this); return *this;}
   
 protected:
-  Int_t         fRun;         //Run number
-  Int_t         fNvertex;     //Number of vertices
-  Int_t         fNprimary;    //Number of primary tracks
-  Int_t         fNtrack;      //Number of tracks
-  Int_t         fEvent;       //Event number (serial in the file)
-  Int_t         fEventNrInRun; //Unique Event number within the run
-  AliStack     *fStack;       //Pointer to stack
-  AliGenEventHeader* fGenHeader;    //Event Header for Generator  
-  
-  ClassDef(AliHeader,2) //Alice event header    
+
+  void Copy(TObject& head) const;
+
+  Int_t         fRun;               //Run number
+  Int_t         fNvertex;           //Number of vertices
+  Int_t         fNprimary;          //Number of primary tracks
+  Int_t         fNtrack;            //Number of tracks
+  Int_t         fEvent;             //Event number (serial in the file)
+  Int_t         fEventNrInRun;      //Unique Event number within the run
+  AliStack     *fStack;             //Pointer to stack
+  AliGenEventHeader* fGenHeader;    //Event Header for Generator
+  TObjArray*         fDetHeaders;   //Event Headers for detector specific information 
+
+  ClassDef(AliHeader,3) //Alice event header    
 };
 
 #endif