29 fShower(nullptr), fPreShower(nullptr), fMaxDx(0.0), fMaxDy(0.0),
36 Setup(
name,
"sh",
"ps", description, apparatus,
true );
41 const char* shower_name,
42 const char* preshower_name,
43 const char* description,
46 fShower(nullptr), fPreShower(nullptr), fMaxDx(0.0), fMaxDy(0.0),
53 Setup(
name, shower_name, preshower_name, description, apparatus,
false );
58 const char* shower_name,
59 const char* preshower_name,
60 const char* description,
66 static const char*
const here =
"Setup()";
67 static const char*
const message =
68 "Must construct %s detector with valid name! Object construction failed.";
73 if( !shower_name || !*shower_name ) {
78 if( !preshower_name || !*preshower_name ) {
86 sname = string(
name) +
"." + shower_name;
87 psname = string(
name) +
"." + preshower_name;
90 psname = preshower_name;
93 if( !description || !*description ) {
94 description =
"Total shower counter";
97 string desc(description), sdesc(desc), psdesc(desc);
98 sdesc.append(
" shower subdetector" );
99 psdesc.append(
" preshower subdetector");
163 DBRequest request[] = {
164 {
"max_dxdy", dxdy,
kDouble, 2 },
187 {
"e",
"Energy (MeV) of largest cluster",
"fE" },
188 {
"id",
"ID of Psh&Sh coincidence (1==good)",
"fID" },
Option_t Option_t TPoint TPoint const char mode
static const char *const here
static Int_t LoadDB(FILE *file, const TDatime &date, const DBRequest *request, const char *prefix, Int_t search=0, const char *here="THaAnalysisObject::LoadDB")
static Int_t DefineVarsFromList(const void *list, EType type, EMode mode, const char *def_prefix, const TObject *obj, const char *prefix, const char *here, const char *comment_subst="")
virtual const char * Here(const char *) const
virtual FILE * OpenFile(const TDatime &date)
virtual Int_t Decode(const THaEvData &)
virtual void SetApparatus(THaApparatus *)
virtual Int_t FineProcess(TClonesArray &tracks)
virtual Int_t CoarseProcess(TClonesArray &tracks)
virtual Int_t ReadDatabase(const TDatime &date)
virtual void Clear(Option_t *="")
virtual Int_t DefineVariables(EMode mode=kDefine)
virtual Int_t Decode(const THaEvData &)
virtual Int_t FineProcess(TClonesArray &tracks)
void Setup(const char *name, const char *desc, const char *shnam, const char *psnam, THaApparatus *app, bool mode)
virtual void SetApparatus(THaApparatus *)
virtual Int_t CoarseProcess(TClonesArray &tracks)
THaTotalShower(const char *name, const char *description="", THaApparatus *a=nullptr)
virtual ~THaTotalShower()
virtual void SetTitle(const char *title="")
void Clear(Option_t *option="") override
R__ALWAYS_INLINE Bool_t IsZombie() const
virtual void Error(const char *method, const char *msgfmt,...) const