NCFS-Pack
A generic (astro)particle physics analysis framework
Loading...
Searching...
No Matches
IceEvent Class Reference

Handling of IceCube event data. More...

#include "IceEvent.h"

Inheritance diagram for IceEvent:
NcEvent NcVertex NcTimestamp NcJet NcPosition Nc4Vector Nc3Vector

Detailed Description

Handling of IceCube event data.

Copyright(c) 2003, IceCube Experiment at the South Pole. All rights reserved.
Author: The IceCube NCFS-based Offline Project.
Contributors are mentioned in the code where appropriate.
Permission to use, copy, modify and distribute this software and its
documentation strictly for non-commercial purposes is hereby granted
without fee, provided that the above copyright notice appears in all
copies and that both the copyright notice and this permission notice
appear in the supporting documentation.
The authors make no claims about the suitability of this software for
any purpose. It is provided "as is" without express or implied warranty.
// Class IceEvent
// Handling of IceCube event data.
// Basically this class provides an IceCube tailored user interface
// to the functionality of the class NcEvent.
//
// Notes :
// ------
// * In the event structure MC tracks are labeled with a negative track ID,
// whereas reconstructed tracks are labeled with a positive track ID.
// This allows for a direct selection of either MC or Reco tracks via the
// GetIdTrack() facility.
// * The particle codes used for the various tracks are the PDG ones.
// For IceCube specific "particle" types (e.g. deltae) the PDG database
// has been extended, as can be seen in the IceF2k class which provides
// a conversion facility from the F2K into the Ralice/IcePack format.
//
// Examples :
// ==========
//
// Creation and filling of an event with some fictitious module data
// -----------------------------------------------------------------
// IceEvent* evt=new IceEvent();
// evt->SetOwner();
//
// // The starting unique signal ID.
// // In this example it will be increased everytime
// // when a new signal is created.
// Int_t sid=1;
//
// // Amanda module
// IceAOM m;
// m.SetUniqueID(123);
// m.SetNameTitle("OM123","Amanda module");
//
// Float_t pos[3]={1,2,3};
// m.SetPosition(pos,"car");
//
// NcSignal s;
//
// s.SetSlotName("ADC",1);
// s.SetSlotName("LE",2);
// s.SetSlotName("TOT",3);
//
// s.Reset();
// s.SetName("OM123 Hit 1");
// s.SetUniqueID(sid++);
// s.SetSignal(100,"ADC");
// s.SetSignal(-100,"LE");
// s.SetSignal(-1000,"TOT");
// m.AddHit(s);
//
// s.Reset();
// s.SetName("OM123 Hit 2");
// s.SetUniqueID(sid++);
// s.SetSignal(110,"ADC");
// s.SetSignal(-101,"LE");
// s.SetSignal(1001,"TOT");
// m.AddHit(s);
//
// s.Reset();
// s.SetName("OM123 Hit 3");
// s.SetUniqueID(sid++);
// s.SetSignal(120,"ADC");
// s.SetSignal(-102,"LE");
// s.SetSignal(-1002,"TOT");
// m.AddHit(s);
//
// evt->AddDevice(m);
//
// m.Reset();
// m.SetUniqueID(456);
// m.SetName("OM456");
//
// pos[0]=-4;
// pos[1]=-5;
// pos[2]=-6;
// m.SetPosition(pos,"car");
//
// s.Reset();
// s.SetName("OM456 Hit 1");
// s.SetUniqueID(sid++);
// s.SetSignal(20,"ADC");
// s.SetSignal(-200,"LE");
// s.SetSignal(-2000,"TOT");
// m.AddHit(s);
//
// s.Reset();
// s.SetName("OM456 Hit 2");
// s.SetUniqueID(sid++);
// s.SetSignal(21,"ADC");
// s.SetSignal(-201,"LE");
// s.SetSignal(2001,"TOT");
// m.AddHit(s);
//
// s.Reset();
// s.SetName("OM456 Hit 3");
// s.SetUniqueID(sid++);
// s.SetSignal(22,"ADC");
// s.SetSignal(-202,"LE");
// s.SetSignal(-2002,"TOT");
// m.AddHit(s);
//
// evt->AddDevice(m);
//
// // IceCube in-ice DOM
// IceIDOM mid;
// mid.SetUniqueID(958);
// mid.SetNameTitle("OM958","IceCube in-ice module");
//
// pos[0]=9;
// pos[1]=5;
// pos[2]=8;
// mid.SetPosition(pos,"car");
//
// s.Reset();
// s.SetName("OM958 Hit 1");
// s.SetUniqueID(sid++);
// s.SetSignal(40,"ADC");
// s.SetSignal(-400,"LE");
// s.SetSignal(-4000,"TOT");
// mid.AddHit(s);
//
// s.Reset();
// s.SetName("OM958 Hit 2");
// s.SetUniqueID(sid++);
// s.SetSignal(41,"ADC");
// s.SetSignal(-401,"LE");
// s.SetSignal(4001,"TOT");
// mid.AddHit(s);
//
// s.Reset();
// s.SetName("OM958 Hit 3");
// s.SetUniqueID(sid++);
// s.SetSignal(42,"ADC");
// s.SetSignal(-402,"LE");
// s.SetSignal(-4002,"TOT");
// mid.AddHit(s);
//
// evt->AddDevice(mid);
//
// // IceTop DOM
// IceTDOM mtd;
// mtd.SetUniqueID(4958);
// mtd.SetNameTitle("OM4958","IceTop module");
//
// pos[0]=49;
// pos[1]=5;
// pos[2]=8;
// mtd.SetPosition(pos,"car");
//
// s.Reset();
// s.SetName("OM4958 Hit 1");
// s.SetUniqueID(sid++);
// s.SetSignal(50,"ADC");
// s.SetSignal(-500,"LE");
// s.SetSignal(-5000,"TOT");
// mtd.AddHit(s);
//
// s.Reset();
// s.SetName("OM4958 Hit 2");
// s.SetUniqueID(sid++);
// s.SetSignal(51,"ADC");
// s.SetSignal(-501,"LE");
// s.SetSignal(5001,"TOT");
// mtd.AddHit(s);
//
// s.Reset();
// s.SetName("OM4958 Hit 3");
// s.SetUniqueID(sid++);
// s.SetSignal(52,"ADC");
// s.SetSignal(-502,"LE");
// s.SetSignal(-5002,"TOT");
// mtd.AddHit(s);
//
// evt->AddDevice(mtd);
//
// Investigation of the event contents
// -----------------------------------
// // Provide event data overview
// evt->Data();
//
// // Select a specific device (i.e. OM) from the event
// NcDevice* dx=(NcDevice*)evt->GetIdDevice(958);
// if (dx) dx->Data();
//
// // Select a specific hit from the event
// NcSignal* sx=evt->GetIdHit(5,"IceGOM");
// if (sx) sx->Data();
//
// // Dump all the information for the various stored devices
// Int_t ndev=evt->GetNdevices();
// for (Int_t idev=1; idev<=ndev; idev++)
// {
// IceGOM* om=(IceGOM*)evt->GetDevice(idev);
// if (om) om->Data();
// }
//
// // Dump all the information for the various stored hits
// // Obtain pointers to the hits for all generic OM's (i.e. IceGOM)
// TObjArray* hits=evt->GetHits("IceGOM");
// Int_t nhits=0;
// if (hits) nhits=hits->GetEntries();
// for (Int_t ih=0; ih<nhits; ih++)
// {
// NcSignal* sx=(NcSignal*)hits->At(ih);
// if (sx) sx->Data();
// }
//
// // Obtain the minimum and maximum recorded TOT value
// Float_t vmin,vmax;
// evt->GetExtremes("IceGOM",vmin,vmax,"TOT");
// cout << " Extreme values : vmin = " << vmin << " vmax = " << vmax << endl;
//
// Some simple module and hit manipulations
// ----------------------------------------
// // Ordered hits w.r.t. decreasing TOT
// TObjArray* ordered=evt->SortHits("IceGOM","TOT",-1);
// nhits=0;
// if (ordered) nhits=ordered->GetEntries();
// for (Int_t i=0; i<nhits; i++)
// {
// NcSignal* sx=(NcSignal*)ordered->At(i);
// if (sx) sx->Data();
// }
//
// // Ordered devices from the already ordered hit array
// TObjArray* devs=evt->SortDevices(ordered,0,0);
// ndev=0;
// if (devs) ndev=devs->GetEntries();
// for (Int_t id=0; id<ndev; id++)
// {
// NcDevice* dx=(NcDevice*)devs->At(id);
// if (dx) dx->Data();
// }
//
// // Newly ordered devices w.r.t. decreasing ADC
// TObjArray* devs=evt->SortDevices("IceGOM","ADC",-1);
// ndev=0;
// if (devs) ndev=devs->GetEntries();
// for (Int_t id2=0; id2<ndev; id2++)
// {
// NcDevice* dx=(NcDevice*)devs->At(id2);
// if (dx) dx->Data();
// }
//
// A simple 3D event display of the modules
// ----------------------------------------
// TCanvas* c1=new TCanvas("c1","c1");
// c1->x3d();
// TView* view=new TView(1);
// view->SetRange(-50,-50,-50,50,50,50);
// view->ShowAxis();
//
// evt->DisplayHits("IceGOM","TOT",1e4,1);
//
//
//--- Author: Nick van Eijndhoven 23-jun-2004 Utrecht University
//- Modified: Nick van Eijndhoven, IIHE-VUB, Brussel, May 7, 2025 07:29Z

Definition at line 19 of file IceEvent.h.

Public Member Functions

 IceEvent ()
 IceEvent (const IceEvent &evt)
virtual ~IceEvent ()
virtual TObject * Clone (const char *name="") const
Int_t GetNmodules (NcJet &j, TString classname)
Int_t GetNmodules (NcTrack &t, TString classname)
Int_t GetNstrings (NcJet &j, TString classname)
Int_t GetNstrings (NcTrack &t, TString classname)
Int_t GetNstrings (TString classname)
Int_t GetStringMax (TString classname, Int_t *id=0, Float_t *x=0, Float_t *y=0)
Float_t GetTriggerTime (TString trigname, TObjArray *arr=0, Int_t slc=0, TArrayF *peaks=0) const
virtual void Reset ()
Public Member Functions inherited from NcEvent
 NcEvent ()
 NcEvent (const NcEvent &evt)
 NcEvent (Int_t n)
virtual ~NcEvent ()
void AddDevice (NcDevice &d)
void AddDevice (NcDevice *d)
virtual void Data (TString f="car", TString u="rad")
void DisplayHits (TString classname, Int_t idx=1, Float_t scale=-1, Int_t dp=0, Int_t mode=1, Int_t mcol=4)
void DisplayHits (TString classname, TString name, Float_t scale=-1, Int_t dp=0, Int_t mode=1, Int_t mcol=4)
NcPosition GetCOG (TObjArray *hits, Int_t pos=0, TString slotname="none", Int_t mode=0) const
Double_t GetCVAL (TObjArray *hits, TString obsname, TString weightname="none", Int_t mode=0, Int_t type=1) const
TTimeStamp GetDayTime () const
NcDetectorGetDetector () const
Int_t GetDevCopy () const
NcDeviceGetDevice (Int_t i) const
NcDeviceGetDevice (TString name) const
TObjArray * GetDevices (TString classname, TObjArray *devices=0)
Int_t GetEventNumber () const
void GetExtremes (TString classname, Float_t &vmin, Float_t &vmax, Int_t idx=1, Int_t mode=1, Int_t deadcheck=1)
void GetExtremes (TString classname, Float_t &vmin, Float_t &vmax, TString name, Int_t mode=1, Int_t deadcheck=1)
Nc3Vector GetHitPath (TObjArray *hits, Int_t pos=0) const
TObjArray * GetHits (TString classname, TObjArray *hits=0, TString name="none", Int_t mode=0, Int_t opt=0)
NcDeviceGetIdDevice (Int_t id, TObjArray *devs=0) const
NcDeviceGetIdDevice (Int_t id, TString classname) const
NcSignalGetIdHit (Int_t id, TString classname)
Int_t GetNdevices () const
Int_t GetNdevices (TString classname, TObjArray *hits=0) const
Int_t GetNhits (TString classname)
Int_t GetProjectileA () const
Int_t GetProjectileId () const
Double_t GetProjectilePnuc () const
Int_t GetProjectileZ () const
Int_t GetRunNumber () const
Int_t GetSelectLevel () const
Int_t GetTargetA () const
Int_t GetTargetId () const
Double_t GetTargetPnuc () const
Int_t GetTargetZ () const
Double_t GetWeight () const
virtual void HeaderData ()
void RemoveDevice (NcDevice *d)
void SetDayTime (TDatime &stamp)
void SetDayTime (TTimeStamp &stamp)
void SetDetector (NcDetector *d)
void SetDetector (NcDetector d)
void SetDevCopy (Int_t j)
void SetEventNumber (Int_t evt)
virtual void SetOwner (Bool_t own=kTRUE)
void SetProjectile (Int_t a, Int_t z, Double_t pnuc, Int_t id=0)
void SetProjectile (Int_t a, Int_t z, Nc3Vector &p, Int_t id=0)
void SetRunNumber (Int_t run)
void SetSelectLevel (Int_t level)
void SetTarget (Int_t a, Int_t z, Double_t pnuc, Int_t id=0)
void SetTarget (Int_t a, Int_t z, Nc3Vector &p, Int_t id=0)
void SetWeight (Double_t weight)
void ShowDevices (Int_t mode=1, Bool_t header=kTRUE) const
void ShowDevices (TString classname, Int_t mode=1, Bool_t header=kTRUE) const
void ShowHits (TString classname, Int_t mode=1, TString f="car", TString u="rad")
TObjArray * SortDevices (TObjArray *hits, Int_t idx=1, Int_t mode=-1, Int_t mcal=1, Int_t deadcheck=1, TObjArray *ordered=0)
TObjArray * SortDevices (TObjArray *hits, TString name, Int_t mode=-1, Int_t mcal=1, Int_t deadcheck=1, TObjArray *ordered=0)
TObjArray * SortDevices (TString classname, Int_t idx=1, Int_t mode=-1, Int_t mcal=1, Int_t deadcheck=1, TObjArray *ordered=0)
TObjArray * SortDevices (TString classname, TString name, Int_t mode=-1, Int_t mcal=1, Int_t deadcheck=1, TObjArray *ordered=0)
TObjArray * SortHits (TString classname, Int_t idx=1, Int_t mode=-1, Int_t mcal=1, Int_t deadcheck=1, TObjArray *ordered=0)
TObjArray * SortHits (TString classname, TString name, Int_t mode=-1, Int_t mcal=1, Int_t deadcheck=1, TObjArray *ordered=0)
Public Member Functions inherited from NcVertex
 NcVertex ()
 NcVertex (const NcVertex &v)
 NcVertex (Int_t n)
virtual ~NcVertex ()
void AddJet (NcJet &j, Int_t tracks=1)
void AddJet (NcJet *j, Int_t tracks=1)
void AddVertex (NcVertex &v, Int_t connect=1)
void AddVertex (NcVertex *v, Int_t connect=1)
virtual void Data (TString f="car", TString u="rad") const
virtual void Draw (Int_t secs, Int_t cons=1, Int_t jets=0)
virtual void Draw (Option_t *)
NcJetGetIdJet (Int_t id) const
NcVertexGetIdVertex (Int_t id) const
NcJetGetJet (Int_t i) const
Int_t GetJetCopy () const
Int_t GetNjets () const
Int_t GetNvertices () const
NcVertexGetVertex (Int_t i) const
Int_t GetVertexCopy () const
Int_t IsConnectTrack (NcTrack *t) const
Int_t IsJetTrack (NcTrack *t) const
virtual void List (TString f="car", TString u="rad", TObjArray *tracks=0)
virtual void ListAll (TString f="car", TString u="rad", TObjArray *tracks=0)
void ResetVertices ()
void SetJetCopy (Int_t j)
void SetNjmax (Int_t n=2)
void SetNvmax (Int_t n=2)
void SetVertexCopy (Int_t j)
TObjArray * SortJets (Int_t mode=-1, TObjArray *jets=0, TObjArray *ordered=0)
Public Member Functions inherited from NcJet
 NcJet ()
 NcJet (const NcJet &j)
 NcJet (Int_t n)
virtual ~NcJet ()
void AddTrack (NcTrack &t)
void AddTrack (NcTrack *t)
Nc3Vector Get3Momentum (Float_t scale=-1) const
Float_t GetCharge () const
Double_t GetDistance (NcJet &j, Float_t scale=-1)
Double_t GetDistance (NcJet *j, Float_t scale=-1)
Double_t GetDistance (NcPosition &p, Float_t scale=-1)
Double_t GetDistance (NcPosition *p, Float_t scale=-1)
Double_t GetDistance (NcTrack &t, Float_t scale=-1)
Double_t GetDistance (NcTrack *t, Float_t scale=-1)
Double_t GetEl (Float_t scale=-1)
Double_t GetEnergy (Float_t scale=-1)
Float_t GetEscale () const
Double_t GetEt (Float_t scale=-1)
Int_t GetId () const
NcTrackGetIdTrack (Int_t id) const
Double_t GetInvmass (Float_t scale=-1)
Double_t GetMomentum (Float_t scale=-1)
Double_t GetMt (Float_t scale=-1)
Int_t GetNsignals (TString classname="TObject", Int_t par=0) const
Int_t GetNtracks (Int_t idmode=0, Int_t chmode=2, Int_t pcode=0)
Int_t GetNtracks (TString name, Int_t mode=0)
Double_t GetPl (Float_t scale=-1)
Double_t GetPt (Float_t scale=-1)
Double_t GetRapidity ()
NcPositionGetReferencePoint ()
TObjArray * GetSignals (TString classname, Int_t par=0, TObjArray *signals=0)
Double_t GetSignalValue (TString classname, TString varname, Int_t mode=0, Int_t par=2)
NcTrackGetTrack (Int_t i) const
Int_t GetTrackCopy () const
TObjArray * GetTracks (Int_t idmode=0, Int_t chmode=2, Int_t pcode=0, TObjArray *tracks=0)
TObjArray * GetTracks (TString name, Int_t mode=0, TObjArray *tracks=0)
void RemoveTrack (NcTrack *t)
void RemoveTracks (Int_t idmode=0, Int_t chmode=2, Int_t pcode=0)
void RemoveTracks (TString name, Int_t mode=0)
void ReplaceTrack (NcTrack *told, NcTrack *tnew)
void SetEscale (Float_t scale)
void SetId (Int_t id)
void SetReferencePoint (NcPosition &p)
void SetTrackCopy (Int_t j)
void ShowSignals (TString classname, Int_t par=0, Int_t mode=1, TString f="car", TString u="rad")
void ShowTracks (Int_t mode=1, TString f="car", TString u="rad", TObjArray *tracks=0)
TObjArray * SortTracks (Int_t mode=-1, TObjArray *tracks=0, TObjArray *ordered=0)
Public Member Functions inherited from Nc4Vector
 Nc4Vector ()
 Nc4Vector (const Nc4Vector &v)
virtual ~Nc4Vector ()
Double_t Dot (Nc4Vector &q)
Nc3Vector Get3Vector () const
Double_t GetBeta ()
Nc3Vector GetBetaVector () const
void GetErrors (Double_t *v, TString f, TString u="rad")
void GetErrors (Float_t *v, TString f, TString u="rad")
Double_t GetGamma ()
Double_t GetInvariant ()
virtual Double_t GetOpeningAngle (Nc3Vector &q, TString u="rad")
virtual Double_t GetOpeningAngle (Nc4Vector &q, TString u="rad")
Double_t GetPseudoRapidity ()
Double_t GetResultError () const
Double_t GetScalar ()
Int_t GetScalarFlag () const
NcSignalGetUserData () const
Nc3Vector GetVecLong () const
void GetVector (Double_t *v, TString f, TString u="rad")
void GetVector (Float_t *v, TString f, TString u="rad")
Nc3Vector GetVecTrans () const
Double_t GetX (Int_t i, TString f, TString u="rad")
Int_t HasErrors () const
Int_t HasVector () const
virtual void Load (Nc4Vector &q)
Nc4Vector operator* (Double_t s)
Nc4Vectoroperator*= (Double_t s)
Nc4Vector operator+ (Nc4Vector &q)
Nc4Vectoroperator+= (Nc4Vector &q)
Nc4Vector operator- (Nc4Vector &q)
Nc4Vectoroperator-= (Nc4Vector &q)
Nc4Vector operator/ (Double_t s)
Nc4Vectoroperator/= (Double_t s)
Nc4Vectoroperator= (const Nc4Vector &q)
void Set3Vector (Double_t *v, TString f, TString u="rad")
void Set3Vector (Double_t v1, Double_t v2, Double_t v3, TString f, TString u="rad")
void Set3Vector (Float_t *v, TString f, TString u="rad")
void Set3Vector (Nc3Vector &v)
void SetErrors (Double_t *v, TString f, TString u="rad")
void SetErrors (Double_t e0, Double_t e1, Double_t e2, Double_t e3, TString f, TString u="rad")
void SetErrors (Float_t *v, TString f, TString u="rad")
void SetInvariant (Double_t v2, Double_t dv2=0)
void SetInvariantError (Double_t dv2)
void SetScalar (Double_t v0, Double_t dv0=0)
void SetScalarError (Double_t dv0)
void SetUserData (NcSignal &s)
void SetUserData (NcSignal *s)
void SetVector (Double_t *v, TString f, TString u="rad")
void SetVector (Double_t v0, Double_t v1, Double_t v2, Double_t v3, TString f, TString u="rad")
void SetVector (Double_t v0, Nc3Vector &v)
void SetVector (Float_t *v, TString f, TString u="rad")
virtual void SetZero ()
Public Member Functions inherited from NcPosition
 NcPosition ()
 NcPosition (const NcPosition &p)
virtual ~NcPosition ()
Double_t GetDistance (NcPosition &p, Float_t scale=-1)
Double_t GetDistance (NcPosition *p, Float_t scale=-1)
NcPositionGetPosition ()
void GetPosition (Double_t *r, TString f, TString u="rad", Float_t s=-1) const
void GetPosition (Float_t *r, TString f, TString u="rad", Float_t s=-1) const
void GetPositionErrors (Double_t *e, TString f, TString u="rad", Float_t s=-1) const
void GetPositionErrors (Float_t *e, TString f, TString u="rad", Float_t s=-1) const
NcTimestampGetTimestamp ()
Float_t GetUnitScale () const
NcPositionoperator= (const NcPosition &p)
void RemoveTimestamp ()
void ResetPosition ()
void SetPosition (Double_t *r, TString f, TString u="rad")
void SetPosition (Double_t r1, Double_t r2, Double_t r3, TString f, TString u="rad")
void SetPosition (Float_t *r, TString f, TString u="rad")
void SetPosition (Nc3Vector &r)
void SetPositionErrors (Double_t *e, TString f, TString u="rad")
void SetPositionErrors (Double_t e1, Double_t e2, Double_t e3, TString f, TString u="rad")
void SetPositionErrors (Float_t *e, TString f, TString u="rad")
void SetTimestamp (NcTimestamp &t)
void SetUnitScale (Float_t s)
Public Member Functions inherited from Nc3Vector
 Nc3Vector ()
 Nc3Vector (const Nc3Vector &v)
virtual ~Nc3Vector ()
Double_t ConvertAngle (Double_t a, TString in, TString out) const
Nc3Vector Cross (Nc3Vector &q) const
Double_t Dot (Nc3Vector &q)
void GetErrors (Double_t *e, TString f, TString u="rad") const
void GetErrors (Float_t *e, TString f, TString u="rad") const
Double_t GetNorm ()
virtual Double_t GetOpeningAngle (Nc3Vector &q, TString u="rad")
Nc3Vector GetPrimed (TRotMatrix *m) const
Double_t GetPseudoRapidity ()
Double_t GetResultError () const
Nc3Vector GetUnprimed (TRotMatrix *m) const
Nc3Vector GetVecLong () const
void GetVector (Double_t *v, TString f, TString u="rad") const
void GetVector (Float_t *v, TString f, TString u="rad") const
Nc3Vector GetVecTrans () const
Double_t GetX (Int_t i, TString f, TString u="rad")
Int_t HasErrors () const
Int_t HasVector () const
virtual void Load (Nc3Vector &q)
Nc3Vector operator* (Double_t s) const
Nc3Vectoroperator*= (Double_t s)
Nc3Vector operator+ (Nc3Vector &q) const
Nc3Vectoroperator+= (Nc3Vector &q)
Nc3Vector operator- (Nc3Vector &q) const
Nc3Vectoroperator-= (Nc3Vector &q)
Nc3Vector operator/ (Double_t s) const
Nc3Vectoroperator/= (Double_t s)
Nc3Vectoroperator= (const Nc3Vector &q)
void PrintAngle (Double_t a, TString in, TString out, Int_t ndig=1, Bool_t align=kFALSE) const
void SetErrors (Double_t *e, TString f, TString u="rad")
void SetErrors (Double_t e1, Double_t e2, Double_t e3, TString f, TString u="rad")
void SetErrors (Float_t *e, TString f, TString u="rad")
void SetVector (Double_t *v, TString f, TString u="rad")
void SetVector (Double_t v1, Double_t v2, Double_t v3, TString f, TString u="rad")
void SetVector (Float_t *v, TString f, TString u="rad")
virtual void SetZero ()
Public Member Functions inherited from NcTimestamp
 NcTimestamp ()
 NcTimestamp (const NcTimestamp &t)
 NcTimestamp (TTimeStamp &t)
virtual ~NcTimestamp ()
void Add (Double_t hours)
void Add (Int_t d, Int_t s, Int_t ns, Int_t ps=0)
void AddSec (Double_t seconds)
Double_t Almanac (Double_t *dpsi=0, Double_t *deps=0, Double_t *eps=0, Double_t *dl=0, TString name="", Double_t *el=0, Double_t *eb=0, Double_t *dr=0, Double_t *value=0, Int_t j=0)
void Convert (Double_t date, Int_t &days, Int_t &secs, Int_t &ns) const
void Convert (Double_t h, Int_t &hh, Int_t &mm, Double_t &ss) const
void Convert (Double_t h, Int_t &hh, Int_t &mm, Int_t &ss, Int_t &ns, Int_t &ps) const
Double_t Convert (Int_t days, Int_t secs, Int_t ns) const
Double_t Convert (Int_t hh, Int_t mm, Double_t ss) const
Double_t Convert (Int_t hh, Int_t mm, Int_t ss, Int_t ns, Int_t ps) const
void Date (Int_t mode=3, Double_t offset=0)
Double_t GetBE ()
Double_t GetBE (Double_t date, TString mode="jd") const
TString GetDayTimeString (TString mode, Int_t ndig=0, Double_t offset=0, TString *date=0, TString *time=0, Bool_t full=kTRUE)
Int_t GetDifference (NcTimestamp &t, Int_t &days, Int_t &sec, Int_t &ns, Int_t &ps, TString type="UT")
Double_t GetDifference (NcTimestamp &t, TString u, Int_t mode=1, TString type="UT")
Int_t GetDifference (NcTimestamp *t, Int_t &days, Int_t &sec, Int_t &ns, Int_t &ps, TString type="UT")
Double_t GetDifference (NcTimestamp *t, TString u, Int_t mode=1, TString type="UT")
Double_t GetEpoch (TString mode)
Double_t GetGAST ()
Double_t GetGMST ()
void GetGMST (Int_t &hh, Int_t &mm, Int_t &ss, Int_t &ns, Int_t &ps)
TTree * GetIERSdatabase () const
Double_t GetJD ()
Double_t GetJD (Double_t e, TString mode="J") const
void GetJD (Int_t &jd, Int_t &sec, Int_t &ns)
Double_t GetJD (Int_t y, Int_t m, Int_t d, Int_t hh, Int_t mm, Int_t ss, Int_t ns) const
Double_t GetJE ()
Double_t GetJE (Double_t date, TString mode="jd") const
Double_t GetLAST (Double_t offset)
Double_t GetLAT (Double_t offset)
Double_t GetLMST (Double_t offset)
Double_t GetLT (Double_t offset)
Double_t GetMJD ()
Double_t GetMJD (Double_t e, TString mode="J") const
void GetMJD (Int_t &mjd, Int_t &sec, Int_t &ns)
Double_t GetMJD (Int_t y, Int_t m, Int_t d, Int_t hh, Int_t mm, Int_t ss, Int_t ns) const
Int_t GetNs () const
Int_t GetPs () const
Double_t GetTAI (Bool_t tmjd=kTRUE)
Int_t GetTAI (Int_t &d, Int_t &sec, Int_t &ns, Int_t &ps, Bool_t tmjd=kTRUE)
Int_t GetTAI (Int_t &hh, Int_t &mm, Int_t &ss, Int_t &ns, Int_t &ps, TString type="TAI")
Double_t GetTJD ()
Double_t GetTJD (Double_t e, TString mode="J") const
void GetTJD (Int_t &tjd, Int_t &sec, Int_t &ns)
Double_t GetTJD (Int_t y, Int_t m, Int_t d, Int_t hh, Int_t mm, Int_t ss, Int_t ns) const
Double_t GetUnixTime ()
Double_t GetUT ()
void GetUT (Int_t &hh, Int_t &mm, Int_t &ss, Int_t &ns, Int_t &ps)
Int_t GetUTCparameters (Int_t &leap, Double_t &dut) const
Int_t GetUTCparameters (Int_t mjd, Int_t &leap, Double_t &dut) const
Bool_t IsUT1 () const
TTree * LoadUTCparameterFiles (TString leapfile="$(NCFS)/IERS/leap.txt", TString dutfile="$(NCFS)/IERS/dut.txt")
NcTimestampoperator= (const NcTimestamp &t)
void PrintTime (Double_t h, Int_t ndig=1) const
void SetEpoch (Double_t e, TString mode, TString utc="U", Int_t leap=0, Double_t dut=0)
Int_t SetGPS (Int_t w, Int_t dow, Int_t sod, Int_t ns, Int_t ps, TString utc, Int_t leap, Double_t dut=0, Int_t icycle=0)
Int_t SetGPS (Int_t w, Int_t sow, Int_t ns, Int_t ps, TString utc, Int_t leap, Double_t dut=0, Int_t icycle=0)
void SetJD (Double_t jd, TString utc="U", Int_t leap=0, Double_t dut=0)
void SetJD (Int_t jd, Int_t sec, Int_t ns, Int_t ps=0, TString utc="U", Int_t leap=0, Double_t dut=0)
void SetLT (Double_t dt, Int_t y, Int_t d, Int_t s, Int_t ns=0, Int_t ps=0, TString utc="A", Int_t leap=0, Double_t dut=0)
void SetLT (Double_t dt, Int_t y, Int_t m, Int_t d, Int_t hh, Int_t mm, Double_t s, TString utc="A", Int_t leap=0, Double_t dut=0)
void SetLT (Double_t dt, Int_t y, Int_t m, Int_t d, Int_t hh, Int_t mm, Int_t ss, Int_t ns=0, Int_t ps=0, TString utc="A", Int_t leap=0, Double_t dut=0)
void SetLT (Double_t dt, Int_t y, Int_t m, Int_t d, TString time, TString utc="A", Int_t leap=0, Double_t dut=0)
void SetLT (Double_t dt, TString date, TString time, Int_t mode, TString utc="A", Int_t leap=0, Double_t dut=0)
void SetMJD (Double_t mjd, TString utc="U", Int_t leap=0, Double_t dut=0)
void SetMJD (Int_t mjd, Int_t sec, Int_t ns, Int_t ps=0, TString utc="U", Int_t leap=0, Double_t dut=0)
void SetNs (Int_t ns)
void SetPs (Int_t ps)
void SetSystemTime ()
Int_t SetTAI (Double_t tai, TString utc, Int_t leap, Double_t dut=0, Bool_t tmjd=kFALSE)
Int_t SetTAI (Int_t d, Int_t sec, Int_t ns, Int_t ps, TString utc, Int_t leap, Double_t dut=0, Bool_t tmjd=kFALSE)
Int_t SetTAI (TString type, TString date, TString time, Int_t mode, TString utc, Int_t leap, Double_t dut=0)
void SetTJD (Double_t tjd, TString utc="U", Int_t leap=0, Double_t dut=0)
void SetTJD (Int_t tjd, Int_t sec, Int_t ns, Int_t ps=0, TString utc="U", Int_t leap=0, Double_t dut=0)
Int_t SetUnixTime (Double_t sec, TString utc="A", Int_t leap=0, Double_t dut=0)
void SetUT (Int_t y, Int_t d, Int_t s, Int_t ns=0, Int_t ps=0, TString utc="A", Int_t leap=0, Double_t dut=0)
void SetUT (Int_t y, Int_t m, Int_t d, Int_t hh, Int_t mm, Double_t s, TString utc="A", Int_t leap=0, Double_t dut=0)
void SetUT (Int_t y, Int_t m, Int_t d, Int_t hh, Int_t mm, Int_t ss, Int_t ns=0, Int_t ps=0, TString utc="A", Int_t leap=0, Double_t dut=0)
void SetUT (Int_t y, Int_t m, Int_t d, TString time, TString utc="A", Int_t leap=0, Double_t dut=0)
void SetUT (TString date, TString time, Int_t mode, TString utc="A", Int_t leap=0, Double_t dut=0)

Protected Attributes

TArrayI * fStrings
 ! Temp. array to hold the string ids of fired modules
Protected Attributes inherited from NcEvent
NcDetectorfDetector
Int_t fDevCopy
TObjArray * fDevices
TObjArray * fDevs
 ! Temp. array to hold references to user selected devices
TObject * fDisplay
 ! Temp. pointer to hold objects which serve event displays
Int_t fEvent
TObjArray * fHits
 ! Temp. array to hold references to the registered NcDevice hits
TObjArray * fOrdered
 ! Temp. array to hold references to various ordered objects
Int_t fRun
Int_t fSelectLevel
Double_t fWeight
Protected Attributes inherited from NcVertex
TObjArray * fConnects
Int_t fJetCopy
TObjArray * fJets
TObjArray * fJetTracks
TObjArray * fLines
 ! Array to (temporarily) store the 3D lines for the event display
Int_t fNjets
Int_t fNjmax
Int_t fNvmax
Int_t fNvtx
Int_t fVertexCopy
TObjArray * fVertices
Protected Attributes inherited from NcJet
Float_t fEscale
Int_t fNtinit
Int_t fNtmax
Int_t fNtrk
Float_t fQ
NcPositionObjfRef
TObjArray * fSelected
 ! Temp. array to hold user selected or ordered objects
Int_t fTrackCopy
TObjArray * fTracks
Int_t fUserId
Protected Attributes inherited from Nc4Vector
Double32_t fDresult
 ! The error on the scalar result of an operation (e.g. dotproduct)
Double32_t fDv0
Double32_t fDv2
Int_t fScalar
NcSignalfUser
Nc3Vector fV
Double32_t fV0
Double32_t fV2
Protected Attributes inherited from NcPosition
Float_t fScale
NcTimestampfTstamp
Protected Attributes inherited from Nc3Vector
Double32_t fDresult
 ! Error on scalar result (e.g. norm or dotproduct)
Int_t fNv
Double32_t * fV
Protected Attributes inherited from NcTimestamp
Double_t fDut
Int_t fJns
Int_t fJps
Int_t fJsec
Int_t fLeap
Int_t fMJD
Int_t fTmjd
Int_t fTns
Int_t fTps
Int_t fTsec
Int_t fUtc
TTree * fUTCdata

Additional Inherited Members

Protected Member Functions inherited from NcEvent
void CreateDetector ()
void LoadHits (TString classname, TObjArray *hits=0)
Protected Member Functions inherited from NcVertex
void Init ()
Protected Member Functions inherited from NcJet
void AddTrack (NcTrack &t, Int_t copy)
void AddTrack (NcTrack *t, Int_t copy)
void Init ()
void RemoveTrack (NcTrack *t, Int_t compress)
void SetNtinit (Int_t n=2)
Protected Member Functions inherited from Nc4Vector
Double_t GetScaLong ()
Double_t GetScaTrans ()
Protected Member Functions inherited from NcTimestamp
Int_t SetUTCparameters (TString utc, Int_t leap, Double_t dut)

Constructor & Destructor Documentation

◆ IceEvent() [1/2]

IceEvent::IceEvent ( )
// Default constructor.

Definition at line 289 of file IceEvent.cxx.

◆ ~IceEvent()

IceEvent::~IceEvent ( )
virtual
// Default destructor.

Definition at line 300 of file IceEvent.cxx.

◆ IceEvent() [2/2]

IceEvent::IceEvent ( const IceEvent & evt)
// Copy constructor.

Definition at line 315 of file IceEvent.cxx.

Member Function Documentation

◆ Clone()

TObject * IceEvent::Clone ( const char * name = "") const
virtual
// Make a deep copy of the current object and provide the pointer to the copy.
// This memberfunction enables automatic creation of new objects of the
// correct type depending on the object type, a feature which may be very useful
// for containers like NcEvent when adding objects in case the
// container owns the objects. This feature allows e.g. NcEvent
// to store either IceEvent objects or objects derived from IceEvent
// via tha AddDevice memberfunction, provided these derived classes also have
// a proper Clone memberfunction.

Reimplemented from NcEvent.

Definition at line 782 of file IceEvent.cxx.

◆ GetNmodules() [1/2]

Int_t IceEvent::GetNmodules ( NcJet & j,
TString classname )
// Provide the number of fired (D)OMs of the specified classname,
// associated with the specified track.

Definition at line 520 of file IceEvent.cxx.

◆ GetNmodules() [2/2]

Int_t IceEvent::GetNmodules ( NcTrack & t,
TString classname )
// Provide the number of fired (D)OMs of the specified classname,
// associated with the specified track.

Definition at line 504 of file IceEvent.cxx.

◆ GetNstrings() [1/3]

Int_t IceEvent::GetNstrings ( NcJet & j,
TString classname )
// Provide the number of fired strings of modules of the specified classname,
// associated with the specified jet.

Definition at line 443 of file IceEvent.cxx.

◆ GetNstrings() [2/3]

Int_t IceEvent::GetNstrings ( NcTrack & t,
TString classname )
// Provide the number of fired strings of modules of the specified classname,
// associated with the specified track.

Definition at line 392 of file IceEvent.cxx.

◆ GetNstrings() [3/3]

Int_t IceEvent::GetNstrings ( TString classname)
// Provide the number of fired strings of good modules of the specified classname for this event.

Definition at line 343 of file IceEvent.cxx.

◆ GetStringMax()

Int_t IceEvent::GetStringMax ( TString classname,
Int_t * id = 0,
Float_t * x = 0,
Float_t * y = 0 )
// Provide the max. number of fired good (D)OMs of the specified classname at a single string.
// In case the arguments "id", "x" or "y" are specified, the following information
// is returned via the corresponding pointer :
//
// id : The ID of the string that had the maximum number of firing good (D)OMs
// x : The X coordinate (in m) of the string that had the maximum number of firing good (D)OMs
// y : The Y coordinate (in m) of the string that had the maximum number of firing good (D)OMs
//
// By default id=0, x=0 and y=0 which implies that no info is returned.

Definition at line 536 of file IceEvent.cxx.

◆ GetTriggerTime()

Float_t IceEvent::GetTriggerTime ( TString trigname,
TObjArray * arr = 0,
Int_t slc = 0,
TArrayF * peaks = 0 ) const
// Determination of the requested trigger time.
//
// Input arguments :
// -----------------
// trigname : The name of the requested trigger.
// arr : Array containing optical modules or hits to determine the median of recorded hit times.
// slc : Flag to denote to use (1) or not use (0) SLC hits for the trigger time determination
// peaks : Array with the hit time values where hit clusters (=peaks) were found in the hit time distr.
//
// Notes :
// -------
// 1) Specification of the trigger name "Average" will provide the median of all the recorded
// trigger times for the current event (provided no array "arr" is specified as explained below).
// In the determination of this median value the GLOBAL triggers are not taken into account.
// 2) In case an array "arr" is specified, the trigger time will be taken as the median of all
// the recorded hit times.
// When an array "arr" is specified, the specified "trigname" is irrelevant.
// 3) The array "arr" may either contain optical modules or hits, but NOT a mix of both.
// 4) In case an array pointer "peaks" is specified in addition to an array "arr", the hit time distribution
// will be analysed for hit clusters (=peaks). The hit times corresponding to the peaks are returned via
// this array "peaks". The number of detected peaks may be obtained via peaks->GetSize().
//
// Default : arr=0, slc=0 and peaks=0.
//
// In case of missing information a trigger time value of 0 will be returned.

Definition at line 603 of file IceEvent.cxx.

◆ Reset()

void IceEvent::Reset ( )
virtual
// Reset all values.

Reimplemented from NcEvent.

Definition at line 326 of file IceEvent.cxx.

Member Data Documentation

◆ fStrings

TArrayI* IceEvent::fStrings
protected

! Temp. array to hold the string ids of fired modules

Definition at line 36 of file IceEvent.h.


The documentation for this class was generated from the following files: