#ifndef BRAT_BrDetectorParamsBB #define BRAT_BrDetectorParamsBB // $Id: BrDetectorParamsBB.h,v 1.1.1.1 2001/06/21 14:55:00 hagel Exp $ /////////////////////////////////////////////////////////////////////// // // // BrDetectorParamsBB // // // // Parameters describing the physical properties of the BB slats. // // Some of these are presently simulation parameters others are // // relevant to both simulations and reconstruction. // // // /////////////////////////////////////////////////////////////////////// #ifndef ROOT_TNamed #include "TNamed.h" #endif #ifndef BRAT_BrDetectorParamsBase #include "BrDetectorParamsBase.h" #endif class BrDetectorParamsBB : public BrDetectorParamsBase{ public: BrDetectorParamsBB(); BrDetectorParamsBB(Char_t *name,Char_t *title); BrDetectorParamsBB(Char_t *name,Char_t *title,Char_t *filename); virtual ~BrDetectorParamsBB(); void ListParameters() const; void SetDefaultParams(); virtual Float_t GetAdcGain() const {return fAdcGain;} virtual Float_t GetSigmaAdc() const {return fSigmaAdc;} virtual Float_t GetSigmaTime() const {return fSigmaTime;} virtual Int_t GetNoLeftTubes() const {return fNoTubesLeft;} virtual Int_t GetNoRightTubes() const {return fNoTubesRight;} virtual Float_t GetTdcConv() const {return fTdcConv;} virtual Float_t GetTdcOffset() const {return fTdcOffset;} virtual Float_t GetAdcOffset() const {return fAdcOffset;} virtual Float_t GetUVTLength() const {return fUVTLength;} virtual Float_t GetSignalSpeed() const {return fSignalSpeed;} virtual Float_t GetNpePercm() const {return fNpePercm;} virtual Float_t GetThetaAtt() const {return fThetaAtt;} virtual Float_t GetThetaCut() const {return fThetaCut;} virtual Float_t GetQEBigTube() const { return fQEBigTube;} virtual Float_t GetQESmallTube() const { return fQESmallTube;} virtual Float_t GetEmissionGainBigTube() const { return fEmissionGainBigTube;} virtual Float_t GetEmissionGainSmallTube() const { return fEmissionGainSmallTube;} virtual void SetAdcGain(const Float_t adc){fAdcGain = adc;} virtual void SetAdcOffset(Float_t value){ fAdcOffset=value;} virtual void SetSigmaAdc(Float_t value ){ fSigmaAdc=value;} virtual void SetSigmaTime(Float_t value){ fSigmaTime=value;} virtual void SetNoLeftTubes(Int_t value){ fNoTubesLeft=value;} virtual void SetNoRightTubes(Int_t value){ fNoTubesRight=value;} virtual void SetTdcConv(Float_t value){ fTdcConv=value;} virtual void SetTdcOffset(Float_t value){ fTdcOffset=value;} virtual void SetEmissionGainBigTube(Float_t value) { fEmissionGainBigTube=value;} virtual void SetEmissionGainSmallTube(Float_t value) { fEmissionGainSmallTube=value;} virtual void SetUVTLength(Float_t value){ fUVTLength=value;} virtual void SetSignalSpeed(Float_t value){ fSignalSpeed=value;} virtual void SetNpePercm(Float_t value){ fNpePercm=value;} virtual void SetThetaAtt(Float_t value) { fThetaAtt=value;} virtual void SetThetaCut(Float_t value) { fThetaCut=value;} virtual void SetQEBigTube(Float_t value) { fQEBigTube=value;} virtual void SetQESmallTube(Float_t value){ fQESmallTube=value;} Int_t ConvertGeantModuleNo(Bool_t right, Int_t submodule); virtual Bool_t IsModuleBigTube(Bool_t Right, Int_t module); virtual void SetASCIIParameters(Char_t *line); private: // // Geometry // Int_t fNoTubesLeft; // Number of slats in BB Left Array Int_t fNoTubesRight; // Number of slats in BB Left Array // // Calibration & Simulation parameters (implies they should be database // and are needed for generation of simulated data. // Float_t fAdcGain; // Gain of Tube + ADC. (in channel per pe) Float_t fSigmaTime; // Intrinsic time-resolution Float_t fSigmaAdc; // Intrinsic pulse height resolution (on top of Pe stst) Float_t fTdcConv; // pico seconds per channel Float_t fTdcOffset; // Channel number for t0 Float_t fAdcOffset; // ADC pedestal value Float_t fUVTLength; // lenght of active Converted (cm). // // Simulation Parameters. Physical parameters and options // Not needed in analysis of data. // Float_t fQEBigTube; // Quantum effeciency Big tube. Float_t fQESmallTube; // Quantum effeciency Small tube. Float_t fEmissionGainBigTube; // Gain typical 4. Float_t fEmissionGainSmallTube; // Float_t fNpePercm; // Number of pe per cm ; statistics done on this // number Float_t fSignalSpeed; // Propagation time of pulse in radiator. Float_t fThetaAtt; // Attenuation in NPE vs theta particle Float_t fThetaCut; // Cutoff angle for attenuation. public: ClassDef(BrDetectorParamsBB, 1) // BRAHMS detector parameter class }; #endif ///////////////////////////////////////////////////////////////////// // // CVSLOG // // $Log: BrDetectorParamsBB.h,v $ // Revision 1.1.1.1 2001/06/21 14:55:00 hagel // Initial revision of brat2 // // Revision 1.11 2000/09/14 19:30:12 videbaek // Added parameters for better tube resolution estimate // // Revision 1.10 1999/11/30 22:21:08 videbaek // Added method to convert geant module no to real life module no of // beam beam counters. // // Revision 1.9 1999/03/07 00:00:42 hagel // // Revision 1.8 1999/01/21 23:23:20 hagel // 1. Changed convention for checking includes. Current convention is: // BRAT_Br...... eg BRAT_BrModule ala ROOT. // 2. Added CVS logs to .h files that didn't have them. // 3. Moved checking of include definition to first line for easier reading // 4. Put checks before all includes in the include files as per BRAT specifications // 5. Added BrGeantHeader to Geant Makefile // 6. All changes have been checked to compile on NT ala Cygnus // // Revision 1.7 1998/08/25 16:35:15 videbaek // Changed parameteer description // Added setter function // // Revision 1.6 1998/08/21 13:33:52 videbaek // improvements to algorithm. Consider theta // // Revision 1.5 1998/08/04 20:24:25 videbaek // Changed detector parameters // // Revision 1.4 1998/08/03 20:54:06 videbaek // Fix algorithms for bb // // Revision 1.3 1998/07/31 19:32:12 videbaek // Working version of BB digitize // // Revision 1.2 1998/07/27 16:26:56 videbaek // Stat on modifiing BB - not complete // // Revision 1.1 1998/07/02 19:40:34 videbaek // Preliminary version of BB // //