4 #include "KVFAZIADetector.h"
5 #include "KVIDTelescope.h"
178 Info(
"SetProperties",
"Unkown format for the detector %s",
GetName());
187 lsignals =
"QH1,I1,QL1";
189 else if (!strcmp(
GetLabel(),
"SI2")) {
192 else if (!strcmp(
GetLabel(),
"CSI")) {
194 dsigs +=
",Q3.FastAmplitude,Q3.FastFPGAEnergy";
201 KVString sigtypes =
"Amplitude,RawAmplitude,FPGAEnergy,RiseTime,BaseLine,SigmaBaseLine";
203 while (!lsignals.
End()) {
206 while (!sigtypes.
End()) {
208 if (sig.
BeginsWith(
"I") && (stype ==
"FPGAEnergy" || stype ==
"RiseTime"))
continue;
209 if (sig ==
"QL1" && stype ==
"FPGAEnergy")
continue;
218 while (!lsignals.
End()) {
248 if(
type==
"QH1.FPGAEnergy"
249 ||
type==
"I1.Amplitude"
250 ||
type==
"QL1.Amplitude"
256 if(
type==
"Q2.FPGAEnergy")
261 if(
type==
"Q3.FastFPGAEnergy"
262 ||
type==
"Q3.FPGAEnergy"
284 if (!oldname.
End()) {
285 lab = oldname.
Next();
287 if (!oldname.
End()) {
288 tmp = oldname.
Next();
292 if (!oldname.
End()) {
293 tmp = oldname.
Next();
297 if (!oldname.
End()) {
298 tmp = oldname.
Next();
303 newname.
Form(
"%s-%d", lab.
Data(), bb * 100 + qq * 10 +
tt);
304 return newname.
Data();
405 Warning(
"Fired",
"%s : No signal attached to this detector ...",
GetName());
430 Warning(
"SetSignal",
"%s : No signal of name #%s# is available",
GetName(), signal_name);
518 while ((sig = (
KVSignal*)nexts())) {
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
char * Form(const char *fmt,...)
void SetLabel(const Char_t *lab)
const Char_t * GetLabel() const
void Warning(const char *method, const char *msgfmt,...) const override
ValType GetDataSetEnv(const Char_t *type, const ValType &defval={}) const
Base class for output signal data produced by a detector.
Base class for detector geometry description, interface to energy-loss calculations.
virtual Bool_t IsSimMode() const
KVMaterial * GetActiveLayer() const override
void AddDetectorSignal(KVDetectorSignal *ds)
Bool_t HasDetectorSignal(const KVString &type) const
Double_t GetEnergyLoss() const override
void Copy(TObject &obj) const override
Bool_t AddDetectorSignalExpression(const KVString &type, const KVString &_expr)
Double_t GetDetectorSignalValue(const KVString &type, const KVNameValueList ¶ms="") const
virtual Bool_t IsDetecting() const
void Clear(Option_t *opt="") override
Base class for FAZIA detectors.
Bool_t fIsFiredFromSignals
KVSignal * GetSignal(const Char_t *name) const
Bool_t Fired(Option_t *opt="any") const override
const KVSeqCollection * GetListOfSignals() const
Double_t fQH1Threshold
thresholds defined for this detector
virtual ~KVFAZIADetector()
Destructor.
KVUniqueNameList fSignals
list of electronics signal (current, charge, etc... )
void Clear(Option_t *opt="") override
If opt="N" we do not reset any raw data, signals, etc.
void SetSignal(TGraph *signal, const Char_t *signal_name)
KVFAZIADetector()
Default constructor.
Int_t GetIdentifier() const
Bool_t HasSignal() const
Returns kTRUE if detector has at least 1 associated signal.
void SetPSAResults(const KVSignal *sig)
void SetName(const char *name) override
KVSignal * GetSignalByType(const Char_t *type) const
Double_t GetSetupParameter(const Char_t *parname)
Bool_t use_signal_for_raw_data_tree(const TString &) const override
Restrict list of signals which are used to fill raw data TTrees.
Int_t GetNumberOfSignals() const
void ComputePSA()
Perform Pulse Shape Analysis on all signals.
Int_t fIdentifier
SI1=0(kSI1) SI2=1(kSI2) CSI=2(kCSI)
static const Char_t * GetNewName(KVString oldname)
void Copy(TObject &obj) const override
void init()
default initialisations
Int_t fIndex
100*block+10*quartet+telescope
static KVFAZIASignal * MakeSignal(const char *sig_type)
void SetDetectorName(const Char_t *name)
void AddDetectorLabel(const Char_t *label)
KaliVeda extensions to ROOT collection classes.
void Execute(const char *method, const char *params, Int_t *error=0) override
TObject * FindObject(const char *name) const override
Int_t GetSize() const override
void Clear(Option_t *option="") override
TObject * At(Int_t idx) const override
virtual TObject * FindObjectByTitle(const Char_t *) const
Will return object with given title (value of TObject::GetTitle() method).
virtual Bool_t IsCharge() const
virtual void TreateSignal()
void SetData(Int_t nn, Double_t *xx, Double_t *yy)
operation on data arrays
virtual void LoadPSAParameters()
Bool_t IsFired()
ComputeBaseLine and ComputeEndLine methods have to be called before.
void SetType(const Char_t *type)
Bool_t PSAHasBeenComputed() const
virtual Double_t ComputeEndLine()
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
void Begin(TString delim) const
KVString Next(Bool_t strip_whitespace=kFALSE) const
void Add(TObject *obj) override
virtual Int_t GetEntries() const
virtual const char * GetValue(const char *name, const char *dflt) const
void SetName(const char *name="") override
const char * GetName() const override
virtual void SetName(const char *name)
virtual void Info(const char *method, const char *msgfmt,...) const
const char * Data() const
Bool_t BeginsWith(const char *s, ECaseCompare cmp=kExact) const
void Form(const char *fmt,...)
TString & ReplaceAll(const char *s1, const char *s2)