KaliVeda
Toolkit for HIC analysis
KVFAZIADetector Class Reference

Detailed Description

Base class for FAZIA detectors.

Detector names

Detector names are assumed to be defined as label-xxx where xxx is computed as follows (see KVFAZIADetector::GetIndex) :

100*block number+10*quartet number+telescope number

and label can be SI1, SI2 or CSI

For example SI1-123 is the Silicon Si1 of the block 1, the quartet 2 and the telescope 3

Definition at line 49 of file KVFAZIADetector.h.

#include <KVFAZIADetector.h>

Inheritance diagram for KVFAZIADetector:

Public Types

enum  { kSI1 , kSI2 , kCSI , kOTHER }
 

Public Member Functions

 KVFAZIADetector ()
 Default constructor. More...
 
 KVFAZIADetector (const Char_t *type, const Float_t thick=0.0)
 Create detector of given material type and thickness (in centimetres) More...
 
virtual ~KVFAZIADetector ()
 Destructor. More...
 
void Clear (Option_t *opt="") override
 If opt="N" we do not reset any raw data, signals, etc. More...
 
void ComputePSA ()
 Perform Pulse Shape Analysis on all signals. More...
 
void Copy (TObject &obj) const override
 
Bool_t Fired (Option_t *opt="any") const override
 
Int_t GetBlockNumber () const
 
Int_t GetDetTag () const
 
Int_t GetGTTag () const
 
Int_t GetIdentifier () const
 
Int_t GetIndex () const override
 
const KVSeqCollectionGetListOfSignals () const
 
Int_t GetNumberOfSignals () const
 
Int_t GetQuartetNumber () const
 
Double_t GetSetupParameter (const Char_t *parname)
 
KVSignalGetSignal (const Char_t *name) const
 
KVSignalGetSignal (Int_t idx) const
 
KVSignalGetSignalByType (const Char_t *type) const
 Access detector signal of given type: "I1", "I2", "Q2", "Q3", "QH1", "QL1". More...
 
Int_t GetTelescopeNumber () const
 
Bool_t HasSignal () const
 Returns kTRUE if detector has at least 1 associated signal. More...
 
Bool_t IsRutherford () const
 
KVDetectorSignalSetBaseLine (int sigid, Float_t baseline)
 
void SetDetTag (Int_t t)
 
KVDetectorSignalSetFPGAEnergy (int sigid, Int_t idx, Double_t energy)
 
void SetGTTag (Int_t t)
 
void SetName (const char *name) override
 
void SetSignal (TGraph *signal, const Char_t *signal_name)
 

Static Public Member Functions

static const Char_tGetNewName (KVString oldname)
 

Private Member Functions

void init ()
 default initialisations More...
 
Bool_t SetProperties ()
 

Private Attributes

Int_t fBlock
 
Int_t fIdentifier
 SI1=0(kSI1) SI2=1(kSI2) CSI=2(kCSI) More...
 
Int_t fIndex
 100*block+10*quartet+telescope More...
 
Bool_t fIsFiredFromSignals
 
Bool_t fIsRutherford
 
Double_t fQ2Threshold
 
Double_t fQ3Threshold
 
Double_t fQH1Threshold
 thresholds defined for this detector More...
 
Int_t fQuartet
 
KVUniqueNameList fSignals
 list of electronics signal (current, charge, etc... ) More...
 
Int_t fTelescope
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kSI1 
kSI2 
kCSI 
kOTHER 

Definition at line 71 of file KVFAZIADetector.h.

Constructor & Destructor Documentation

◆ KVFAZIADetector() [1/2]

KVFAZIADetector::KVFAZIADetector ( )

Default constructor.

Definition at line 52 of file KVFAZIADetector.cpp.

◆ KVFAZIADetector() [2/2]

KVFAZIADetector::KVFAZIADetector ( const Char_t type,
const Float_t  thick = 0.0 
)

Create detector of given material type and thickness (in centimetres)

Definition at line 63 of file KVFAZIADetector.cpp.

◆ ~KVFAZIADetector()

KVFAZIADetector::~KVFAZIADetector ( )
virtual

Destructor.

Definition at line 74 of file KVFAZIADetector.cpp.

Member Function Documentation

◆ Clear()

void KVFAZIADetector::Clear ( Option_t opt = "")
override

If opt="N" we do not reset any raw data, signals, etc.

Definition at line 107 of file KVFAZIADetector.cpp.

◆ ComputePSA()

void KVFAZIADetector::ComputePSA ( )

Perform Pulse Shape Analysis on all signals.

Definition at line 455 of file KVFAZIADetector.cpp.

◆ Copy()

void KVFAZIADetector::Copy ( TObject obj) const
override

This method copies the current state of 'this' object into 'obj' You should add here any member variables, for example: (supposing a member variable KVFAZIADetector::fToto) CastedObj.fToto = fToto; or CastedObj.SetToto( GetToto() );

Definition at line 89 of file KVFAZIADetector.cpp.

◆ Fired()

Bool_t KVFAZIADetector::Fired ( Option_t opt = "any") const
override

Returns kTRUE if detector was hit (fired) in an event

The test is made on charge signals of the detectors if one of them return kTRUE to KVSignal::IsFired() method KVDetector::Fired() return kTRUE if not return kFALSE and the detector will not be considered in following analysis except if one detector after it has been fired

If the detector is in "simulation mode", i.e. if SetSimMode(kTRUE) has been called, this method returns kTRUE if the calculated energy loss in the active layer is > 0.

Definition at line 292 of file KVFAZIADetector.cpp.

◆ GetBlockNumber()

Int_t KVFAZIADetector::GetBlockNumber ( ) const
inline

Definition at line 110 of file KVFAZIADetector.h.

◆ GetDetTag()

Int_t KVFAZIADetector::GetDetTag ( ) const
inline

Definition at line 178 of file KVFAZIADetector.h.

◆ GetGTTag()

Int_t KVFAZIADetector::GetGTTag ( ) const
inline

Definition at line 182 of file KVFAZIADetector.h.

◆ GetIdentifier()

Int_t KVFAZIADetector::GetIdentifier ( ) const
inline

Return the identifier of the detector. This is one of KVFAZIADetector::kSI1 KVFAZIADetector::kSI2 KVFAZIADetector::kCSI KVFAZIADetector::kOTHER

Definition at line 100 of file KVFAZIADetector.h.

◆ GetIndex()

Int_t KVFAZIADetector::GetIndex ( ) const
inlineoverride

Return index of detector, defined as 100*block+10*quartet+telescope

Definition at line 114 of file KVFAZIADetector.h.

◆ GetListOfSignals()

const KVSeqCollection * KVFAZIADetector::GetListOfSignals ( ) const

Definition at line 445 of file KVFAZIADetector.cpp.

◆ GetNewName()

const Char_t * KVFAZIADetector::GetNewName ( KVString  oldname)
static

Translate an old-style FAZIA detector name (e.g. "SI1-T1-Q2-B001") to the new format ("SI1-121")

Definition at line 244 of file KVFAZIADetector.cpp.

◆ GetNumberOfSignals()

Int_t KVFAZIADetector::GetNumberOfSignals ( ) const

Definition at line 436 of file KVFAZIADetector.cpp.

◆ GetQuartetNumber()

Int_t KVFAZIADetector::GetQuartetNumber ( ) const
inline

Definition at line 127 of file KVFAZIADetector.h.

◆ GetSetupParameter()

Double_t KVFAZIADetector::GetSetupParameter ( const Char_t parname)

Definition at line 37 of file KVFAZIADetector.cpp.

◆ GetSignal() [1/2]

KVSignal * KVFAZIADetector::GetSignal ( const Char_t name) const

Access detector signal by name, i.e. as in FAZIA raw data e.g. "QL1-231"

Definition at line 399 of file KVFAZIADetector.cpp.

◆ GetSignal() [2/2]

KVSignal * KVFAZIADetector::GetSignal ( Int_t  idx) const

Access signal with given index in list of detector's signals 0 <= idx < KVFAZIADetector::GetNumberOfSignals()

Definition at line 423 of file KVFAZIADetector.cpp.

◆ GetSignalByType()

KVSignal * KVFAZIADetector::GetSignalByType ( const Char_t type) const

Access detector signal of given type: "I1", "I2", "Q2", "Q3", "QH1", "QL1".

Definition at line 411 of file KVFAZIADetector.cpp.

◆ GetTelescopeNumber()

Int_t KVFAZIADetector::GetTelescopeNumber ( ) const
inline

Definition at line 131 of file KVFAZIADetector.h.

◆ HasSignal()

Bool_t KVFAZIADetector::HasSignal ( ) const

Returns kTRUE if detector has at least 1 associated signal.

Definition at line 387 of file KVFAZIADetector.cpp.

◆ init()

void KVFAZIADetector::init ( void  )
private

default initialisations

Definition at line 19 of file KVFAZIADetector.cpp.

◆ IsRutherford()

Bool_t KVFAZIADetector::IsRutherford ( ) const
inline

Returns kTRUE if detector is part of elastic scattering monitor telescope

Definition at line 121 of file KVFAZIADetector.h.

◆ SetBaseLine()

KVDetectorSignal * KVFAZIADetector::SetBaseLine ( int  sigid,
Float_t  baseline 
)

Set signal baseline computed inside the FPGA. Returns address of the signal which was set.

Definition at line 503 of file KVFAZIADetector.cpp.

◆ SetDetTag()

void KVFAZIADetector::SetDetTag ( Int_t  t)
inline

Definition at line 186 of file KVFAZIADetector.h.

◆ SetFPGAEnergy()

KVDetectorSignal * KVFAZIADetector::SetFPGAEnergy ( int  sigid,
Int_t  idx,
Double_t  energy 
)

Set FPGA energy value in appropriate KVDetectorSignal of detector and set its state to 'fired'. Returns address of the signal which was set.

Definition at line 471 of file KVFAZIADetector.cpp.

◆ SetGTTag()

void KVFAZIADetector::SetGTTag ( Int_t  t)
inline

Definition at line 190 of file KVFAZIADetector.h.

◆ SetName()

void KVFAZIADetector::SetName ( const char *  name)
override

Definition at line 119 of file KVFAZIADetector.cpp.

◆ SetProperties()

Bool_t KVFAZIADetector::SetProperties ( )
private

detector name are assumed to be defined as label-xxx where xxx is computed as follow : 100*block number+10*quartet number+telescope number and label can be SI1, SI2 or CSI For example SI1-123 is the Silicon Si1 of the block 1, the quartet 2 and the telescope 3

Definition at line 137 of file KVFAZIADetector.cpp.

◆ SetSignal()

void KVFAZIADetector::SetSignal ( TGraph signal,
const Char_t signal_name 
)

Copy waveform data from TGraph into the signal with the given name (QH1-345 etc.)

Then perform analysis of signal and set the values of the corresponding KVDetectorSignalValue objects

Definition at line 365 of file KVFAZIADetector.cpp.

Member Data Documentation

◆ fBlock

Int_t KVFAZIADetector::fBlock
private

Definition at line 53 of file KVFAZIADetector.h.

◆ fIdentifier

Int_t KVFAZIADetector::fIdentifier
private

SI1=0(kSI1) SI2=1(kSI2) CSI=2(kCSI)

Definition at line 56 of file KVFAZIADetector.h.

◆ fIndex

Int_t KVFAZIADetector::fIndex
private

100*block+10*quartet+telescope

Definition at line 57 of file KVFAZIADetector.h.

◆ fIsFiredFromSignals

Bool_t KVFAZIADetector::fIsFiredFromSignals
private

Definition at line 65 of file KVFAZIADetector.h.

◆ fIsRutherford

Bool_t KVFAZIADetector::fIsRutherford
private

Definition at line 58 of file KVFAZIADetector.h.

◆ fQ2Threshold

Double_t KVFAZIADetector::fQ2Threshold
private

Definition at line 62 of file KVFAZIADetector.h.

◆ fQ3Threshold

Double_t KVFAZIADetector::fQ3Threshold
private

Definition at line 63 of file KVFAZIADetector.h.

◆ fQH1Threshold

Double_t KVFAZIADetector::fQH1Threshold
private

thresholds defined for this detector

Definition at line 61 of file KVFAZIADetector.h.

◆ fQuartet

Int_t KVFAZIADetector::fQuartet
private

Definition at line 54 of file KVFAZIADetector.h.

◆ fSignals

KVUniqueNameList KVFAZIADetector::fSignals
private

list of electronics signal (current, charge, etc... )

Definition at line 51 of file KVFAZIADetector.h.

◆ fTelescope

Int_t KVFAZIADetector::fTelescope
private

Definition at line 55 of file KVFAZIADetector.h.