// ---------------------------------------------------------------------------- // $Id: LCDGetParameters.h,v 1.3 2001/06/23 16:13:51 toshi Exp $ // ---------------------------------------------------------------------------- // // $Log: LCDGetParameters.h,v $ // Revision 1.3 2001/06/23 16:13:51 toshi // Char_t* -> const Char_t* // // Revision 1.2 2001/06/19 16:55:31 toshi // Just add $ID: $ in the top of this file. // // #ifndef LCDGETPARAM_H #define LCDGETPARAM_H #include "TObject.h" #include "TString.h" #include "LCDDetectorVolume.h" class LCDGetParameters : public TObject { public: LCDGetParameters(); LCDGetParameters(FILE* parFile); // -----------< Getters >--------------------------------- Double_t GetMagneticField() {return m_Field;} // Magnetic Field Double_t GetIPSigmaX(){return m_ipSigmaX;} // Parameters for IP_X smear Double_t GetIPSigmaY(){return m_ipSigmaY;} // Parameters for IP_Y smear Double_t GetIPSigmaZ(){return m_ipSigmaZ;} // Parameters for IP_Z smear Int_t GetMinHit() {return m_minHit;} // Min. # of track hits cut Double_t GetPTMin() {return m_PtMin;} // Min. Pt cut Double_t GetPolarInner() {return m_PolarInner;} // Tracking Acceptance Double_t GetPolarOuter() {return m_PolarOuter;} // Tracking Acceptance // Parameters for Cluster smear Double_t GetCalEnergyEMA() {return m_CalEnergyEMA;} //CAL energy smear Double_t GetCalEnergyEMB() {return m_CalEnergyEMB;} //CAL energy smear Double_t GetCalEnergyHADA(){return m_CalEnergyHADA;} //CAL energy smear Double_t GetCalEnergyHADB(){return m_CalEnergyHADB;} //CAL energy smear Double_t GetCalTransEMA() {return m_CalTransEMA;} //CAL pos. smear Double_t GetCalTransEMB() {return m_CalTransEMB;} //CAL pos. smear Double_t GetCalTransHADA() {return m_CalTransHADA;} //CAL pos. smear Double_t GetCalTransHADB() {return m_CalTransHADB;} //CAL pos. smear Double_t GetEMMergeSize() {return m_EMMergeSize;}; // Cluster merging in FastMC Double_t GetEMMergeAngle() {return m_EMMergeAngle;}; // Cluster merging in FastMC Double_t GetHADMergeSize() {return m_HADMergeSize;}; // Cluster merging in FastMC Double_t GetHADMergeAngle(){return m_HADMergeAngle;}; // Cluster merging in FastMC // Parameters for Calorimeter geometries Double_t GetEMEnergyScale() {return m_EMEnergyScale;}; Double_t GetHADEnergyScale() {return m_HADEnergyScale;}; Double_t GetMUEnergyScale() {return m_MUEnergyScale;}; Double_t GetLUMEnergyScale() {return m_LUMEnergyScale;}; Double_t GetEMThetaSeg() {return m_EMThetaSeg;}; Double_t GetHADThetaSeg() {return m_HADThetaSeg;}; Double_t GetMUThetaSeg() {return m_MUThetaSeg;}; Double_t GetLUMThetaSeg() {return m_LUMThetaSeg;}; Double_t GetEMphiSeg() {return m_EMphiSeg;}; Double_t GetHADphiSeg() {return m_HADphiSeg;}; Double_t GetMUphiSeg() {return m_MUphiSeg;}; Double_t GetLUMphiSeg() {return m_LUMphiSeg;}; // Parameters for Detector geometries Int_t GetEMBarrelLayer() {return m_EMBarrelLayer;}; Int_t GetHADBarrelLayer() {return m_HADBarrelLayer;}; Int_t GetMUBarrelLayer() {return m_MUBarrelLayer;}; Double_t GetEMBarrelThick() {return m_EMBarrelThick;}; Double_t GetHADBarrelThick() {return m_HADBarrelThick;}; Double_t GetMUBarrelThick() {return m_MUBarrelThick;}; Double_t GetEMBarrelAbsThick() {return m_EMBarrelAbsThick;}; Double_t GetHADBarrelAbsThick(){return m_HADBarrelAbsThick;}; Double_t GetMUBarrelAbsThick() {return m_MUBarrelAbsThick;}; Double_t GetEMBarrelInnerR() {return m_EMBarrelInnerR;}; Double_t GetHADBarrelInnerR() {return m_HADBarrelInnerR;}; Double_t GetMUBarrelInnerR() {return m_MUBarrelInnerR;}; Double_t GetEMBarrelOuterR() {return m_EMBarrelOuterR;}; Double_t GetHADBarrelOuterR() {return m_HADBarrelOuterR;}; Double_t GetMUBarrelOuterR() {return m_MUBarrelOuterR;}; Double_t GetEMBarrelOuterZ() {return m_EMBarrelOuterZ;}; Double_t GetHADBarrelOuterZ() {return m_HADBarrelOuterZ;}; Double_t GetMUBarrelOuterZ() {return m_MUBarrelOuterZ;}; Double_t GetEMEndcapInnerZ() {return m_EMEndcapInnerZ;}; Double_t GetHADEndcapInnerZ() {return m_HADEndcapInnerZ;}; Double_t GetMUEndcapInnerZ() {return m_MUEndcapInnerZ;}; Double_t GetLUMEndcapInnerZ() {return m_LUMEndcapInnerZ;}; Int_t GetEMEndcapLayer() {return m_EMEndcapLayer;}; Int_t GetHADEndcapLayer() {return m_HADEndcapLayer;}; Int_t GetMUEndcapLayer() {return m_MUEndcapLayer;}; Int_t GetLUMEndcapLayer() {return m_LUMEndcapLayer;}; Double_t GetEMEndcapThick() {return m_EMEndcapThick;}; Double_t GetHADEndcapThick() {return m_HADEndcapThick;}; Double_t GetMUEndcapThick() {return m_MUEndcapThick;}; Double_t GetLUMEndcapThick() {return m_LUMEndcapThick;}; Double_t GetCoilInnerR() {return m_CoilInnerR;}; Double_t GetCoilOuterZ() {return m_CoilOuterZ;}; Double_t GetCoilThick() {return m_CoilThick;}; Double_t GetCoilIntLeng() {return m_CoilIntLeng;}; Double_t GetPipeOuter() {return m_PipeOuter;}; TString* GetDetectorName() {return &m_DetectorName;} TString* GetCoilPlace() {return &m_CoilPlace;} TString* GetEMBarrelAbsMat() {return &m_EMBarrelAbsMat;}; TString* GetHADBarrelAbsMat(){return &m_HADBarrelAbsMat;}; TString* GetMUBarrelAbsMat() {return &m_MUBarrelAbsMat;}; LCDDetectorVolume* GetDetectorVolumes(){return m_Volumes;} LCDDetectorVolume* GetInnerVolume(){return m_InnerVolume;} Int_t GetNVolumes(){return m_nVolumes;} // -----------< Setters >--------------------------------- void SetDetectorGeomFile(FILE*); void SetMagneticField(Double_t b) {m_Field = b;} // Magnetic Field void SetIPSigmaX(Double_t x){m_ipSigmaX = x;} // Parameters for IP_X smear void SetIPSigmaY(Double_t y){m_ipSigmaY = y;} // Parameters for IP_Y smear void SetIPSigmaZ(Double_t z){m_ipSigmaZ = z;} // Parameters for IP_Z smear void SetCalEnergyEMA(Double_t a) { m_CalEnergyEMA = a;} //CAL energy smear void SetCalEnergyEMB(Double_t a) { m_CalEnergyEMB = a;} //CAL energy smear void SetCalEnergyHADA(Double_t a){ m_CalEnergyHADA = a;} //CAL energy smear void SetCalEnergyHADB(Double_t a){ m_CalEnergyHADB = a;} //CAL energy smear void SetCalTransEMA(Double_t a) { m_CalTransEMA = a;} //CAL pos. smear void SetCalTransEMB(Double_t a) { m_CalTransEMB = a;} //CAL pos. smear void SetCalTransHADA(Double_t a) { m_CalTransHADA = a;} //CAL pos. smear void SetCalTransHADB(Double_t a) { m_CalTransHADB = a;} //CAL pos. smear void SetEMMergeSize(Double_t a) { m_EMMergeSize = a;}; // Cluster merging in FastMC void SetEMMergeAngle(Double_t a) { m_EMMergeAngle = a;}; // Cluster merging in FastMC void SetHADMergeSize(Double_t a) { m_HADMergeSize = a;}; // Cluster merging in FastMC void SetHADMergeAngle(Double_t a){ m_HADMergeAngle= a;}; // Cluster merging in FastMC void SetCoilinHAD() {m_CoilPlace = "CoilinHAD";} // HAD cal is out of Coil void SetCoiloutHAD(){m_CoilPlace = "CoiloutHAD";}// HAD cal is within Coil Int_t SetDetectorVolumes(); private: Double_t m_Field; // Magnetic field Double_t m_ipSigmaX; //Error of IP smear, X. Double_t m_ipSigmaY; //Error of IP smear, Y. Double_t m_ipSigmaZ; //Error of IP smear, Z. Int_t m_minHit; // min hit for track acceptance Double_t m_PtMin; // min momentum for track acceptance Double_t m_PolarInner; // polar angle acceptance for tracking barrel Double_t m_PolarOuter; // polar angle acceptance for tracking ec // For Cluster smearing Double_t m_CalEnergyEMA; Double_t m_CalEnergyEMB; Double_t m_CalEnergyHADA; Double_t m_CalEnergyHADB; Double_t m_CalTransEMA; Double_t m_CalTransEMB; Double_t m_CalTransHADA; Double_t m_CalTransHADB; Double_t m_EMMergeSize; // EM Merge size (= Moriel radius) Double_t m_EMMergeAngle; // EM Merge angle (= granularity) Double_t m_HADMergeSize; // HAD Merge size (= Moriel radius) Double_t m_HADMergeAngle; // HAD Merge angle (= granularity) Double_t m_EMEnergyScale; // EM emergy scale for sampling Double_t m_HADEnergyScale; // HAD emergy scale for sampling Double_t m_MUEnergyScale; // MU emergy scale for sampling Double_t m_LUMEnergyScale; // LUM emergy scale for sampling Double_t m_EMThetaSeg; // EM Theta segmentation Double_t m_HADThetaSeg; // HAD Theta segmentation Double_t m_MUThetaSeg; // MU Theta segmentation Double_t m_LUMThetaSeg; // ELU Theta segmentation Double_t m_EMphiSeg; // EM phi segmentation Double_t m_HADphiSeg; // HAD phi segmentation Double_t m_MUphiSeg; // MU phi segmentation Double_t m_LUMphiSeg; // LUM phi segmentation Double_t m_EMBarrelInnerR; Double_t m_HADBarrelInnerR; Double_t m_MUBarrelInnerR; Double_t m_EMBarrelOuterR; Double_t m_HADBarrelOuterR; Double_t m_MUBarrelOuterR; Double_t m_EMBarrelOuterZ; Double_t m_HADBarrelOuterZ; Double_t m_MUBarrelOuterZ; Int_t m_EMBarrelLayer; Int_t m_HADBarrelLayer; Int_t m_MUBarrelLayer; Double_t m_EMBarrelThick; Double_t m_HADBarrelThick; Double_t m_MUBarrelThick; Double_t m_EMBarrelAbsThick; Double_t m_HADBarrelAbsThick; Double_t m_MUBarrelAbsThick; Double_t m_EMEndcapInnerZ; Double_t m_HADEndcapInnerZ; Double_t m_MUEndcapInnerZ; Double_t m_LUMEndcapInnerZ; Int_t m_EMEndcapLayer; Int_t m_HADEndcapLayer; Int_t m_MUEndcapLayer; Int_t m_LUMEndcapLayer; Double_t m_EMEndcapThick; Double_t m_HADEndcapThick; Double_t m_MUEndcapThick; Double_t m_LUMEndcapThick; Double_t m_CoilInnerR; Double_t m_CoilOuterZ; Double_t m_CoilThick; Double_t m_CoilIntLeng; Double_t m_PipeOuter; TString m_DetectorName; // nickname for detector geometry TString m_CoilPlace; // Place of Coil (within/out of HAD CAL) TString m_EMBarrelAbsMat; // EM CAL Absorber Material TString m_HADBarrelAbsMat; // HAD CAL Absorber Material TString m_MUBarrelAbsMat; // MU detector Material //LCDDetectorVolume* pCur; LCDDetectorVolume* m_Volumes; // Array of detector volumes LCDDetectorVolume* m_InnerVolume; // Innermost volume about IP Int_t m_nVolumes; // Number of detector volumes in array public: ClassDef(LCDGetParameters,0) // Get recon parameters from a file }; #endif