X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=RALICE%2FAliEvent.h;h=70cfe4680519934e25ae86b6dea043cd914eca10;hb=a68156e60ac4c4d84befa37f44fc4a576efa1b33;hp=e332e5d22c46285d478181989d9c2f38137d3192;hpb=1ce8a857c34c74e90a1e422534daf12a6a0b228d;p=u%2Fmrichter%2FAliRoot.git diff --git a/RALICE/AliEvent.h b/RALICE/AliEvent.h index e332e5d22c4..70cfe468051 100644 --- a/RALICE/AliEvent.h +++ b/RALICE/AliEvent.h @@ -3,69 +3,77 @@ /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ -// $Id: AliEvent.h,v 1.7 2003/02/03 13:19:44 nick Exp $ +// $Id: AliEvent.h,v 1.17 2004/06/29 11:29:37 nick Exp $ -#include "Riostream.h" #include #include "TObject.h" #include "TObjArray.h" #include "TDatime.h" +#include "TTimeStamp.h" #include "AliVertex.h" -#include "AliCalorimeter.h" +#include "AliDevice.h" class AliEvent : public AliVertex { public: AliEvent(); // Default constructor AliEvent(Int_t n); // Create an event to hold initially n tracks - ~AliEvent(); // Default destructor + virtual ~AliEvent(); // Default destructor + AliEvent(const AliEvent& evt); // Copy constructor + virtual TObject* Clone(const char* name="") const; // Make a deep copy and provide its pointer virtual void SetOwner(Bool_t own=kTRUE);// Set ownership of all added objects - void SetDayTime(TDatime& stamp); // Set the date and time stamp + void SetDayTime(TTimeStamp& stamp); // Set the date and time stamp exactly as specified (1 ns accuracy) + void SetDayTime(TDatime& stamp); // Set date and time stamp interpreted as local time (1 s accuracy) void SetRunNumber(Int_t run); // Set the run number void SetEventNumber(Int_t evt); // Set the event number void SetProjectile(Int_t a,Int_t z,Double_t pnuc,Int_t id=0); // Set projectile A, Z, p per nucleon and id - Int_t GetProjectileA(); // Provide A value of the projectile - Int_t GetProjectileZ(); // Provide Z value of the projectile - Double_t GetProjectilePnuc(); // Provide the projectile momentum value per nucleon - Int_t GetProjectileId(); // Provide the user defined particle ID of the projectile + Int_t GetProjectileA() const; // Provide A value of the projectile + Int_t GetProjectileZ() const; // Provide Z value of the projectile + Double_t GetProjectilePnuc() const; // Provide the projectile momentum value per nucleon + Int_t GetProjectileId() const; // Provide the user defined particle ID of the projectile void SetTarget(Int_t a,Int_t z,Double_t pnuc,Int_t id=0); // Set target A, Z, p per nucleon and id - Int_t GetTargetA(); // Provide A value of the target - Int_t GetTargetZ(); // Provide Z value of the target - Double_t GetTargetPnuc(); // Provide the target momentum value per nucleon - Int_t GetTargetId(); // Provide the user defined particle ID of the target + Int_t GetTargetA() const; // Provide A value of the target + Int_t GetTargetZ() const; // Provide Z value of the target + Double_t GetTargetPnuc() const; // Provide the target momentum value per nucleon + Int_t GetTargetId() const; // Provide the user defined particle ID of the target void Reset(); // Reset all values - TDatime GetDayTime(); // Provide the date and time stamp - Int_t GetRunNumber(); // Provide the run number - Int_t GetEventNumber(); // Provide the event number - void HeaderData(); // Print the event header information - void Data(TString f="car"); // Print the event info within coordinate frame f - void SetCalCopy(Int_t j); // (De)activate creation of private copies in fCalorimeters - Int_t GetCalCopy(); // Provide CalCopy flag value - void AddCalorimeter(AliCalorimeter& c); // Add a calorimeter system to the event - void AddCalorimeter(AliCalorimeter* c) { AddCalorimeter(*c); } - Int_t GetNcalorimeters(); // Provide the number of calorimeter systems - void ShowCalorimeters(); // Provide on overview of the available calorimeter systems - AliCalorimeter* GetCalorimeter(Int_t i);// Provide i-th calorimeter system of the event - AliCalorimeter* GetCalorimeter(TString name); // Provide calorimeter with name "name" + TTimeStamp GetDayTime() const; // Provide the date and time stamp + Int_t GetRunNumber() const; // Provide the run number + Int_t GetEventNumber() const; // Provide the event number + virtual void HeaderData() const; // Print the event header information + virtual void Data(TString f="car"); // Print the event info within coordinate frame f + void SetDevCopy(Int_t j); // (De)activate creation of private copies of the devices + Int_t GetDevCopy() const; // Provide DevCopy flag value + void AddDevice(TObject& d); // Add a device to the event + void AddDevice(TObject* d) { AddDevice(*d); } + Int_t GetNdevices() const; // Provide the number of devices + void ShowDevices() const; // Provide on overview of the available devices + TObject* GetDevice(Int_t i) const; // Provide i-th device of the event + TObject* GetDevice(TString name) const; // Provide device with name "name" + Int_t GetNhits(const char* classname); // Provide number of hits for the specified device class + TObjArray* GetHits(const char* classname); // Provide refs to all hits of the specified device class + TObjArray* SortHits(TObjArray* hits,TString name,Int_t mode=-1); // Sort hits by named signal value + TObjArray* SortHits(TObjArray* hits,Int_t idx=1,Int_t mode=-1); // Sort hits by indexed signal value protected: - TDatime fDaytime; // The date and time stamp - Int_t fRun; // The run number - Int_t fEvent; // The event number - Int_t fAproj; // The projectile A value - Int_t fZproj; // The projectile Z value - Double_t fPnucProj; // The projectile momentum per nucleon - Int_t fIdProj; // User defined projectile particle ID - Int_t fAtarg; // The target A value - Int_t fZtarg; // The target Z value - Double_t fPnucTarg; // The target momentum per nucleon - Int_t fIdTarg; // User defined target particle ID - Int_t fNcals; // The number of calorimeter systems - TObjArray* fCalorimeters; // Array to hold the pointers to the calorimeter systems - Int_t fCalCopy; // Flag to denote creation of private copies in fCalorimeters + TTimeStamp fDaytime; // The date and time stamp + Int_t fRun; // The run number + Int_t fEvent; // The event number + Int_t fAproj; // The projectile A value + Int_t fZproj; // The projectile Z value + Double_t fPnucProj; // The projectile momentum per nucleon + Int_t fIdProj; // User defined projectile particle ID + Int_t fAtarg; // The target A value + Int_t fZtarg; // The target Z value + Double_t fPnucTarg; // The target momentum per nucleon + Int_t fIdTarg; // User defined target particle ID + TObjArray* fDevices; // Array to hold the pointers to the various devices + Int_t fDevCopy; // Flag to denote creation of private copies of the devices + void LoadHits(const char* classname); // Load references to the hits registered to the specified device class + TObjArray* fHits; //! Temp. array to hold references to the registered AliDevice hits - ClassDef(AliEvent,6) // Creation and investigation of an Alice physics event. + ClassDef(AliEvent,15) // Creation and investigation of an Alice physics event. }; #endif