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

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

#include "NcDetector.h"

Inheritance diagram for NcDetector:
NcDetectorUnit NcDevice NcSignal NcPosition NcAttrib Nc3Vector RnoDetector

Detailed Description

Creation and investigation of an NCFS generic detector structure.


Copyright(c) 2021 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 NcDetector
// Creation and investigation of an NCFS generic detector structure.
//
// This class provides a facility to build up a hierarchical structure
// to store detector signals.
// Detector signals are represented by NcSignal objects that belong to
// NcDevice objects. An Ncsignal object that is related to an NcDevice
// is called a "hit" and can be stored in the NcDevice via the
// generic AddHit memberfunction.
// A group of NcDevice objects may be combined in an NcDetectorUnit object
// to represent a certain sub-detector system, and several NcDetectorUnit
// objects may finally be combined into an NcDetector object to represent
// the complete experimental setup.
// Combination of these various detector elements is performed by the
// generic AddDevice memberfunction.
//
// Since the goal of recording experimental data is to investigate
// certain (astro)physical phenomena, the occurrence of a sudden
// observation of signals in the detector is called an event.
// To store the event data in an organized way, the class NcEvent is provided,
// in which the various detector structures and their recorded signals
// can be stored as indicated below.
//
// It is good practice to combine the complete detector structure in
// a single NcDetector object and then store the whole detector structure
// in an NcEvent structure by a single SetDetector invokation.
// The recorded signals may already be included in the detector structure
// at invokation of SetDetector, but depending on the format c.q. organisation
// of the (raw) detector data, it may sometimes also be practical to
// first store the detector structure without signals, then retrieve
// a pointer to the stored detector structure via invokation of GetDetector
// and finally use this pointer to navigate through the detector structure
// and store the various recorded signals.
// The use of such a single NcDetector object will in general provide the
// most efficient way to retrieve and analyze the recorded data.
// However, it is also possible to use multiple AddDevice invokations of NcEvent
// to store every NcDevice individually if the user wants to do so.
// In this case, a default NcDetector object will be created automatically
// inside the NcEvent to hold all the added devices.
// This automatically created NcDetector object may be accessed in the usual way
// via the GetDetector invokation of NcEvent.
//
// To provide maximal flexibility to the user, two modes can be used for the storage
// of devices which can be selected by means of the memberfunction SetDevCopy().
//
// a) SetDevCopy(0).
// 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 NcDetector just represents a 'logical structure' for the
// analysis of the various detector components and the recorded signals.
//
// Note :
// Modifications made to the original devices also affect the device
// objects which are stored in the NcDetector structure.
//
// b) SetDevCopy(1) (which is the default).
// Of every 'added' device a private copy will be made of which the pointer
// will be stored.
// In this way the NcDetector 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 NcDetector.
// This mode will allow 'adding' many different devices into an NcDetector 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().
//
// In order to tailor the performance of the various detector elements
// with specific (sub)detector characteristics, the user may extend the
// functionality of the standard classes mentioned above, by introducing
// new classes which are derived from the standard ones.
// See the examples below to illustrate this.
//
// In addition to the detector structures and their recorded signals,
// the NcEevent class also provides facilities to store reconstructed
// objects like tracks (NcTrack), jets (NcJet) and vertices (NcVertex)
// together with timing information (NcTimestamp).
//
// Navigation through the detector structures to obtain the contained data
// may be performed via the various memberfunctions of the classes
// NcDetector, NcDetectorUnit, NcDevice, NcSignal and also NcEvent.
//
// Examples :
// ==========
//
// The IceCube Neutrino Observatory at the South Pole :
// ----------------------------------------------------
// The IceCube detector consists of more than 5000 Digital Optical Modules (DOMs)
// that are buried deep in the Antarctic ice in a hexagonal grid.
// At the deepest central part of the detector, additional DOMs have been added
// to form a denser core dubbed DeepCore.
// In addition to this, there are also DOMs located at the ice surface called IceTop.
// For the storage and analysis of the IceCube data, the following hierarchical
// detector structure could be envisaged :
// * Every DOM is represented via an NcDevice.
// * The IceTop DOMs are grouped into an NcDetectorUnit object named "IceTop".
// * All DOMs that are buried under the surface are grouped into an
// NcDetectorUnit object named "InIce".
// * The DeepCore DOMs are grouped into an NcDetectorUnit object named "DeepCore".
// Note here that DeepCore DOMs also belong to the InIce part, but this can
// be handled by the introduction of new classes derived from NcDevice,
// like for instance IceIDOM (derived from NcDevice) to represent a generic
// InIce DOM, IceDCDOM (derived from IceIDOM) to represent a DeepCore DOM
// and IceICDOM (derived from IceIDOM) to represent an InIce DOM not belonging to DeepCore.
// * Finally the IceTop, InIce and DeepCore detector units are grouped
// into the overall NcDetector named "IceCube".
//
// The IceCube data analysis framework is available in the directory "icepack".
// Note that in this framework also a new class IceEvent (derived from NcEvent)
// has been introduced to provide specific IceCube related functionality.
//
// The Radio Neutrino Observatory in Greenland (RNO-G) :
// -----------------------------------------------------
// The RNO-G detector array is foreseen to consist of 35 so called detector stations,
// each of which consists of 3 vertical strings deep in the ice equipped with antennas.
// These antennas come in two varieties, namely horizontally polarized (HPOL)
// and vertically polarized (VPOL).
// In addition to this, there are also LogPeriodic Dipole Antennas (LPDAs)
// located in 3 trenches at the surface.
// For the storage and analysis of the RNO-G data, the following hierarchical
// detector structure could be envisaged :
// * Every antenna is represented via an NcDevice.
// To distinguish the different antenna types, new classes (derived from NcDevice)
// are introduced, namely RnoHPOL, RnoVPOL and RnoLPDA.
// * To represent the various strings, a new class RnoString (derived from NcDetectorUnit)
// is introduced.
// * To represent the various trenches, a new class RnoTrench (derived from NcDetectorUnit)
// could be introduced.
// Although a trench is not an electronically connected entity like a string, and the LPDAs
// are foreseen to perform as individual devices, this structure may have some benefits
// in the data analysis phase.
// * All RnoHPOL and RnoVPOL objects are grouped in the corresponding RnoString objects.
// * The RnoLPDA objects are grouped in the corresponding RnoTrench objects.
// * The 3 RnoString objects and the 3 RnoTrench objects are grouped in a RnoStation object
// that is derived from NcDetectorUnit.
// * Finally all 35 RnoStation objects are grouped into the overall NcDetector named "RNO".
//
// The RNO-G data analysis framework is available in the directory "rnopack".
// Note that in this framework also new classes RnoDetector (derived from NcDetector) and
// RnoEvent (derived from NcEvent) have been introduced to provide specific RNO-G related functionality.
//
//--- Author: Nick van Eijndhoven, IIHE-VUB, Brussel, June 25, 2021 07:39Z
//- Modified: Nick van Eijndhoven, IIHE-VUB, Brussel, June 27, 2021 09:59Z

Definition at line 11 of file NcDetector.h.

Public Member Functions

 NcDetector (const char *name="", const char *title="")
 
 NcDetector (const NcDetector &q)
 
virtual ~NcDetector ()
 
virtual TObject * Clone (const char *name="") const
 
- Public Member Functions inherited from NcDetectorUnit
 NcDetectorUnit (const char *name="", const char *title="")
 
 NcDetectorUnit (const NcDetectorUnit &q)
 
virtual ~NcDetectorUnit ()
 
void AddDevice (NcDevice &d)
 
void AddDevice (NcDevice *d)
 
virtual void Data (TString f="car", TString u="rad")
 
virtual void Data (TString f="car", TString u="rad") const
 
void DisplayHits (TString classname, Bool_t follow, Bool_t inc, Int_t idx=1, Float_t scale=-1, Int_t dp=0, Int_t mode=1, Int_t mcol=4)
 
void DisplayHits (TString classname, Bool_t follow, Bool_t inc, TString name, Float_t scale=-1, Int_t dp=0, Int_t mode=1, Int_t mcol=4)
 
NcDetectorUnitGetDetectorUnit (TString name, Bool_t follow)
 
Int_t GetDevCopy () const
 
NcDeviceGetDevice (Int_t i) const
 
NcDeviceGetDevice (TString name, Bool_t follow)
 
TObjArray * GetDevices (TString classname, Bool_t follow, TObjArray *devices=0)
 
TObjArray * GetHitsDevices (TString classname, Bool_t follow, Bool_t inc, TObjArray *hits=0, TString name="none", Int_t mode=0, Int_t opt=0)
 
NcDetectorUnitGetIdDetectorUnit (Int_t id, Bool_t follow, TObjArray *devs=0)
 
NcDetectorUnitGetIdDetectorUnit (Int_t id, TString classname, Bool_t follow)
 
NcDeviceGetIdDevice (Int_t id, Bool_t follow, TObjArray *devs=0)
 
NcDeviceGetIdDevice (Int_t id, TString classname, Bool_t follow)
 
NcSignalGetIdHit (Int_t id, TString classname, Bool_t follow, Bool_t inc)
 
Int_t GetNdevices (Bool_t follow)
 
Int_t GetNdevices (TString classname, Bool_t follow, TObjArray *hits=0)
 
Int_t GetNhitsDevices (TString classname, Bool_t follow, Bool_t inc)
 
void RemoveDevice (NcDevice *d)
 
virtual void Reset (Int_t mode=0)
 
void SetDevCopy (Int_t j)
 
virtual void SetOwner (Bool_t own=kTRUE)
 
void ShowDevices (Int_t mode=1, Bool_t header=kTRUE)
 
void ShowDevices (TString classname, Int_t mode=1, Bool_t header=kTRUE)
 
void ShowHits (TString classname, Bool_t follow, Bool_t inc, 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, Bool_t follow, Bool_t inc, Int_t idx=1, Int_t mode=-1, Int_t mcal=1, Int_t deadcheck=1, TObjArray *ordered=0)
 
TObjArray * SortDevices (TString classname, Bool_t follow, Bool_t inc, TString name, Int_t mode=-1, Int_t mcal=1, Int_t deadcheck=1, TObjArray *ordered=0)
 
TObjArray * SortHits (Int_t idx=1, Int_t mode=-1, TObjArray *hits=0, Int_t mcal=1, Int_t deadcheck=1, TObjArray *ordered=0)
 
TObjArray * SortHits (TString classname, Bool_t follow, Bool_t inc, Int_t idx=1, Int_t mode=-1, Int_t mcal=1, Int_t deadcheck=1, TObjArray *ordered=0)
 
TObjArray * SortHits (TString classname, Bool_t follow, Bool_t inc, TString name, Int_t mode=-1, Int_t mcal=1, Int_t deadcheck=1, TObjArray *ordered=0)
 
TObjArray * SortHits (TString name, Int_t mode=-1, TObjArray *hits=0, Int_t mcal=1, Int_t deadcheck=1, TObjArray *ordered=0)
 
- Public Member Functions inherited from NcDevice
 NcDevice (const char *name="", const char *title="")
 
 NcDevice (const NcDevice &dev)
 
virtual ~NcDevice ()
 
void AddHit (NcSignal &s)
 
void AddHit (NcSignal *s)
 
void DisplayHits (Int_t idx=1, Float_t scale=-1, TObjArray *hits=0, Int_t dp=0, Int_t mode=1, Int_t mcol=4)
 
void DisplayHits (TString name, Float_t scale=-1, TObjArray *hits=0, 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
 
void GetExtremes (Float_t &vmin, Float_t &vmax, Int_t idx=1, TObjArray *hits=0, Int_t mode=1, Int_t deadcheck=1) const
 
void GetExtremes (Float_t &vmin, Float_t &vmax, TString name, TObjArray *hits=0, Int_t mode=1, Int_t deadcheck=1) const
 
NcSignalGetHit (Int_t j) const
 
NcSignalGetHit (TString name, Int_t mode=0, Int_t opt=0) const
 
Int_t GetHitCopy () const
 
Nc3Vector GetHitPath (TObjArray *hits, Int_t pos=0) const
 
TObjArray * GetHits ()
 
void GetHits (TObjArray &selected, TString name, Int_t mode=0, Int_t opt=0, TObjArray *hits=0) const
 
NcSignalGetIdHit (Int_t id) const
 
Int_t GetNhits () const
 
Int_t GetNhits (TString name, Int_t mode=0, Int_t opt=0) const
 
Int_t GetStatus () const
 
void RemoveHit (NcSignal &s)
 
void RemoveHit (NcSignal *s)
 
void RemoveHits ()
 
void SetHitCopy (Int_t j)
 
void SetStatus (Int_t word)
 
void ShowHit (Int_t j=0, TString f="car", TString u="rad") const
 
Double_t SlideWindow (TObjArray *hits, Double_t thres, Double_t swin, TString sname, Int_t smode=0, TString wname="none", Int_t wmode=0, Int_t *i1=0, Int_t *i2=0) const
 
TObjArray * SortHits (Int_t idx=1, Int_t mode=-1, TObjArray *hits=0, Int_t mcal=1, Int_t deadcheck=1, TObjArray *ordered=0)
 
TObjArray * SortHits (TString name, Int_t mode=-1, TObjArray *hits=0, Int_t mcal=1, Int_t deadcheck=1, TObjArray *ordered=0)
 
Double_t SumSignals (Int_t idx, Int_t mode=1, TObjArray *hits=0)
 
Double_t SumSignals (TString name, Int_t mode=1, TObjArray *hits=0)
 
- Public Member Functions inherited from NcSignal
 NcSignal (const char *name="", const char *title="")
 
 NcSignal (const NcSignal &s)
 
virtual ~NcSignal ()
 
void AddLink (TObject *obj, Int_t j=1)
 
void AddLink (TObject *obj, TString name)
 
virtual void AddSignal (Double_t sig, Int_t j=1)
 
virtual void AddSignal (Double_t sig, TString name)
 
void AddTrack (NcTrack &t, Int_t mode=1)
 
void DeleteSample (Int_t j=1)
 
void DeleteSample (TString name)
 
virtual void DeleteSignals (Int_t mode=0)
 
void DeleteWaveform (Int_t j=1)
 
void DeleteWaveform (TString name)
 
NcSampleDisplaySample (Int_t j=1, Int_t i=1) const
 
NcSampleDisplaySample (TString name, Int_t i=1) const
 
NcDeviceGetDevice () const
 
Int_t GetErrorFlag (Int_t j=1) const
 
Int_t GetErrorFlag (TString name) const
 
NcTrackGetIdTrack (Int_t id) const
 
Int_t GetIndices (TObject *obj, Int_t j, TArrayI &ks) const
 
Int_t GetIndices (TObject *obj, TArrayI &js, Int_t k) const
 
Int_t GetIndices (TObject *obj, TArrayI &js, TArrayI &ks) const
 
Int_t GetIndices (TObject *obj, TString name, TArrayI &ks) const
 
TObject * GetLink (Int_t j=1, Int_t k=1) const
 
TObject * GetLink (TString name, Int_t k=1) const
 
Int_t GetNerrors () const
 
Int_t GetNlinks (TObject *obj, TString name) const
 
Int_t GetNlinks (TObject *obj=0, Int_t j=0) const
 
Int_t GetNsamples () const
 
virtual Int_t GetNslots () const
 
Int_t GetNtracks (NcTrack *t=0) const
 
Int_t GetNvalues () const
 
Int_t GetNwaveforms () const
 
NcSampleGetSample (Int_t j=1) const
 
NcSampleGetSample (TString name) const
 
Int_t GetSampleIndex (TString name) const
 
virtual Float_t GetSignal (Int_t j=1, Int_t mode=0) const
 
virtual Float_t GetSignal (TString name, Int_t mode=0) const
 
virtual Float_t GetSignalError (Int_t j=1) const
 
virtual Float_t GetSignalError (TString name) const
 
Int_t GetSignalFlag (Int_t j=1) const
 
Int_t GetSignalFlag (TString name) const
 
Int_t GetSwapMode () const
 
NcTrackGetTrack (Int_t j) const
 
TH1F * GetWaveform (Int_t j=1) const
 
TH1F * GetWaveform (TString name) const
 
Int_t GetWaveformIndex (TString name) const
 
virtual void List (Int_t j=0) const
 
virtual void List (TString name) const
 
void ListSample (Int_t j=0) const
 
void ListTrack (Int_t j=0) const
 
void ListWaveform (Int_t j=0) const
 
void RemoveTrack (NcTrack &t, Int_t mode=1)
 
void RemoveTracks (Int_t mode=1)
 
void ResetLink (Int_t j=1, Int_t k=1)
 
void ResetLink (TString name, Int_t k=1)
 
void ResetLinks (TObject *obj, Int_t j=0, Int_t k=0)
 
void ResetLinks (TObject *obj, TString name, Int_t k=0)
 
void ResetSample (Int_t j=1)
 
void ResetSample (TString name)
 
virtual void ResetSignals (Int_t mode=0)
 
void ResetWaveform (Int_t j=1)
 
void ResetWaveform (TString name)
 
void SetDevice (NcDevice *dev)
 
void SetLink (TObject *obj, Int_t j=1, Int_t k=1)
 
void SetLink (TObject *obj, TString name, Int_t k=1)
 
void SetSample (NcSample *sample, Int_t j=1)
 
virtual void SetSignal (Double_t sig, Int_t j=1)
 
virtual void SetSignal (Double_t sig, TString name)
 
virtual void SetSignalError (Double_t dsig, Int_t j=1)
 
virtual void SetSignalError (Double_t dsig, TString name)
 
void SetSwapMode (Int_t swap=1)
 
void SetWaveform (TH1F *waveform, Int_t j=1)
 
- 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 NcAttrib
 NcAttrib ()
 
 NcAttrib (const NcAttrib &a)
 
virtual ~NcAttrib ()
 
void AddNamedSlot (TString s)
 
void DecreaseEdgeValue (Int_t j=1)
 
void DecreaseEdgeValue (TString name)
 
void DeleteCalibrations (Int_t mode=0)
 
TF1 * GetCalFunction (Int_t j=1) const
 
TF1 * GetCalFunction (TString name) const
 
Int_t GetCalWord (Int_t j=1) const
 
Int_t GetCalWord (TString name) const
 
Int_t GetDeadValue (Int_t j=1) const
 
Int_t GetDeadValue (TString name) const
 
TF1 * GetDecalFunction (Int_t j=1) const
 
TF1 * GetDecalFunction (TString name) const
 
Int_t GetEdgeValue (Int_t j=1) const
 
Int_t GetEdgeValue (TString name) const
 
Float_t GetGain (Int_t j=1) const
 
Float_t GetGain (TString name) const
 
Int_t GetGainFlag (Int_t j=1) const
 
Int_t GetGainFlag (TString name) const
 
Int_t GetLockValue (Int_t j=1) const
 
Int_t GetLockValue (TString name) const
 
Int_t GetNcalflags () const
 
Int_t GetNcalfuncs () const
 
Int_t GetNdecalfuncs () const
 
Int_t GetNgains () const
 
Int_t GetNnames () const
 
Int_t GetNoffsets () const
 
Float_t GetOffset (Int_t j=1) const
 
Float_t GetOffset (TString name) const
 
Int_t GetOffsetFlag (Int_t j=1) const
 
Int_t GetOffsetFlag (TString name) const
 
Int_t GetSlotIndex (TString name, Int_t opt=0) const
 
TString GetSlotName (Int_t j=1) const
 
void IncreaseEdgeValue (Int_t j=1)
 
void IncreaseEdgeValue (TString name)
 
virtual void Load (NcAttrib &a, Int_t j=0)
 
virtual void Load (NcAttrib &a, TString name)
 
void Lock (Int_t j=1)
 
void Lock (TString name)
 
void ResetGain (Int_t j=1)
 
void ResetGain (TString name)
 
void ResetOffset (Int_t j=1)
 
void ResetOffset (TString name)
 
void SetAlive (Int_t j=1)
 
void SetAlive (TString name)
 
void SetCalFunction (TF1 *f, Int_t j=1)
 
void SetCalFunction (TF1 *f, TString name)
 
void SetDead (Int_t j=1)
 
void SetDead (TString name)
 
void SetDecalFunction (TF1 *f, Int_t j=1)
 
void SetDecalFunction (TF1 *f, TString name)
 
void SetEdgeOff (Int_t j=1)
 
void SetEdgeOff (TString name)
 
void SetEdgeOn (Int_t j=1)
 
void SetEdgeOn (TString name)
 
void SetEdgeValue (Int_t val, Int_t j=1)
 
void SetEdgeValue (Int_t val, TString name)
 
void SetGain (Double_t gain, Int_t j=1)
 
void SetGain (Double_t gain, TString name)
 
void SetOffset (Double_t off, Int_t j=1)
 
void SetOffset (Double_t off, TString name)
 
void SetSlotName (TString s, Int_t j=1)
 
void Unlock (Int_t j=1)
 
void Unlock (TString name)
 

Additional Inherited Members

- Public Attributes inherited from NcSignal
Bool_t fDevset
 
- Protected Member Functions inherited from NcDetectorUnit
void LoadDevices (TString classname, Bool_t follow, TObjArray *hits=0, NcDetectorUnit *unit=0)
 
void LoadHits (TString classname, Bool_t follow, Bool_t inc, TObjArray *hits=0, NcDetectorUnit *unit=0)
 
void ShowDevicesTree (TString classname, Int_t mode=1, NcDetectorUnit *unit=0)
 
- Protected Member Functions inherited from NcSignal
void SetSigFlags (Int_t is, Int_t ie, Int_t j)
 
- Protected Member Functions inherited from NcAttrib
void SetCalFlags (Int_t gf, Int_t of, Int_t j)
 
- Protected Attributes inherited from NcDetectorUnit
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
 
TObjArray * fOrdered
 ! Temp. array to hold references to various ordered objects
 
TObjArray * fThits
 ! Temp. array to hold references to the registered NcDevice hits
 
- Protected Attributes inherited from NcDevice
Int_t fHitCopy
 
TObjArray * fHits
 
TObjArray * fMarkers
 ! Temp. array to hold the 3D markers for the hit display
 
TObjArray * fOrdered
 ! Temp. array to hold the ordered hits
 
Int_t fStatus
 
- Protected Attributes inherited from NcSignal
TObject * fDevice
 
TArrayF * fDsignals
 
NcObjMatrixfLinks
 
TObjArray * fSamples
 
TArrayI * fSigflags
 
TArrayF * fSignals
 
TObjArray * fTracks
 
TObjArray * fWaveforms
 
- 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 NcAttrib
TArrayI * fCalflags
 
TObjArray * fCalfuncs
 
TObjArray * fDecalfuncs
 
TArrayF * fGains
 
TObjArray * fNames
 
TArrayF * fOffsets
 

Constructor & Destructor Documentation

◆ NcDetector() [1/2]

NcDetector::NcDetector ( const char * name = "",
const char * title = "" )
// Default constructor.

Definition at line 200 of file NcDetector.cxx.

◆ ~NcDetector()

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

Definition at line 209 of file NcDetector.cxx.

◆ NcDetector() [2/2]

NcDetector::NcDetector ( const NcDetector & q)
// Copy constructor.

Definition at line 218 of file NcDetector.cxx.

Member Function Documentation

◆ Clone()

TObject * NcDetector::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.

Reimplemented from NcDetectorUnit.

Reimplemented in RnoDetector.

Definition at line 227 of file NcDetector.cxx.


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