28-oct-2002 NvE "Riostream.h" introduced to replace the standard C++ includes and
[u/mrichter/AliRoot.git] / RALICE / AliEvent.h
CommitLineData
d16062ac 1#ifndef ALIEVENT_H
2#define ALIEVENT_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
9f8f3e10 6// $Id: AliEvent.h,v 1.4 2002/06/25 09:38:28 nick Exp $
d16062ac 7
9f8f3e10 8#include "Riostream.h"
d16062ac 9#include <math.h>
10
11#include "TObject.h"
12#include "TObjArray.h"
13#include "TDatime.h"
14
15#include "AliVertex.h"
7849a8ab 16#include "AliCalorimeter.h"
d16062ac 17
18class AliEvent : public AliVertex
19{
20 public:
21 AliEvent(); // Default constructor
22 AliEvent(Int_t n); // Create an event to hold initially n tracks
23 ~AliEvent(); // Default destructor
8e8e6c7f 24 virtual void SetOwner(Bool_t own=kTRUE);// Set ownership of all added objects
d16062ac 25 void SetDayTime(TDatime& stamp); // Set the date and time stamp
26 void SetRunNumber(Int_t run); // Set the run number
27 void SetEventNumber(Int_t evt); // Set the event number
4575fcea 28 void SetProjectile(Int_t a,Int_t z,Double_t pnuc); // Set projectile A, Z and momentum value per nucleon
29 Int_t GetProjectileA(); // Provide A value of the projectile
30 Int_t GetProjectileZ(); // Provide Z value of the projectile
31 Double_t GetProjectilePnuc(); // Provide the projectile momentum value per nucleon
32 void SetTarget(Int_t a,Int_t z,Double_t pnuc); // Set target A, Z and momentum value per nucleon
33 Int_t GetTargetA(); // Provide A value of the target
34 Int_t GetTargetZ(); // Provide Z value of the target
35 Double_t GetTargetPnuc(); // Provide the target momentum value per nucleon
d16062ac 36 void Reset(); // Reset all values
37 TDatime GetDayTime(); // Provide the date and time stamp
38 Int_t GetRunNumber(); // Provide the run number
39 Int_t GetEventNumber(); // Provide the event number
40 void HeaderInfo(); // Print the event header information
41 void Info(TString f="car"); // Print the event info within coordinate frame f
7849a8ab 42 void SetCalCopy(Int_t j); // (De)activate creation of private copies in fCalorimeters
43 Int_t GetCalCopy(); // Provide CalCopy flag value
44 void AddCalorimeter(AliCalorimeter& c); // Add a calorimeter system to the event
45 void AddCalorimeter(AliCalorimeter* c) { AddCalorimeter(*c); }
46 Int_t GetNcalorimeters(); // Provide the number of calorimeter systems
47 AliCalorimeter* GetCalorimeter(Int_t i);// Provide i-th calorimeter system of the event
48 AliCalorimeter* GetCalorimeter(TString name); // Provide calorimeter with name "name"
d16062ac 49
50 protected:
7849a8ab 51 TDatime fDaytime; // The date and time stamp
52 Int_t fRun; // The run number
53 Int_t fEvent; // The event number
4575fcea 54 Int_t fAproj; // The projectile A value
55 Int_t fZproj; // The projectile Z value
56 Double_t fPnucProj; // The projectile momentum per nucleon
57 Int_t fAtarg; // The target A value
58 Int_t fZtarg; // The target Z value
59 Double_t fPnucTarg; // The target momentum per nucleon
7849a8ab 60 Int_t fNcals; // The number of calorimeter systems
61 TObjArray* fCalorimeters; // Array to hold the pointers to the calorimeter systems
62 Int_t fCalCopy; // Flag to denote creation of private copies in fCalorimeters
d16062ac 63
8e8e6c7f 64 ClassDef(AliEvent,3) // Creation and investigation of an Alice physics event.
d16062ac 65};
66#endif