]> git.uio.no Git - u/mrichter/AliRoot.git/blame - RALICE/AliEvent.h
05-dec-2003 NvE Memberfunction SetStable introduced in AliCollider for the user's...
[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
5f25234b 6// $Id: AliEvent.h,v 1.12 2003/11/21 14:20:10 nick Exp $
d16062ac 7
d16062ac 8#include <math.h>
9
10#include "TObject.h"
11#include "TObjArray.h"
12#include "TDatime.h"
387a745b 13#include "TTimeStamp.h"
d16062ac 14
15#include "AliVertex.h"
16
17class AliEvent : public AliVertex
18{
19 public:
20 AliEvent(); // Default constructor
21 AliEvent(Int_t n); // Create an event to hold initially n tracks
c72198f1 22 virtual ~AliEvent(); // Default destructor
23 AliEvent(AliEvent& evt); // Copy constructor
5f25234b 24 virtual TObject* Clone(char* name=""); // Make a deep copy and provide its pointer
8e8e6c7f 25 virtual void SetOwner(Bool_t own=kTRUE);// Set ownership of all added objects
387a745b 26 void SetDayTime(TTimeStamp& stamp); // Set the date and time stamp exactly as specified (1 ns accuracy)
27 void SetDayTime(TDatime& stamp); // Set date and time stamp interpreted as local time (1 s accuracy)
d16062ac 28 void SetRunNumber(Int_t run); // Set the run number
29 void SetEventNumber(Int_t evt); // Set the event number
da17f667 30 void SetProjectile(Int_t a,Int_t z,Double_t pnuc,Int_t id=0); // Set projectile A, Z, p per nucleon and id
4575fcea 31 Int_t GetProjectileA(); // Provide A value of the projectile
32 Int_t GetProjectileZ(); // Provide Z value of the projectile
33 Double_t GetProjectilePnuc(); // Provide the projectile momentum value per nucleon
da17f667 34 Int_t GetProjectileId(); // Provide the user defined particle ID of the projectile
35 void SetTarget(Int_t a,Int_t z,Double_t pnuc,Int_t id=0); // Set target A, Z, p per nucleon and id
4575fcea 36 Int_t GetTargetA(); // Provide A value of the target
37 Int_t GetTargetZ(); // Provide Z value of the target
38 Double_t GetTargetPnuc(); // Provide the target momentum value per nucleon
da17f667 39 Int_t GetTargetId(); // Provide the user defined particle ID of the target
d16062ac 40 void Reset(); // Reset all values
387a745b 41 TTimeStamp GetDayTime(); // Provide the date and time stamp
d16062ac 42 Int_t GetRunNumber(); // Provide the run number
43 Int_t GetEventNumber(); // Provide the event number
1c01b4f8 44 virtual void HeaderData(); // Print the event header information
45 virtual void Data(TString f="car"); // Print the event info within coordinate frame f
46 void SetDevCopy(Int_t j); // (De)activate creation of private copies of the devices
47 Int_t GetDevCopy(); // Provide DevCopy flag value
48 void AddDevice(TObject& d); // Add a device to the event
49 void AddDevice(TObject* d) { AddDevice(*d); }
50 Int_t GetNdevices(); // Provide the number of devices
51 void ShowDevices(); // Provide on overview of the available devices
52 TObject* GetDevice(Int_t i); // Provide i-th device of the event
53 TObject* GetDevice(TString name); // Provide device with name "name"
d16062ac 54
55 protected:
387a745b 56 TTimeStamp fDaytime; // The date and time stamp
7849a8ab 57 Int_t fRun; // The run number
58 Int_t fEvent; // The event number
4575fcea 59 Int_t fAproj; // The projectile A value
60 Int_t fZproj; // The projectile Z value
61 Double_t fPnucProj; // The projectile momentum per nucleon
da17f667 62 Int_t fIdProj; // User defined projectile particle ID
4575fcea 63 Int_t fAtarg; // The target A value
64 Int_t fZtarg; // The target Z value
65 Double_t fPnucTarg; // The target momentum per nucleon
da17f667 66 Int_t fIdTarg; // User defined target particle ID
1c01b4f8 67 TObjArray* fDevices; // Array to hold the pointers to the various devices
68 Int_t fDevCopy; // Flag to denote creation of private copies of the devices
d16062ac 69
5f25234b 70 ClassDef(AliEvent,11) // Creation and investigation of an Alice physics event.
d16062ac 71};
72#endif