// -*- mode: c++ -*- // // $Id: BrSiRdoModule.h,v 1.5 2002/01/03 19:44:17 cholm Exp $ // #ifndef BRAT_BrSiRdoModule #define BRAT_BrSiRdoModule #ifndef ROOT_TH1 #include "TH1.h" #endif #ifndef ROOT_TH2 #include "TH2.h" #endif #ifndef BRAT_BrEventNode #include "BrEventNode.h" #endif #ifndef BRAT_BrMultRdoModule #include "BrMultRdoModule.h" #endif #ifndef BRAT_BrSiDig #include "BrSiDig.h" #endif #ifndef BRAT_BrRunInfoManager #include "BrRunInfoManager.h" #endif class BrSiRdoModule : public BrMultRdoModule { protected: Bool_t fUsePathLengthCor; virtual void CalibrateIndividual(BrSiDig* dig, BrMultRdo* rdo); virtual Double_t CalibratePulser(Double_t calAdc); virtual Double_t CalibrateArrayMultiplicity(); public: BrSiRdoModule() { fParameters = 0; fCalibration = 0; } BrSiRdoModule(const Char_t *name, const Char_t *title); virtual ~BrSiRdoModule() {} virtual void SetUsePathLengthCor(Bool_t use=kTRUE) { fUsePathLengthCor = kTRUE; } virtual void SetThresholdFactor(Float_t factor=5) { fThresholdFactor = factor; } virtual void SetSaturationChannel(Int_t channel=2000) { fSaturationChannel = channel; } virtual void Init(); virtual void Event(BrEventNode *, BrEventNode*); virtual void Print(Option_t* option="B") const; ClassDef(BrSiRdoModule, 0) // Si reduction module } ; #endif // // $Log: BrSiRdoModule.h,v $ // Revision 1.5 2002/01/03 19:44:17 cholm // Added method to set wether one should do path lengt correction or not. // Defualt is to do it. Also prepared the class to use the class BrTableNames // (or some other class, like BrDetectorList or something). // // Revision 1.4 2001/11/19 04:07:49 sanders // Revised rdo modules for 2001 si and tile calibrations. // // Revision 1.3 2001/10/29 21:01:21 cholm // Corrected a very bad mistake in the previous commit: A manager was // initialised in the module - BAD. Managers may not be initialised in // modules, only thier services may be used. // // Revision 1.2 2001/10/27 22:58:56 sanders // Modified files to allow for yr 2 calibration. The run number is // now being found using BrRunInfoManager // // Revision 1.1.1.1 2001/06/21 14:55:08 hagel // Initial revision of brat2 // // Revision 1.9 2001/05/31 01:45:02 cholm // Second rewamp of this directory. All RDO modules use the common // BrMultRdoModule, and they both write BrMultRdo Objects. Also introduced // ABC for Br[Tile|Si][Parameters|Calibration] since they have a lot in common, // and the code can be made more efficient this way. // // A possible further thing to do, is to make an ABC for the CentModules, and // the corresponding calibration modules, since they are very VERY similar. // However, the current module BrMultCentModule is in the way. Need to talk // to Steve about that. // // Revision 1.8 2001/05/23 12:28:07 cholm // Uses BrMultModule to obtain vertex // // Revision 1.7 2001/04/19 15:13:35 cholm // Added outlier correction method kHitCorrectopn // // Revision 1.6 2001/04/11 14:04:31 cholm // Fixed a few bug // // Revision 1.5 2001/04/06 19:52:13 cholm // This calls now has it's final form, more or less. All methods needed are // declared, so interface is done. However, there may be some extra // parameters in the future. // // Revision 1.7 2001/04/05 03:09:44 sanders // Restored brat complience to Si and Si Rdo modules // // Revision 1.6 2001/04/02 01:14:41 sanders // BrRdoMult and BrRdoModuleMult reinstated. These files develop the joint // Si+Si multiplicity. BrRdoModuleMult now gets it parameters from the // BrSiRdoModule and BrSiRdoModule classes and is a friend of these classes. // // Revision 1.5 2001/03/12 19:03:36 cholm // Revisted the si classes. Please note, that these are binary incompatible // with previous classes. These classes now includes (I believe) all that // Steve and Hiro recently added to thier working code. // // Revision 1.4 2001/02/09 00:11:29 cholm // Reorganised BrSiRdo and hence also BrSiRdoModule // // Revision 1.3 2001/02/08 15:10:50 cholm // BUmped class version of BrSiCent to 1 for persistency. // Added some static calibration varaibles to BrSiCentModule. // Minor bug fix to BrSiRdoModule. // // Revision 1.2 2001/02/08 00:13:33 cholm // Fixed bug that prevent HTML documentation generation. It seems ROOT // (pre 3) has some problem with declarations like // // Int_t fFubar[]; // An array // // in the class declarations. Fixed by putting explicit size, like // // Int_t fGood[12]; // // // Revision 1.1 2001/01/29 20:31:01 cholm // Split the class BrRdoModuleMult into two different classes, one for the // silicon, and one for the sis. Naming corresponds to naming scheme. // //