Skip to content
Snippets Groups Projects
Commit 79eb68d2 authored by Jure Bericic's avatar Jure Bericic Committed by Stephen A. Wood
Browse files

Added dummy spectrometer class.

Dummy spectrometer class.
Added a dummy spectrometer class to ease the construction of teststands for single detectors.
parent 6104d708
No related branches found
No related tags found
No related merge requests found
......@@ -32,9 +32,10 @@ SRC = src/THcInterface.cxx src/THcParmList.cxx src/THcAnalyzer.cxx \
src/THcRasterRawHit.cxx \
src/THcScalerEvtHandler.cxx \
src/THcHodoEff.cxx \
src/THcTrigApp.cxx src/THcTrigDet.cxx src/THcTrigRawHit.cxx
src/THcTrigApp.cxx src/THcTrigDet.cxx src/THcTrigRawHit.cxx \
src/THcDummySpectrometer.cxx
# Name of your package.
# Name of your package.
# The shared library that will be built will get the name lib$(PACKAGE).so
PACKAGE = HallC
......@@ -101,8 +102,8 @@ INCLUDES = $(ROOTCFLAGS) $(addprefix -I, $(INCDIRS) )
USERLIB = lib$(PACKAGE).so
USERDICT = $(PACKAGE)Dict
LIBS =
GLIBS =
LIBS =
GLIBS =
ifeq ($(ARCH),solarisCC5)
# Solaris CC 5.0
......@@ -148,8 +149,8 @@ ifdef WITH_DEBUG
CXXFLAGS += -DWITH_DEBUG
endif
CCDBLIBS =
CCDBFLAGS =
CCDBLIBS =
CCDBFLAGS =
ifdef CCDB_HOME
CCDBLIBS += -L$(CCDB_HOME)/lib -lccdb
CCDBFLAGS += -I$(CCDB_HOME)/include -DWITH_CCDB
......@@ -171,7 +172,7 @@ DISTFILE = $(PKG).tar.gz
#------------------------------------------------------------------------------
OBJ = $(SRC:.cxx=.o)
RCHDR = $(SRC:.cxx=.h) src/THcGlobals.h
HDR = $(SRC:.cxx=.h)
HDR = $(SRC:.cxx=.h)
DEP = $(SRC:.cxx=.d) src/main.d
OBJS = $(OBJ) $(USERDICT).o
HDR_COMPILEDATA = $(ANALYZER)/src/ha_compiledata.h
......@@ -193,7 +194,7 @@ endif
src/THcInterface.d: $(HDR_COMPILEDATA)
hcana: src/main.o $(LIBDC) $(LIBHALLA) $(USERLIB)
hcana: src/main.o $(LIBDC) $(LIBHALLA) $(USERLIB)
$(LD) $(LDFLAGS) $< -lHallC $(HALLALIBS) $(EVIOLIB) -L. $(CCDBLIBS) \
$(GLIBS) -o $@
......@@ -202,7 +203,7 @@ $(USERLIB): $(HDR) $(OBJS)
@echo "$@ done"
$(HDR_COMPILEDATA) $(LIBHALLA) $(LIBDC): $(ANALYZER)/Makefile
@echo "Building Podd"
@echo "Building Podd"
@cd $(ANALYZER) ; export PODD_EXTRA_DEFINES=-DHALLC_MODS ; make
$(USERDICT).cxx: $(RCHDR) $(HDR) $(LINKDEF)
......
......@@ -11,20 +11,21 @@ Import ('pbaseenv')
roothcdict = pbaseenv.subst('$HC_DIR')+'/HallCDict.C'
roothcobj = pbaseenv.subst('$HC_SRC')+'/HallCDict.so'
hcheaders = Split("""
src/THcInterface.h src/THcParmList.h src/THcAnalyzer.h src/THcHallCSpectrometer.h
src/THcDetectorMap.h src/THcRawHit.h src/THcHitList.h src/THcSignalHit.h src/THcHodoscope.h
src/THcScintillatorPlane.h src/THcRawHodoHit.h src/THcHodoHit.h
src/THcDC.h src/THcDriftChamberPlane.h
src/THcDriftChamber.h src/THcRawDCHit.h src/THcDCHit.h src/THcDCWire.h src/THcSpacePoint.h
src/THcDCLookupTTDConv.h src/THcDCTimeToDistConv.h src/THcShower.h src/THcShowerPlane.h
src/THcShowerArray.h src/THcShowerHit.h
src/THcRawShowerHit.h src/THcAerogel.h src/THcAerogelHit.h src/THcCherenkov.h src/THcCherenkovHit.h
src/THcGlobals.h src/THcDCTrack.h src/THcFormula.h
src/THcRaster.h src/THcRasteredBeam.h src/THcRasterRawHit.h src/THcScalerEvtHandler.h
src/THcHodoEff.h
src/THcTrigApp.h src/THcTrigDet.h src/THcTrigRawHit.h
src/HallC_LinkDef.h
""")
src/THcInterface.h src/THcParmList.h src/THcAnalyzer.h src/THcHallCSpectrometer.h
src/THcDetectorMap.h src/THcRawHit.h src/THcHitList.h src/THcSignalHit.h src/THcHodoscope.h
src/THcScintillatorPlane.h src/THcRawHodoHit.h src/THcHodoHit.h
src/THcDC.h src/THcDriftChamberPlane.h
src/THcDriftChamber.h src/THcRawDCHit.h src/THcDCHit.h src/THcDCWire.h src/THcSpacePoint.h
src/THcDCLookupTTDConv.h src/THcDCTimeToDistConv.h src/THcShower.h src/THcShowerPlane.h
src/THcShowerArray.h src/THcShowerHit.h
src/THcRawShowerHit.h src/THcAerogel.h src/THcAerogelHit.h src/THcCherenkov.h src/THcCherenkovHit.h
src/THcGlobals.h src/THcDCTrack.h src/THcFormula.h
src/THcRaster.h src/THcRasteredBeam.h src/THcRasterRawHit.h src/THcScalerEvtHandler.h
src/THcHodoEff.h
src/THcTrigApp.h src/THcTrigDet.h src/THcTrigRawHit.h
src/THcDummySpectrometer.h
src/HallC_LinkDef.h
""")
pbaseenv.RootCint(roothcdict,hcheaders)
pbaseenv.SharedObject(target = roothcobj, source = roothcdict)
......
......@@ -57,9 +57,9 @@
#pragma link C++ class THcRasterRawHit+;
#pragma link C++ class THcScalerEvtHandler+;
#pragma link C++ class THcHodoEff+;
#pragma link C++ class THcTrigApp+;
#pragma link C++ class THcTrigDet+;
#pragma link C++ class THcTrigRawHit+;
#pragma link C++ class THcDummySpectrometer+;
#endif
......@@ -7,27 +7,28 @@ import SCons.Util
Import('pbaseenv')
list = Split("""
THcInterface.cxx THcParmList.cxx THcAnalyzer.cxx \
THcHallCSpectrometer.cxx \
THcDetectorMap.cxx \
THcRawHit.cxx THcHitList.cxx \
THcSignalHit.cxx \
THcHodoscope.cxx THcScintillatorPlane.cxx \
THcRawHodoHit.cxx THcHodoHit.cxx \
THcDC.cxx THcDriftChamberPlane.cxx \
THcDriftChamber.cxx \
THcRawDCHit.cxx THcDCHit.cxx \
THcDCWire.cxx \
THcSpacePoint.cxx THcDCTrack.cxx \
THcDCLookupTTDConv.cxx THcDCTimeToDistConv.cxx \
THcShower.cxx THcShowerPlane.cxx THcShowerArray.cxx \
THcInterface.cxx THcParmList.cxx THcAnalyzer.cxx
THcHallCSpectrometer.cxx
THcDetectorMap.cxx
THcRawHit.cxx THcHitList.cxx
THcSignalHit.cxx
THcHodoscope.cxx THcScintillatorPlane.cxx
THcRawHodoHit.cxx THcHodoHit.cxx
THcDC.cxx THcDriftChamberPlane.cxx
THcDriftChamber.cxx
THcRawDCHit.cxx THcDCHit.cxx
THcDCWire.cxx
THcSpacePoint.cxx THcDCTrack.cxx
THcDCLookupTTDConv.cxx THcDCTimeToDistConv.cxx
THcShower.cxx THcShowerPlane.cxx THcShowerArray.cxx
THcRawShowerHit.cxx THcShowerHit.cxx
THcAerogel.cxx THcAerogelHit.cxx \
THcCherenkov.cxx THcCherenkovHit.cxx \
THcFormula.cxx \
THcRaster.cxx THcRasteredBeam.cxx THcRasterRawHit.cxx \
THcScalerEvtHandler.cxx \
THcAerogel.cxx THcAerogelHit.cxx
THcCherenkov.cxx THcCherenkovHit.cxx
THcFormula.cxx
THcRaster.cxx THcRasteredBeam.cxx THcRasterRawHit.cxx
THcScalerEvtHandler.cxx
THcTrigApp.cxx THcTrigDet.cxx THcTrigRawHit.cxx
THcDummySpectrometer.cxx
THcHodoEff.cxx
""")
......
/**
\class THcDummySpectrometer
\ingroup Base
\brief A dummy spectrometer used for testing detectors.
This class behaves as a spectrometer apparatus in that it holds detector
classes, but it does no reconstruction. It is intended to provide an elegant
way to setup a teststand for a detector or a set of detectors, without
requiring some "needed" detectors or parameters.
*/
/**
\fn THcDummySpectrometer::THcDummySpectrometer(const char* name, const char* description)
\brief A constructor.
\param[in] name Name of the apparatus. Is typically "H", "P" or "S" for
HMS, SHMS and SOS, respectively.
\param[in] description Description of the apparatus.
*/
/**
\fn virtual THcDummySpectrometer::~THcDummySpectrometer()
\brief A destructor.
*/
/**
\fn Int_t THcDummySpectrometer::Reconstruct()
\brief Does nothing and returns 0.
This function is usually responsible for reconstructing the event from the
detectors in the spectrometer. Since this is a dummy apparatus, we have a dummy
reconstruction.
*/
/**
\fn std::string THcDummySpectrometer::GetKwPrefix()
\brief Returns prefix used for parameters in `param` files.
All the parameters read by this apparatus are prefixed with the returned string.
*/
#include "THcDummySpectrometer.h"
#include "TDatime.h"
#include "THcGlobals.h"
#include "THcParmList.h"
THcDummySpectrometer::THcDummySpectrometer(
const char* name, const char* description
) :
THaApparatus(name, description),
fKwPrefix("")
{
// Construct the kwPrefix here. Better place would be in `Setup` method.
TString kwPrefix = name;
kwPrefix.ToUpper();
fKwPrefix = kwPrefix;
}
THcDummySpectrometer::~THcDummySpectrometer() {}
Int_t THcDummySpectrometer::Reconstruct() {
// Don't need reconstruction here.
return 0;
}
TString THcDummySpectrometer::GetKwPrefix() {
return fKwPrefix;
}
Int_t THcDummySpectrometer::ReadRunDatabase(const TDatime& date) {
return kOK;
}
Int_t THcDummySpectrometer::ReadDatabase(const TDatime& date) {
return kOK;
}
Int_t THcDummySpectrometer::DefineVariables(THaAnalysisObject::EMode mode) {
if (mode == kDefine && fIsSetup) return kOK;
fIsSetup = (mode == kDefine);
std::vector<RVarDef> vars;
vars.push_back({0});
return DefineVarsFromList(vars.data(), mode);
}
THcDummySpectrometer::THcDummySpectrometer() {}
ClassImp(THcDummySpectrometer)
#ifndef ROOT_THcDummySpectrometer
#define ROOT_THcDummySpectrometer
#include "TString.h"
#include "THaAnalysisObject.h"
#include "THaApparatus.h"
class TDatime;
class THcDummySpectrometer : public THaApparatus {
public:
THcDummySpectrometer(const char* name, const char* description);
virtual ~THcDummySpectrometer();
virtual Int_t Reconstruct();
TString GetKwPrefix();
protected:
virtual Int_t ReadRunDatabase(const TDatime& date);
virtual Int_t ReadDatabase(const TDatime& date);
virtual Int_t DefineVariables(EMode mode=kDefine);
TString fKwPrefix;
private:
THcDummySpectrometer();
ClassDef(THcDummySpectrometer, 0);
};
#endif // ROOT_THcDummySpectrometer
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment