8 #include "KVIDGChIoSi.h"
9 #include "KVIDZALine.h"
10 #include "KVIDCutLine.h"
12 #include "KVSilicon.h"
16 #include "KVIdentificationResult.h"
17 #include "KVIDTelescope.h"
48 void KVIDGChIoSi::init()
53 fBragg = fPunch = fSeuil = fEmaxSi = 0;
63 KVIDGChIoSi::~KVIDGChIoSi()
102 if (rejected_by) *rejected_by = fSeuil->
GetName();
111 if (rejected_by) *rejected_by = fEmaxSi->
GetName();
157 void KVIDGChIoSi::BackwardsCompatibilityFix()
167 KVIDZAGrid::BackwardsCompatibilityFix();
171 "This fix no longer works correctly. Dummy ID telescopes will be associated with this grid. There will be problems.");
177 while (!Rings.End()) {
180 while (!Modules.End()) {
183 id->SetName(
Form(
"CI_SI_%02d%02d", r, m));
187 WriteParameterListOfIDTelescopes();
195 if (fSeuil)((
KVIDCutLine*)fSeuil)->SetAcceptedDirection(
"right");
196 if (fBragg)((
KVIDCutLine*)fBragg)->SetAcceptedDirection(
"right");
197 if (fPunch)((
KVIDCutLine*)fPunch)->SetAcceptedDirection(
"above");
198 if (fEmaxSi)((
KVIDCutLine*)fEmaxSi)->SetAcceptedDirection(
"left");
235 if (fBragg && fBragg->
WhereAmI(
x,
y,
"left")) {
237 idr->
SetComment(
"Point to identify below Bragg curve. Z given is a Zmin");
241 if (fPunch && fPunch->
WhereAmI(
x,
y,
"below")) {
243 idr->
SetComment(
"warning: point below punch-through line");
249 if (fBragg && fBragg->
WhereAmI(
x,
y,
"left")) {
251 idr->
SetComment(
"Point to identify below Bragg curve. Z given is a Zmin");
char * Form(const char *fmt,...)
Line in ID grid used to delimit regions where no identification is possible.
Identification grids for ChIo-Si telescopes of INDRA.
void Initialize() override
KVIDGChIoSi()
Default constructor.
void Identify(Double_t x, Double_t y, KVIdentificationResult *) const override
Bool_t IsIdentifiable(Double_t x, Double_t y, TString *rejected_by=nullptr) const override
void SetVarY(const char *v) override
KVIDentifier * GetCut(const Char_t *name) const
void SetVarX(const char *v) override
void AddIDTelescope(const TString &t)
const KVNameValueList * GetParameters() const
void SetPattern(TString pattern)
virtual void SetOnlyZId(Bool_t yes=kTRUE)
Base class for lines/cuts used for particle identification in 2D data maps.
Bool_t WhereAmI(Double_t px, Double_t py, Option_t *opt) const
Base class for all detectors or associations of detectors in array which can identify charged particl...
void Initialize() override
void Identify(Double_t x, Double_t y, KVIdentificationResult *) const override
Full result of one attempted particle identification.
Bool_t IDOK
general quality of identification, =kTRUE if acceptable identification made
void SetComment(const Char_t *c)
Int_t IDquality
specific quality code returned by identification procedure
void RemoveParameter(const Char_t *name)
Strings used to represent a set of ranges of values.
const char * GetName() const override
void Warning(UserClass p, const char *location, const char *va_(fmt),...)