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

Creation and investigation of an NCFS generic event structure. More...

#include "NcEvent.h"

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

Detailed Description

Creation and investigation of an NCFS generic event structure.


Copyright(c) 2001 NCFS/IIHE, All Rights Reserved. *
*
Authors: The Netherlands Center for Fundamental Studies (NCFS). *
The Inter-university Institute for High Energies (IIHE). *
Website : http://www.iihe.ac.be *
Contact : Nick van Eijndhoven (nickve.nl@gmail.com) *
*
Contributors are mentioned in the code where appropriate. *
*
No part of this software may be used, copied, modified or distributed *
by any means nor transmitted or translated into machine language for *
commercial purposes without written permission by the IIHE representative. *
Permission to use the software 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. *
This software is provided "as is" without express or implied warranty. *
The authors make no claims that this software is free of error, or is *
consistent with any particular standard of merchantability, or that it *
will meet your requirements for any particular application, other than *
indicated in the corresponding documentation. *
This software should not be relied on for solving a problem whose *
incorrect solution could result in injury to a person or loss of property. *
If you do use this software in such a manner, it is at your own risk. *
The authors disclaim all liability for direct or consequential damage *
resulting from your use of this software. *

// Class NcEvent
// Creation and investigation of an NCFS generic event structure.
// An NcEvent can be constructed by adding NcTrack, NcVertex, NcJet
// and/or NcDevice (or derived) objects, like for instance NcCalorimeter.
//
// Addition of devices is best done via a (hierarchical) detector structure.
// Please refer to the documentation of NcDetector for further details.
//
// However, some devices intrinsically belong to the event instead of the detector
// to reflect e.g. reconstruction, filtering or selection results.
// For the latter see for instance the NcEventSelector processor.
// In general these devices are best added to the NcEvent structure itself.
//
// NcDevice (or derived) objects provide additional hit handling facilities.
// A "hit" is a generic name indicating an NcSignal (or derived) object.
// Note that NcEvent does NOT own hits; it only provides references to hits
// obtained from the various devices.
// This implies that hits should be owned by the devices themselves.
//
// The basic functionality of NcEvent is identical to the one of NcVertex.
// So, an NcEvent may be used as the primary vertex with some additional
// functionality compared to NcVertex.
//
// An NcEvent contains a weight and an event selection level to facilitate
// correct (statistical) treatment in the final scientific analysis.
// See the SetWeight(), GetWeight(), SetSelectLevel() and GetSelectLevel()
// memberfunctions for further details.
//
// To provide maximal flexibility to the user, the two modes of track/jet/vertex
// storage as described in NcJet and NcVertex can be used.
// In addition an identical structure is provided for the storage of devices
// which can be selected by means of the memberfunction SetDevCopy().
//
// a) SetDevCopy(0) (which is the default).
// Only the pointers of the 'added' devices are stored.
// This mode is typically used by making studies based on a fixed set
// of devices which stays under user control or is kept on an external
// file/tree.
// In this way the NcEvent just represents a 'logical structure' for the
// physics analysis.
//
// Note :
// Modifications made to the original devices also affect the device
// objects which are stored in the NcEvent.
//
// b) SetDevCopy(1).
// Of every 'added' device a private copy will be made of which the pointer
// will be stored.
// In this way the NcEvent represents an entity on its own and modifications
// made to the original devices do not affect the NcDevice (or derived) objects
// which are stored in the NcEvent.
// This mode will allow 'adding' many different devices into an NcEvent by
// creating only one device instance in the main programme and using the
// Reset() and parameter setting memberfunctions of the object representing the device.
//
// Note :
// The copy is made using the Clone() memberfunction.
// All devices (i.e. classes derived from TObject) have the default TObject::Clone()
// memberfunction.
// However, devices generally contain an internal (signal) data structure
// which may include pointers to other objects. Therefore it is recommended to provide
// for all devices a specific copy constructor and override the default Clone()
// memberfunction using this copy constructor.
// Examples for this may be seen from NcCalorimeter, NcSignal and NcDevice.
//
// See also the documentation provided for the memberfunction SetOwner().
//
// Coding example to make an event consisting of a primary vertex,
// 2 secondary vertices and a calorimeter.
// --------------------------------------------------------------
// vp contains the tracks 1,2,3 and 4 (primary vertex)
// v1 contains the tracks 5,6 and 7 (sec. vertex)
// v2 contains the jets 1 and 2 (sec. vertex)
//
// NcEvent evt;
//
// Specify the event object as the repository of all objects
// for the event building and physics analysis.
//
// evt.SetDevCopy(1);
// evt.SetTrackCopy(1);
//
// Fill the event structure with the basic objects
//
// NcCalorimeter emcal1;
// NcCalorimeter emcal2;
// ...
// ... // code to fill the emcal1 and emcal2 calorimeter data
// ...
//
// evt.AddDevice(emcal1);
// evt.AddDevice(emcal2);
//
// // Assume NcTOF has been derived from NcDevice
// NcTOF tof1;
// NcTOF tof2;
// ...
// ... // code to fill the tof1 and tof2 data
// ...
//
// evt.AddDevice(tof1);
// evt.AddDevice(tof2);
//
// NcTrack* tx=new NcTrack();
// for (Int_t i=0; i<10; i++)
// {
// ...
// ... // code to fill the track data
// ...
// evt.AddTrack(tx);
// tx->Reset();
// }
//
// if (tx)
// {
// delete tx;
// tx=0;
// }
//
// Order and investigate all the hits of all the TOF devices
//
// TObjArray* hits=evt.GetHits("NcTOF");
// TObjArray* orderedtofs=evt.SortHits(hits);
// Int_t nhits=0;
// if (orderedtofs) nhits=orderedtofs->GetEntries();
// for (Int_t i=0; i<nhits; i++)
// {
// NcSignal* sx=(NcSignal*)orderedtofs->At(i);
// if (sx) sx->Data();
// }
//
// Order and investigate all the hits of all the calorimeter devices
//
// TObjArray* hits=evt.GetHits("NcCalorimeter");
// TObjArray* orderedcals=evt.SortHits(hits);
// Int_t nhits=0;
// if (orderedcals) nhits=orderedcals->GetEntries();
// for (Int_t i=0; i<nhits; i++)
// {
// NcSignal* sx=(NcSignal*)orderedcals->At(i);
// if (sx) sx->Data();
// }
//
// Build the event structure (vertices, jets, ...) for physics analysis
// based on the basic objects from the event repository.
//
// NcJet j1,j2;
// for (Int_t i=0; i<evt.GetNtracks(); i++)
// {
// tx=evt.GetTrack(i);
// ...
// ... // code to fill the jet data
// ...
// }
//
// NcVertex vp;
// tx=evt.GetTrack(1);
// vp.AddTrack(tx);
// tx=evt.GetTrack(2);
// vp.AddTrack(tx);
// tx=evt.GetTrack(3);
// vp.AddTrack(tx);
// tx=evt.GetTrack(4);
// vp.AddTrack(tx);
//
// Float_t rp[3]={2.4,0.1,-8.5};
// vp.SetPosition(rp,"car");
//
// NcVertex v1;
// tx=evt.GetTrack(5);
// v1.AddTrack(tx);
// tx=evt.GetTrack(6);
// v1.AddTrack(tx);
// tx=evt.GetTrack(7);
// v1.AddTrack(tx);
//
// Float_t r1[3]={1.6,-3.2,5.7};
// v1.SetPosition(r1,"car");
//
//
// NcVertex v2;
// v2.SetJetCopy(1);
// v2.AddJet(j1);
// v2.AddJet(j2);
//
// Float_t r2[3]={6.2,4.8,1.3};
// v2.SetPosition(r2,"car");
//
// Specify the vertices v1 and v2 as secondary vertices of the primary
//
// vp.SetVertexCopy(1);
// vp.AddVertex(v1);
// vp.AddVertex(v2);
//
// Enter the physics structures into the event
// evt.SetVertexCopy(1);
// evt.AddVertex(vp,0);
//
// The jets j1 and j2 are already available via sec. vertex v2,
// but can be made available also from the event itself if desired.
// NcJet* jx;
// jx=v2.GetJet(1);
// evt.AddJet(jx,0);
// jx=v2.GetJet(2);
// evt.AddJet(jx,0);
//
// evt.Data("sph");
// v1.ListAll();
// v2.List("cyl");
//
// Float_t etot=evt.GetEnergy();
// Nc3Vector ptot=evt.Get3Momentum();
// Float_t loc[3];
// evt.GetPosition(loc,"sph");
// NcPosition r=v1.GetPosition();
// r.Data();
// Int_t nt=v2.GetNtracks();
// NcTrack* tv=v2.GetTrack(1); // Access track number 1 of Vertex v2
//
// evt.List();
//
// Int_t nv=evt.GetNvtx();
// NcVertex* vx=evt.GetVertex(1); // Access primary vertex
// Float_t e=vx->GetEnergy();
//
// Float_t M=evt.GetInvmass();
//
// Reconstruct the event from scratch
//
// evt.Reset();
// evt.SetNvmax(25); // Increase initial no. of sec. vertices
// ...
// ... // code to create tracks etc...
// ...
//
// Note : By default all quantities are in meter, GeV, GeV/c or GeV/c**2
// but the user can indicate the usage of a different scale for
// the metric and/or energy-momentum units via the SetUnitScale()
// and SetEscale() memberfunctions, respectively.
// The actual metric and energy-momentum unit scales in use can be
// obtained via the GetUnitScale() and GetEscale() memberfunctions.
//
//--- Author: Nick van Eijndhoven 27-may-2001 Utrecht University
//- Modified: Nick van Eijndhoven, IIHE-VUB, Brussel, January 6, 2022 21:18Z

Definition at line 14 of file NcEvent.h.

Public Member Functions

 NcEvent ()
 
 NcEvent (const NcEvent &evt)
 
 NcEvent (Int_t n)
 
virtual ~NcEvent ()
 
void AddDevice (NcDevice &d)
 
void AddDevice (NcDevice *d)
 
virtual TObject * Clone (const char *name="") const
 
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)
 
virtual void Reset ()
 
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
 
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")
 
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 Member Functions

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)
 

Protected Attributes

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
 

Constructor & Destructor Documentation

◆ NcEvent() [1/3]

NcEvent::NcEvent ( )
// Default constructor.
// All variables initialised to default values.

Definition at line 289 of file NcEvent.cxx.

◆ NcEvent() [2/3]

NcEvent::NcEvent ( Int_t n)
// Create an event to hold initially a maximum of n tracks.
// All variables initialised to default values

Definition at line 311 of file NcEvent.cxx.

◆ ~NcEvent()

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

Definition at line 337 of file NcEvent.cxx.

◆ NcEvent() [3/3]

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

Definition at line 378 of file NcEvent.cxx.

Member Function Documentation

◆ AddDevice() [1/2]

void NcEvent::AddDevice ( NcDevice & d)
// Add a device to the event.
//
// Devices will in principle be stored in the detector structure (see SetDetector),
// and when no detector structure is yet available, a default one will be created.
// However, in case there are already devices stored in the internal storage area,
// the use of the internal storage area will be continued instead, in order to provide
// backward compatibility with old data files.
// When the internal storage area is used, NcDetector or NcDetectorUnit (or derived) objects
// can not be stored in view of backward compatibility.
//
// Note :
//-------
// In case a private copy is made, this is performed via the Clone() memberfunction.
// All devices (i.e. classes derived from TObject) have the default TObject::Clone()
// memberfunction.
// However, devices generally contain an internal (signal) data structure
// which may include pointers to other objects. Therefore it is recommended to provide
// for all devices a specific copy constructor and override the default Clone()
// memberfunction using this copy constructor.
// An example for this may be seen from NcCalorimeter.

Definition at line 1210 of file NcEvent.cxx.

◆ AddDevice() [2/2]

void NcEvent::AddDevice ( NcDevice * d)
inline

Definition at line 49 of file NcEvent.h.

◆ Clone()

TObject * NcEvent::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 when adding objects in case the container owns the objects.
// This feature allows to store either NcEvent objects or objects derived from
// NcEvent via some generic AddEvent memberfunction, provided these derived
// classes also have a proper Clone memberfunction.

Reimplemented from NcVertex.

Reimplemented in IceEvent, and RnoEvent.

Definition at line 2737 of file NcEvent.cxx.

◆ CreateDetector()

void NcEvent::CreateDetector ( )
protected
// Internal memberfunction to create a default detector structure.
//
// The detector structure replaces the old internal storage array,
// which is still kept for backward compatibility with (very) old data files.

Definition at line 1086 of file NcEvent.cxx.

◆ Data()

void NcEvent::Data ( TString f = "car",
TString u = "rad" )
virtual
// Provide event information within the coordinate frame f.
//
// The string argument "u" allows to choose between different angular units
// in case e.g. a spherical frame is selected.
// u = "rad" : angles provided in radians
// "deg" : angles provided in degrees
//
// The defaults are f="car" and u="rad".

Reimplemented from NcVertex.

Definition at line 1017 of file NcEvent.cxx.

◆ DisplayHits() [1/2]

void NcEvent::DisplayHits ( TString classname,
Int_t idx = 1,
Float_t scale = -1,
Int_t dp = 0,
Int_t mode = 1,
Int_t mcol = 4 )
// 3D color display of the various hits registered to the specified device (or derived) class.
// For classname="*", no selection on the device class will be performed.
//
// The user can specify the index (default=1) of the signal slot to perform the display for.
// The marker size will indicate the absolute value of the signal (specified by the slotindex)
// as a percentage of the input argument "scale".
// In case scale<0 the maximum absolute signal value encountered in the hit array will be used
// to define the 100% scale. The default is scale=-1.
// In case dp=1 the owning device position will be used, otherwise the hit position will
// be used in the display. The default is dp=0.
// Via the "mcol" argument the user can specify the marker color (see TAttMarker).
// The default is mcol=4 (blue).
// Signals which were declared as "Dead" will not be displayed.
// The gain etc... corrected signals will be used to determine the marker size.
// The gain correction is performed according to "mode" argument. The definition of this
// "mode" parameter corresponds to the description provided in the GetSignal
// memberfunction of class NcSignal.
// The default is mode=1 (for backward compatibility reasons).
//
// For more extended functionality see class NcDevice.
//
// Note :
// ------
// Before any display activity, a TCanvas and a TView have to be initiated
// first by the user like for instance
//
// TCanvas* c1=new TCanvas("c1","c1");
// TView* view=new TView(1);
// view->SetRange(-1000,-1000,-1000,1000,1000,1000);
// view->ShowAxis();

Definition at line 2236 of file NcEvent.cxx.

◆ DisplayHits() [2/2]

void NcEvent::DisplayHits ( TString classname,
TString name,
Float_t scale = -1,
Int_t dp = 0,
Int_t mode = 1,
Int_t mcol = 4 )
// 3D color display of the various hits registered to the specified device (or derived) class.
// For classname="*", no selection on the device class will be performed.
//
// The user can specify the name of the signal slot to perform the display for.
// The marker size will indicate the absolute value of the signal (specified by the slotname)
// as a percentage of the input argument "scale".
// In case scale<0 the maximum absolute signal value encountered in the hit array will be used
// to define the 100% scale. The default is scale=-1.
// In case dp=1 the owning device position will be used, otherwise the hit position will
// be used in the display. The default is dp=0.
// The marker size will indicate the percentage of the maximum encountered value
// of the absolute value of the name-specified input signal slots.
// Via the "mcol" argument the user can specify the marker color (see TAttMarker).
// The default is mcol=4 (blue).
// Signals which were declared as "Dead" will not be displayed.
// The gain etc... corrected signals will be used to determine the marker size.
// The gain correction is performed according to "mode" argument. The definition of this
// "mode" parameter corresponds to the description provided in the GetSignal
// memberfunction of class NcSignal.
// The default is mode=1 (for backward compatibility reasons).
//
// For more extended functionality see class NcDevice.
//
// Note :
// ------
// Before any display activity, a TCanvas and a TView have to be initiated
// first by the user like for instance
//
// TCanvas* c1=new TCanvas("c1","c1");
// TView* view=new TView(1);
// view->SetRange(-1000,-1000,-1000,1000,1000,1000);
// view->ShowAxis();

Definition at line 2291 of file NcEvent.cxx.

◆ GetCOG()

NcPosition NcEvent::GetCOG ( TObjArray * hits,
Int_t pos = 0,
TString slotname = "none",
Int_t mode = 0 ) const
// Provide the Center Of Gravity of the hits contained in the array "hits".
// Each hit can be given a weight according to the absolute value of the signal
// contained in the slot with the name "slotname".
// In case slotname="none" each hit will obtain a weight equal to 1.
// The input argument "mode" has the same meaning as in the GetSignal() member function
// of the class NcSignal.
//
// pos = 0 ==> The position of the hit signal itself is used.
// 1 ==> The position of the parent device of the hit signal is used.
//
// The defaults are pos=0, slotname="none" and mode=0.
//
// Note : In case of inconsistent input a "zero vector" will be returned.

Definition at line 2116 of file NcEvent.cxx.

◆ GetCVAL()

Double_t NcEvent::GetCVAL ( TObjArray * hits,
TString obsname,
TString weightname = "none",
Int_t mode = 0,
Int_t type = 1 ) const
// Provide the Central Value of the observed signals contained in the slot with name "obsname"
// in the array "hits". Depending on the input argument "type" the central value represents
// either the median (type=1) or the mean (type=2).
// Each hit can be given a weight according to the absolute value of the signal
// contained in the slot with the name "weightname".
// In case weightname="none" each hit will obtain a weight equal to 1.
// The input argument "mode" has the same meaning as in the GetSignal() member function
// of the class NcSignal.
//
// The defaults are weightname="none", mode=0 and type=1.
//
// Note : In case of inconsistent input 0 will be returned.

Definition at line 2142 of file NcEvent.cxx.

◆ GetDayTime()

TTimeStamp NcEvent::GetDayTime ( ) const
// Provide the date and time stamp for this event.
//
// Note : Since the introduction of the more versatile class NcTimestamp
// and the fact that NcEvent has now been derived from it,
// this memberfunction has become obsolete.
// It is recommended to use the corresponding NcTimestamp
// functionality directly for NcEvent instances.
// This memberfunction is only kept for backward compatibility.

Definition at line 608 of file NcEvent.cxx.

◆ GetDetector()

NcDetector * NcEvent::GetDetector ( ) const
// Provide the pointer to the (top level) detector structure.

Definition at line 1075 of file NcEvent.cxx.

◆ GetDevCopy()

Int_t NcEvent::GetDevCopy ( ) const
// Provide value of the DevCopy mode.
// 0 ==> No private copies are made; pointers of original devices are stored.
// 1 ==> Private copies of the devices are made and these pointers are stored.
//
// Note :
// In case a private copy is made, this is performed via the Clone() memberfunction.
// All devices (i.e. classes derived from TObject) have the default TObject::Clone()
// memberfunction.
// However, devices generally contain an internal (signal) data structure
// which may include pointers to other objects. Therefore it is recommended to provide
// for all devices a specific copy constructor and override the default Clone()
// memberfunction using this copy constructor.
// An example for this may be seen from NcCalorimeter.

Definition at line 1357 of file NcEvent.cxx.

◆ GetDevice() [1/2]

NcDevice * NcEvent::GetDevice ( Int_t i) const
// Return the i-th device of this event.
// The first device corresponds to i=1.

Definition at line 1380 of file NcEvent.cxx.

◆ GetDevice() [2/2]

NcDevice * NcEvent::GetDevice ( TString name) const
// Return the device with name tag "name".

Definition at line 1414 of file NcEvent.cxx.

◆ GetDevices()

TObjArray * NcEvent::GetDevices ( TString classname,
TObjArray * devices = 0 )
// Provide the references to the various devices derived from the specified class.
// For classname="*", no selection on the device class will be performed.
//
// Note :
// ------
// In case devices=0 the selected device pointers are returned via a multi-purpose array,
// which will be overwritten by subsequent selections.
// It is recommended to provide a user defined array via the argument "devices"
// to omit the danger of overwriting the selection and to allow to use the selected device list
// amongst other selections.
// In case a user defined array "devices" is provided, this memberfunction returns 0 for the
// return argument.
//
// The default is devices=0.

Definition at line 1656 of file NcEvent.cxx.

◆ GetEventNumber()

Int_t NcEvent::GetEventNumber ( ) const
// Provide the event number for this event.

Definition at line 637 of file NcEvent.cxx.

◆ GetExtremes() [1/2]

void NcEvent::GetExtremes ( TString classname,
Float_t & vmin,
Float_t & vmax,
Int_t idx = 1,
Int_t mode = 1,
Int_t deadcheck = 1 )
// Provide the min. and max. signal values of the various hits registered
// to the specified device (or derived) class.
// For classname="*", no selection on the device class will be performed.
//
// The input argument "idx" denotes the index of the signal slots to be investigated.
// The default is idx=1;
// The gain etc... corrected signals will be used in the process as specified
// by the "mode" argument. The definition of this "mode" parameter corresponds to
// the description provided in the GetSignal memberfunction of class NcSignal.
// The default is mode=1 (for backward compatibility reasons).
// The argument "deadcheck" allows to reject signals which were declared as "Dead".
// If deadcheck=0 the dead signals will be treated in the same way as the other signals.
// To achieve an identical treatment of dead and alive signals, the setting of deadcheck=0
// will automatically set also mode=0 to retrieve the stored signal values "as is".
// The default is deadcheck=1 (for backward compatibility reasons).
//
// For more extended functionality see class NcDevice.

Definition at line 2169 of file NcEvent.cxx.

◆ GetExtremes() [2/2]

void NcEvent::GetExtremes ( TString classname,
Float_t & vmin,
Float_t & vmax,
TString name,
Int_t mode = 1,
Int_t deadcheck = 1 )
// Provide the min. and max. signal values of the various hits registered
// to the specified device (or derived) class.
// For classname="*", no selection on the device class will be performed.
//
// The input argument "name" denotes the name of the signal slots to be investigated.
// The gain etc... corrected signals will be used in the process as specified
// by the "mode" argument. The definition of this "mode" parameter corresponds to
// the description provided in the GetSignal memberfunction of class NcSignal.
// The default is mode=1 (for backward compatibility reasons).
// The argument "deadcheck" allows to reject signals which were declared as "Dead".
// If deadcheck=0 the dead signals will be treated in the same way as the other signals.
// To achieve an identical treatment of dead and alive signals, the setting of deadcheck=0
// will automatically set also mode=0 to retrieve the stored signal values "as is".
// The default is deadcheck=1 (for backward compatibility reasons).
//
// For more extended functionality see class NcDevice.

Definition at line 2204 of file NcEvent.cxx.

◆ GetHitPath()

Nc3Vector NcEvent::GetHitPath ( TObjArray * hits,
Int_t pos = 0 ) const
// Provide the average direction of the hit pattern contained in the array "hits".
// The direction is obtained by starting at the first hit in the array
// and then a summation of all the relative hit locations while jumping
// from one hit location to the other.
// Since the obtained direction is obviously depending on the order in which the
// hits appear, the user should take care of providing a correctly ordered hit array.
//
// pos = 0 ==> The position of the hit signal itself is used.
// 1 ==> The position of the parent device of the hit signal is used.
//
// The default is pos=0.
//
// Note : In case of inconsistent input a "zero vector" will be returned.

Definition at line 2090 of file NcEvent.cxx.

◆ GetHits()

TObjArray * NcEvent::GetHits ( TString classname,
TObjArray * hits = 0,
TString name = "none",
Int_t mode = 0,
Int_t opt = 0 )
// Provide the references to all the hits registered to device (or derived) class as specified
// by the input argument "classname".
// The specified device class has to be derived from NcDevice.
// For classname="*", no selection on the device class will be performed.
//
// It is possible to indicate with the argument "classname" a specific
// device instead of a whole class of devices. However, in such a case
// it is more efficient to use the GetDevice() memberfunction directly.
//
// The argument "hits" may be used to retreive the required hit pointers.
// In case hits=0 the selected hit pointers are returned via a multi-purpose array,
// which will be overwritten by subsequent selections.
// It is recommended to provide a user defined array via the argument "hits"
// to omit the danger of overwriting the selection and to allow to use the selected hit list
// amongst other selections.
//
// The input arguments "name", "mode" and "opt" allow for further selection criteria
// as indicated below.
//
// name : The user provided hit or signal slot name to be used for the hit selection.
// If name="none", no selections will be made on the name matching.
//
// mode = 0 --> Hits with a matching hit name will be selected
// 1 --> Hits with a matching signal slot name will be selected
// 2 --> Hits matching in either hit name or signal slot name will be selected
// -1 --> Hits with NO matching hit name will be selected
// -2 --> Hits with NO matching signal slot name will be selected
// -3 --> Hits with NO matching hit name nor signal slot name will be selected
//
// opt = 0 --> The specified name has to match exactly the hit or slotname
// 1 --> The specified name string has to be contained in the hit or slotname
//
// The defaults are : hits=0, name="none", mode=0 and opt=0.

Definition at line 1763 of file NcEvent.cxx.

◆ GetIdDevice() [1/2]

NcDevice * NcEvent::GetIdDevice ( Int_t id,
TObjArray * devs = 0 ) const
// Return the NcDevice with identifier "id" from the specified array "devs".
// In case devs=0 (which is the default) all devices stored in the event
// structure will be evaluated.
// Note : In case of multiple occurrences of identifier "id", the first
// encountered matching device will be returned.

Definition at line 1451 of file NcEvent.cxx.

◆ GetIdDevice() [2/2]

NcDevice * NcEvent::GetIdDevice ( Int_t id,
TString classname ) const
// Return the device with identifier "id" of the specified class.
// For classname="*", no selection on the device class will be performed.
//
// Note : In case of multiple occurrences of identifier "id", the first
// encountered matching device will be returned.

Definition at line 1490 of file NcEvent.cxx.

◆ GetIdHit()

NcSignal * NcEvent::GetIdHit ( Int_t id,
TString classname )
// Return the hit with unique identifier "id" for the specified device (or derived) class.
// For classname="*", no selection on the device class will be performed.

Definition at line 1837 of file NcEvent.cxx.

◆ GetNdevices() [1/2]

Int_t NcEvent::GetNdevices ( ) const
// Provide the number of stored devices.

Definition at line 1103 of file NcEvent.cxx.

◆ GetNdevices() [2/2]

Int_t NcEvent::GetNdevices ( TString classname,
TObjArray * hits = 0 ) const
// Provide the number of devices of the specified class.
// In case an array "hits" is provided, the contents of the provided
// hit array are used to determine the number of different devices of the
// specified class to which the hits belong.
// Note that identification of the different hit parent devices only works
// for devices that have been given a unique identifier.
// In case no hit array is provided, just the number of stored devices of the
// specified class is returned.
//
// By default hits=0.

Definition at line 1126 of file NcEvent.cxx.

◆ GetNhits()

Int_t NcEvent::GetNhits ( TString classname)
// Provide the number of hits registered to the specified device (or derived) class.
// The specified device class has to be derived from NcDevice.
// For classname="*", no selection on the device class will be performed.
//
// It is possible to indicate with the argument "classname" a specific
// device instead of a whole class of devices. However, in such a case
// it is more efficient to use the GetDevice() memberfunction directly.

Definition at line 1731 of file NcEvent.cxx.

◆ GetProjectileA()

Int_t NcEvent::GetProjectileA ( ) const
// Provide the projectile A value.

Definition at line 777 of file NcEvent.cxx.

◆ GetProjectileId()

Int_t NcEvent::GetProjectileId ( ) const
// Provide the user defined particle ID of the projectile.

Definition at line 819 of file NcEvent.cxx.

◆ GetProjectilePnuc()

Double_t NcEvent::GetProjectilePnuc ( ) const
// Provide the projectile momentum value per nucleon.

Definition at line 805 of file NcEvent.cxx.

◆ GetProjectileZ()

Int_t NcEvent::GetProjectileZ ( ) const
// Provide the projectile Z value.

Definition at line 791 of file NcEvent.cxx.

◆ GetRunNumber()

Int_t NcEvent::GetRunNumber ( ) const
// Provide the run number for this event.

Definition at line 626 of file NcEvent.cxx.

◆ GetSelectLevel()

Int_t NcEvent::GetSelectLevel ( ) const
// Provide the selection level (<0:reject 0:undecided >0:accept) for this event.

Definition at line 659 of file NcEvent.cxx.

◆ GetTargetA()

Int_t NcEvent::GetTargetA ( ) const
// Provide the target A value.

Definition at line 940 of file NcEvent.cxx.

◆ GetTargetId()

Int_t NcEvent::GetTargetId ( ) const
// Provide the user defined particle ID of the target.

Definition at line 982 of file NcEvent.cxx.

◆ GetTargetPnuc()

Double_t NcEvent::GetTargetPnuc ( ) const
// Provide the target momentum value per nucleon.

Definition at line 968 of file NcEvent.cxx.

◆ GetTargetZ()

Int_t NcEvent::GetTargetZ ( ) const
// Provide the target Z value.

Definition at line 954 of file NcEvent.cxx.

◆ GetWeight()

Double_t NcEvent::GetWeight ( ) const
// Provide the weight for this event.

Definition at line 648 of file NcEvent.cxx.

◆ HeaderData()

void NcEvent::HeaderData ( )
virtual
// Provide event header information.

Definition at line 996 of file NcEvent.cxx.

◆ LoadHits()

void NcEvent::LoadHits ( TString classname,
TObjArray * hits = 0 )
protected
// Load the references to the various hits registered to the specified device (or derived) class.
// The specified device class has to be derived from NcDevice.
// For classname="*", no selection on the device class will be performed.
//
// Note :
// ------
// In case hits=0 the selected hit pointers are returned via a multi-purpose array,
// which will be overwritten by subsequent selections.
// It is recommended to provide a user defined array via the argument "hits"
// to omit the danger of overwriting the selection and to allow to use the selected hit list
// amongst other selections.
//
// The default is hits=0.

Definition at line 1881 of file NcEvent.cxx.

◆ RemoveDevice()

void NcEvent::RemoveDevice ( NcDevice * d)
// Remove the specified device from the event.

Definition at line 1286 of file NcEvent.cxx.

◆ Reset()

void NcEvent::Reset ( )
virtual
// Reset all variables to default values.
// The max. number of tracks is set to the initial value again.
// The max. number of vertices is set to the default value again.
// The event weight is set to 1 and the event select level is set to 0 again.
// The timestamp is set to the current time of the system clock.
// Note : The DevCopy mode is maintained as it was set by the user before.

Reimplemented from NcVertex.

Reimplemented in IceEvent, and RnoEvent.

Definition at line 436 of file NcEvent.cxx.

◆ SetDayTime() [1/2]

void NcEvent::SetDayTime ( TDatime & stamp)
// Set the date and time stamp for this event.
// The entered date/time will be interpreted as being the local date/time
// and the accuracy is 1 second.
//
// This function with the TDatime argument is mainly kept for backward
// compatibility reasons.
// It is recommended to use the corresponding NcTimestamp functionality
// directly for NcEvent instances.

Definition at line 544 of file NcEvent.cxx.

◆ SetDayTime() [2/2]

void NcEvent::SetDayTime ( TTimeStamp & stamp)
// Set the date and time stamp for this event.
// An exact copy of the entered date/time stamp will be saved with an
// accuracy of 1 nanosecond.
//
// Note : Since the introduction of the more versatile class NcTimestamp
// and the fact that NcEvent has now been derived from it,
// this memberfunction has become obsolete.
// It is recommended to use the corresponding NcTimestamp
// functionality directly for NcEvent instances.
// This memberfunction is only kept for backward compatibility.

Definition at line 524 of file NcEvent.cxx.

◆ SetDetector() [1/2]

void NcEvent::SetDetector ( NcDetector * d)
inline

Definition at line 52 of file NcEvent.h.

◆ SetDetector() [2/2]

void NcEvent::SetDetector ( NcDetector d)
// Store a detector structure.
//
// The detector structure replaces the old internal storage array,
// which is still kept for backward compatibility with (very) old data files.
// In case there are already devices stored in the internal storage array,
// the detector structure will not be put in place and the internal storage array
// will be used instead for backward compatibility.
//
// Note : Once a detector structure is in place, no new one can be set anymore.

Definition at line 1036 of file NcEvent.cxx.

◆ SetDevCopy()

void NcEvent::SetDevCopy ( Int_t j)
// (De)activate the creation of private copies of the added devices.
// j=0 ==> No private copies are made; pointers of original devices are stored.
// j=1 ==> Private copies of the devices are made and these pointers are stored.
//
//
// Notes :
// In case a private copy is made, this is performed via the Clone() memberfunction.
// All devices (i.e. classes derived from TObject) have the default TObject::Clone()
// memberfunction.
// However, devices generally contain an internal (signal) data structure
// which may include pointers to other objects. Therefore it is recommended to provide
// for all devices a specific copy constructor and override the default Clone()
// memberfunction using this copy constructor.
// An example for this may be seen from NcCalorimeter.
//
// Once the storage contains pointer(s) to device(s) one cannot
// change the DevCopy mode anymore.
// To change the DevCopy mode for an existing NcEvent containing
// devices one first has to invoke Reset().

Definition at line 1313 of file NcEvent.cxx.

◆ SetEventNumber()

void NcEvent::SetEventNumber ( Int_t evt)
// Set the event number for this event.

Definition at line 573 of file NcEvent.cxx.

◆ SetOwner()

void NcEvent::SetOwner ( Bool_t own = kTRUE)
virtual
// Set ownership of all added objects.
// The default parameter is own=kTRUE.
//
// Invokation of this memberfunction also sets all the copy modes
// (e.g. TrackCopy & co.) according to the value of own.
//
// This function (with own=kTRUE) is particularly useful when reading data
// from a tree/file, since Reset() will then actually remove all the
// added objects from memory irrespective of the copy mode settings
// during the tree/file creation process. In this way it provides a nice way
// of preventing possible memory leaks in the reading/analysis process.
//
// In addition this memberfunction can also be used as a shortcut to set all
// copy modes in one go during a tree/file creation process.
// However, in this case the user has to take care to only set/change the
// ownership (and copy mode) for empty objects (e.g. newly created objects
// or after invokation of the Reset() memberfunction) otherwise it will
// very likely result in inconsistent destructor behaviour.

Reimplemented from NcVertex.

Definition at line 490 of file NcEvent.cxx.

◆ SetProjectile() [1/2]

void NcEvent::SetProjectile ( Int_t a,
Int_t z,
Double_t pnuc,
Int_t id = 0 )
// Set the projectile A, Z, momentum per nucleon and user defined particle ID.
// If not explicitly specified by the user, the projectile particle ID is set
// to zero by default and will not be stored in the event structure.
// The projectile specifications will be stored in a device named "Beam"
// which is an instance of NcSignal.
// As such these data are easily retrievable from the event structure.
// However, for backward compatibility reasons the beam data can also be
// retrieved via memberfunctions like GetProjectileA() etc...

Definition at line 670 of file NcEvent.cxx.

◆ SetProjectile() [2/2]

void NcEvent::SetProjectile ( Int_t a,
Int_t z,
Nc3Vector & p,
Int_t id = 0 )
// Set the projectile A, Z, 3-momentum per nucleon and user defined particle ID.
// If not explicitly specified by the user, the projectile particle ID is set
// to zero by default and will not be stored in the event structure.
// The projectile specifications will be stored in a device named "Beam"
// which is an instance of NcSignal.
// As such these data are easily retrievable from the event structure.
// However, for backward compatibility reasons beam data can also be
// retrieved via memberfunctions like GetProjectileA() etc...

Definition at line 718 of file NcEvent.cxx.

◆ SetRunNumber()

void NcEvent::SetRunNumber ( Int_t run)
// Set the run number for this event.

Definition at line 562 of file NcEvent.cxx.

◆ SetSelectLevel()

void NcEvent::SetSelectLevel ( Int_t level)
// Set the selection level (<0:reject 0:undecided >0:accept) for this event.
// By default the selection level is set to 0 in the constructor.

Definition at line 596 of file NcEvent.cxx.

◆ SetTarget() [1/2]

void NcEvent::SetTarget ( Int_t a,
Int_t z,
Double_t pnuc,
Int_t id = 0 )
// Set the target A, Z, momentum per nucleon and user defined particle ID.
// If not explicitly specified by the user, the target particle ID is set
// to zero by default and will not be stored in the event structure.
// The target specifications will be stored in a device named "Beam"
// which is an instance of NcSignal.
// As such these data are easily retrievable from the event structure.
// However, for backward compatibility reasons the beam data can also be
// retrieved via memberfunctions like GetTargetA() etc...

Definition at line 833 of file NcEvent.cxx.

◆ SetTarget() [2/2]

void NcEvent::SetTarget ( Int_t a,
Int_t z,
Nc3Vector & p,
Int_t id = 0 )
// Set the target A, Z, 3-momentum per nucleon and user defined particle ID.
// If not explicitly specified by the user, the target particle ID is set
// to zero by default and will not be stored in the event structure.
// The target specifications will be stored in a device named "Beam"
// which is an instance of NcSignal.
// As such these data are easily retrievable from the event structure.
// However, for backward compatibility reasons beam data can also be
// retrieved via memberfunctions like GetTargetA() etc...

Definition at line 881 of file NcEvent.cxx.

◆ SetWeight()

void NcEvent::SetWeight ( Double_t weight)
// Set the weight for this event.
// By default the weight is set to 1 in the constructor.

Definition at line 584 of file NcEvent.cxx.

◆ ShowDevices() [1/2]

void NcEvent::ShowDevices ( Int_t mode = 1,
Bool_t header = kTRUE ) const
// Provide an overview of the available devices from the detector structure.
// The input argument "header" determines whether header info is printed (kTRUE) or not (kFALSE).
//
// The argument mode determines the amount of information as follows :
// mode = 0 ==> Only printout of the number of directly linked devices
// 1 ==> Provide a listing with 1 line of info for each directly linked device
// 2 ==> Provide a listing with 1 line of info for each linked device at any level
//
// The default values are mode=1 and header=kTRUE.

Definition at line 1526 of file NcEvent.cxx.

◆ ShowDevices() [2/2]

void NcEvent::ShowDevices ( TString classname,
Int_t mode = 1,
Bool_t header = kTRUE ) const
// Provide an overview of the available devices of the specified (or derived) class.
// For classname="*", no selection on the device class will be performed.
// The input argument "header" determines whether header info is printed (kTRUE) or not (kFALSE).
//
// The argument mode determines the amount of information as follows :
// mode = 0 ==> Only printout of the number of directly linked devices
// 1 ==> Provide a listing with 1 line of info for each directly linked device
// 2 ==> Provide a listing with 1 line of info for each linked device at any level
//
// The default values are mode=1 and header=kTRUE.

Definition at line 1590 of file NcEvent.cxx.

◆ ShowHits()

void NcEvent::ShowHits ( TString classname,
Int_t mode = 1,
TString f = "car",
TString u = "rad" )
// Show all the hits registered to the specified device (or derived) class.
// For classname="*", no selection on the device class will be performed.
//
// mode = 0 ==> Only the number of hits will be provided.
// 1 ==> Full listing of all the hits will be provided.
// 2 ==> Same as mode=1 but with additional location info of the owning device.
//
// Default value is mode=1.
//
// The arguments "f" and "u" have the same meaning as in the memberfunction Data().
//
// Note : This memberfunction will show hits in printable format.
// To obtain a graphic hit display please refer to DisplayHits().

Definition at line 2346 of file NcEvent.cxx.

◆ SortDevices() [1/4]

TObjArray * NcEvent::SortDevices ( TObjArray * hits,
Int_t idx = 1,
Int_t mode = -1,
Int_t mcal = 1,
Int_t deadcheck = 1,
TObjArray * ordered = 0 )
// Order the references to the various devices based on hit signals contained
// in the input array.
// The ordered array is returned as a TObjArray either via a user provided array "ordered"
// or as a returned pointer.
// A "hit" represents an abstract object which is derived from NcSignal.
// The user can specify the index of the signal slot to perform the sorting on.
// By default the slotindex will be 1.
// Via the "mode" argument the user can specify ordering in decreasing
// order (mode=-1), ordering in increasing order (mode=1) or no ordering (mode=0).
// The latter option provides a means to quickly obtain an ordered devices list
// when the hits in the array were already ordered by the user. In this case
// the input argument "idx" is irrelevant.
// The default is mode=-1.
// The gain etc... corrected signals will be used in the ordering process as
// specified by the "mcal" argument. The definition of this "mcal" parameter
// corresponds to the signal correction mode described in the GetSignal
// memberfunction of class NcSignal.
// The default is mcal=1 (for backward compatibility reasons).
// The argument "deadcheck" allows to reject signals which were declared as "Dead".
// If deadcheck=0 the dead signals will be treated in the same way as the other signals.
// To achieve an identical treatment of dead and alive signals, the setting of deadcheck=0
// will automatically set also mcal=0 to retrieve the stored signal values "as is".
// The default is deadcheck=1 (for backward compatibility reasons).
//
// Note :
// ------
// In case ordered=0 the ordered device pointers are returned via a multi-purpose array,
// which may be overwritten by other memberfunctions (not restricted to device ordering).
// It is recommended to provide a user defined array via the argument "ordered" to omit
// the danger of overwriting (or being overwritten by) other selections and to allow to use
// the ordered device list amongst other selections.
// In case a user defined array "ordered" is provided, this memberfunction returns 0 for the
// return argument.
//
// The default is ordered=0.

Definition at line 2630 of file NcEvent.cxx.

◆ SortDevices() [2/4]

TObjArray * NcEvent::SortDevices ( TObjArray * hits,
TString name,
Int_t mode = -1,
Int_t mcal = 1,
Int_t deadcheck = 1,
TObjArray * ordered = 0 )
// Order the references to the various devices based on hit signals contained
// in the input array.
// The ordered array is returned as a TObjArray either via a user provided array "ordered"
// or as a returned pointer.
// A "hit" represents an abstract object which is derived from NcSignal.
// The user can specify the name of the signal slot to perform the sorting on.
// In case no matching slotname is found, the signal will be skipped.
// Via the "mode" argument the user can specify ordering in decreasing
// order (mode=-1), ordering in increasing order (mode=1) or no ordering (mode=0).
// The latter option provides a means to quickly obtain an ordered devices list
// when the hits in the array were already ordered by the user. In this case
// the input argument "name" is irrelevant.
// The default is mode=-1.
// The gain etc... corrected signals will be used in the ordering process as
// specified by the "mcal" argument. The definition of this "mcal" parameter
// corresponds to the signal correction mode described in the GetSignal
// memberfunction of class NcSignal.
// The default is mcal=1 (for backward compatibility reasons).
// The argument "deadcheck" allows to reject signals which were declared as "Dead".
// If deadcheck=0 the dead signals will be treated in the same way as the other signals.
// To achieve an identical treatment of dead and alive signals, the setting of deadcheck=0
// will automatically set also mcal=0 to retrieve the stored signal values "as is".
// The default is deadcheck=1 (for backward compatibility reasons).
//
// Note :
// ------
// In case ordered=0 the ordered device pointers are returned via a multi-purpose array,
// which may be overwritten by other memberfunctions (not restricted to device ordering).
// It is recommended to provide a user defined array via the argument "ordered" to omit
// the danger of overwriting (or being overwritten by) other selections and to allow to use
// the ordered device list amongst other selections.
// In case a user defined array "ordered" is provided, this memberfunction returns 0 for the
// return argument.
//
// The default is ordered=0.

Definition at line 2523 of file NcEvent.cxx.

◆ SortDevices() [3/4]

TObjArray * NcEvent::SortDevices ( TString classname,
Int_t idx = 1,
Int_t mode = -1,
Int_t mcal = 1,
Int_t deadcheck = 1,
TObjArray * ordered = 0 )
// Order the references to the various devices based on hit signals registered
// to the specified device (or derived) class.
// For classname="*", no selection on the device class will be performed.
//
// The ordered array is returned as a TObjArray either via a user provided array "ordered"
// or as a returned pointer.
// A "hit" represents an abstract object which is derived from NcSignal.
// The user can specify the index of the signal slot to perform the sorting on.
// By default the slotindex will be 1.
// Via the "mode" argument the user can specify ordering in decreasing
// order (mode=-1) or ordering in increasing order (mode=1).
// The default is mode=-1.
// The gain etc... corrected signals will be used in the ordering process as
// specified by the "mcal" argument. The definition of this "mcal" parameter
// corresponds to the signal correction mode described in the GetSignal
// memberfunction of class NcSignal.
// The default is mcal=1 (for backward compatibility reasons).
// The argument "deadcheck" allows to reject signals which were declared as "Dead".
// If deadcheck=0 the dead signals will be treated in the same way as the other signals.
// To achieve an identical treatment of dead and alive signals, the setting of deadcheck=0
// will automatically set also mcal=0 to retrieve the stored signal values "as is".
// The default is deadcheck=1 (for backward compatibility reasons).
//
// Note :
// ------
// In case ordered=0 the ordered device pointers are returned via a multi-purpose array,
// which may be overwritten by other memberfunctions (not restricted to device ordering).
// It is recommended to provide a user defined array via the argument "ordered" to omit
// the danger of overwriting (or being overwritten by) other selections and to allow to use
// the ordered device list amongst other selections.
// In case a user defined array "ordered" is provided, this memberfunction returns 0 for the
// return argument.
//
// The default is ordered=0.

Definition at line 2463 of file NcEvent.cxx.

◆ SortDevices() [4/4]

TObjArray * NcEvent::SortDevices ( TString classname,
TString name,
Int_t mode = -1,
Int_t mcal = 1,
Int_t deadcheck = 1,
TObjArray * ordered = 0 )
// Order the references to the various devices based on hit signals registered
// to the specified device (or derived) class.
// For classname="*", no selection on the device class will be performed.
//
// The ordered array is returned as a TObjArray either via a user provided array "ordered"
// or as a returned pointer.
// A "hit" represents an abstract object which is derived from NcSignal.
// The user can specify the name of the signal slot to perform the sorting on.
// In case no matching slotname is found, the signal will be skipped.
// Via the "mode" argument the user can specify ordering in decreasing
// order (mode=-1) or ordering in increasing order (mode=1).
// The default is mode=-1.
// The gain etc... corrected signals will be used in the ordering process as
// specified by the "mcal" argument. The definition of this "mcal" parameter
// corresponds to the signal correction mode described in the GetSignal
// memberfunction of class NcSignal.
// The default is mcal=1 (for backward compatibility reasons).
// The argument "deadcheck" allows to reject signals which were declared as "Dead".
// If deadcheck=0 the dead signals will be treated in the same way as the other signals.
// To achieve an identical treatment of dead and alive signals, the setting of deadcheck=0
// will automatically set also mcal=0 to retrieve the stored signal values "as is".
// The default is deadcheck=1 (for backward compatibility reasons).
//
// Note :
// ------
// In case ordered=0 the ordered device pointers are returned via a multi-purpose array,
// which may be overwritten by other memberfunctions (not restricted to device ordering).
// It is recommended to provide a user defined array via the argument "ordered" to omit
// the danger of overwriting (or being overwritten by) other selections and to allow to use
// the ordered device list amongst other selections.
// In case a user defined array "ordered" is provided, this memberfunction returns 0 for the
// return argument.
//
// The default is ordered=0.

Definition at line 2403 of file NcEvent.cxx.

◆ SortHits() [1/2]

TObjArray * NcEvent::SortHits ( TString classname,
Int_t idx = 1,
Int_t mode = -1,
Int_t mcal = 1,
Int_t deadcheck = 1,
TObjArray * ordered = 0 )
// Order the references to the various hits registered to the specified device (or derived) class.
// For classname="*", no selection on the device class will be performed.
//
// The ordered array is returned as a TObjArray either via a user provided array "ordered"
// or as a returned pointer.
// A "hit" represents an abstract object which is derived from NcSignal.
// The user can specify the index of the signal slot to perform the sorting on.
// By default the slotindex will be 1.
// Via the "mode" argument the user can specify ordering in decreasing
// order (mode=-1) or ordering in increasing order (mode=1).
// The default is mode=-1.
// The gain etc... corrected signals will be used in the ordering process as
// specified by the "mcal" argument. The definition of this "mcal" parameter
// corresponds to the signal correction mode described in the GetSignal
// memberfunction of class NcSignal.
// The default is mcal=1 (for backward compatibility reasons).
// The argument "deadcheck" allows to reject signals which were declared as "Dead".
// If deadcheck=0 the dead signals will be treated in the same way as the other signals.
// To achieve an identical treatment of dead and alive signals, the setting of deadcheck=0
// will automatically set also mcal=0 to retrieve the stored signal values "as is".
// The default is deadcheck=1 (for backward compatibility reasons).
//
// Note :
// ------
// In case ordered=0 the ordered hit pointers are returned via a multi-purpose array,
// which may be overwritten by other memberfunctions (not restricted to hit ordering).
// It is recommended to provide a user defined array via the argument "ordered" to omit
// the danger of overwriting (or being overwritten by) other selections and to allow to use
// the ordered hit list amongst other selections.
// In case a user defined array "ordered" is provided, this memberfunction returns 0 for the
// return argument.
//
// The default is ordered=0.
//
// For more extended functionality see class NcDevice.

Definition at line 1942 of file NcEvent.cxx.

◆ SortHits() [2/2]

TObjArray * NcEvent::SortHits ( TString classname,
TString name,
Int_t mode = -1,
Int_t mcal = 1,
Int_t deadcheck = 1,
TObjArray * ordered = 0 )
// Order the references to the various hits registered to the specified device (or derived) class.
// For classname="*", no selection on the device class will be performed.
//
// The ordered array is returned as a TObjArray either via a user provided array "ordered"
// or as a returned pointer.
// A "hit" represents an abstract object which is derived from NcSignal.
// The user can specify the name of the signal slot to perform the sorting on.
// In case no matching slotname is found, the signal will be skipped.
// Via the "mode" argument the user can specify ordering in decreasing
// order (mode=-1) or ordering in increasing order (mode=1).
// The default is mode=-1.
// The gain etc... corrected signals will be used in the ordering process as
// specified by the "mcal" argument. The definition of this "mcal" parameter
// corresponds to the signal correction mode described in the GetSignal
// memberfunction of class NcSignal.
// The default is mcal=1 (for backward compatibility reasons).
// The argument "deadcheck" allows to reject signals which were declared as "Dead".
// If deadcheck=0 the dead signals will be treated in the same way as the other signals.
// To achieve an identical treatment of dead and alive signals, the setting of deadcheck=0
// will automatically set also mcal=0 to retrieve the stored signal values "as is".
// The default is deadcheck=1 (for backward compatibility reasons).
//
// Note :
// ------
// In case ordered=0 the ordered hit pointers are returned via a multi-purpose array,
// which may be overwritten by other memberfunctions (not restricted to hit ordering).
// It is recommended to provide a user defined array via the argument "ordered" to omit
// the danger of overwriting (or being overwritten by) other selections and to allow to use
// the ordered hit list amongst other selections.
// In case a user defined array "ordered" is provided, this memberfunction returns 0 for the
// return argument.
//
// The default is ordered=0.
//
// For more extended functionality see class NcDevice.

Definition at line 2016 of file NcEvent.cxx.

Member Data Documentation

◆ fDetector

NcDetector* NcEvent::fDetector
protected

Definition at line 90 of file NcEvent.h.

◆ fDevCopy

Int_t NcEvent::fDevCopy
protected

Definition at line 92 of file NcEvent.h.

◆ fDevices

TObjArray* NcEvent::fDevices
protected

Definition at line 91 of file NcEvent.h.

◆ fDevs

TObjArray* NcEvent::fDevs
protected

! Temp. array to hold references to user selected devices

Definition at line 96 of file NcEvent.h.

◆ fDisplay

TObject* NcEvent::fDisplay
protected

! Temp. pointer to hold objects which serve event displays

Definition at line 95 of file NcEvent.h.

◆ fEvent

Int_t NcEvent::fEvent
protected

Definition at line 87 of file NcEvent.h.

◆ fHits

TObjArray* NcEvent::fHits
protected

! Temp. array to hold references to the registered NcDevice hits

Definition at line 93 of file NcEvent.h.

◆ fOrdered

TObjArray* NcEvent::fOrdered
protected

! Temp. array to hold references to various ordered objects

Definition at line 94 of file NcEvent.h.

◆ fRun

Int_t NcEvent::fRun
protected

Definition at line 86 of file NcEvent.h.

◆ fSelectLevel

Int_t NcEvent::fSelectLevel
protected

Definition at line 89 of file NcEvent.h.

◆ fWeight

Double_t NcEvent::fWeight
protected

Definition at line 88 of file NcEvent.h.


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