Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:17:58

0001 // $Id: $
0002 
0003 /*!
0004  * \file PHFieldConfig_v1.h
0005  * \brief
0006  * \author Jin Huang <jhuang@bnl.gov>
0007  * \version $Revision:   $
0008  * \date $Date: $
0009  */
0010 
0011 #ifndef PHFIELD_PHFIELDCONFIGV1_H
0012 #define PHFIELD_PHFIELDCONFIGV1_H
0013 
0014 #include "PHFieldConfig.h"
0015 
0016 #include <iostream>
0017 #include <string>
0018 
0019 class PHObject;
0020 
0021 /*!
0022  * \brief PHFieldConfigv1 implements field configuration information for input a field map file */
0023 class PHFieldConfigv1 : public PHFieldConfig
0024 {
0025  public:
0026   PHFieldConfigv1(
0027       FieldConfigTypes field_config,
0028       const std::string& filename,
0029       double magfield_rescale = 1.);
0030 
0031   //! default constructor for ROOT file IO
0032   PHFieldConfigv1()
0033     : PHFieldConfigv1(kFieldInvalid, "INVALID FILE")
0034   {
0035   }
0036 
0037   ~PHFieldConfigv1() override {}
0038 
0039   /// Virtual copy constructor.
0040   PHObject* CloneMe() const override { return new PHFieldConfigv1(*this); }
0041 
0042   /** identify Function from PHObject
0043    @param os Output Stream
0044    */
0045   void
0046   identify(std::ostream& os = std::cout) const override;
0047 
0048   /// Clear Content
0049   void Reset() override {}
0050 
0051   /// isValid returns non zero if object contains vailid data
0052   int isValid() const override;
0053 
0054   FieldConfigTypes get_field_config() const override
0055   {
0056     return field_config_;
0057   }
0058   void set_field_config(FieldConfigTypes fieldConfig) override
0059   {
0060     field_config_ = fieldConfig;
0061   }
0062 
0063   const std::string& get_filename() const override
0064   {
0065     return filename_;
0066   }
0067 
0068   void set_filename(const std::string& filename) override
0069   {
0070     filename_ = filename;
0071   }
0072 
0073   double get_magfield_rescale() const override
0074   {
0075     return magfield_rescale_;
0076   }
0077 
0078   void set_magfield_rescale(double magfieldRescale) override
0079   {
0080     magfield_rescale_ = magfieldRescale;
0081   }
0082 
0083   //! equal to operator, to base class
0084   bool operator == (const PHFieldConfig& ) const override;
0085 
0086  protected:
0087   FieldConfigTypes field_config_;
0088   std::string filename_;
0089   double magfield_rescale_;
0090 
0091   ClassDefOverride(PHFieldConfigv1, 3)
0092 };
0093 
0094 #endif