File indexing completed on 2025-08-06 08:18:09
0001
0002
0003
0004
0005
0006
0007 #include "LaserClusterv2.h"
0008
0009 #include <cmath>
0010 #include <utility> // for swap
0011
0012 void LaserClusterv2::identify(std::ostream& os) const
0013 {
0014 os << "---LaserClusterv2--------------------" << std::endl;
0015
0016 os << " fit? " << m_fitMode;
0017 os << " (x,y,z) = (" << m_pos[0];
0018 os << ", " << m_pos[1] << ", ";
0019 os << m_pos[2] << ") cm";
0020
0021 os << " adc = " << getAdc() << std::endl;
0022
0023 os << std::endl;
0024 os << "-----------------------------------------------" << std::endl;
0025
0026 return;
0027 }
0028
0029 int LaserClusterv2::isValid() const
0030 {
0031 if(std::isnan(getX()))
0032 {
0033 return 0;
0034 }
0035 if(std::isnan(getY()))
0036 {
0037 return 0;
0038 }
0039 if(std::isnan(getZ()))
0040 {
0041 return 0;
0042 }
0043
0044 if (m_adc == 0xFFFFFFFF)
0045 {
0046 return 0;
0047 }
0048
0049 return 1;
0050 }
0051
0052 void LaserClusterv2::CopyFrom( const LaserCluster& source )
0053 {
0054
0055 if( this == &source )
0056 {
0057 return;
0058 }
0059
0060
0061 LaserCluster::CopyFrom( source );
0062
0063 setX( source.getX() );
0064 setY( source.getY() );
0065 setZ( source.getZ() );
0066 setFitMode( source.getFitMode() );
0067 setAdc( source.getAdc() );
0068 setLayer( source.getLayer() );
0069 setIPhi( source.getIPhi() );
0070 setIT( source.getIT() );
0071 setNhits( source.getNhits() );
0072 setNLayers( source.getNLayers() );
0073 setNIPhi( source.getNIPhi() );
0074 setNIT( source.getNIT() );
0075 setSDLayer( source.getSDLayer() );
0076 setSDIPhi( source.getSDIPhi() );
0077 setSDIT( source.getSDIT() );
0078 setSDWeightedLayer( source.getSDWeightedLayer() );
0079 setSDWeightedIPhi( source.getSDWeightedIPhi() );
0080 setSDWeightedIT( source.getSDWeightedIT() );
0081
0082
0083 for(int i=0; i<(int)source.getNhits(); i++){
0084 addHit();
0085 setHitLayer(i, source.getHitLayer(i));
0086 setHitIPhi(i, source.getHitIPhi(i));
0087 setHitIT(i, source.getHitIT(i));
0088
0089 setHitX(i, source.getHitX(i));
0090 setHitY(i, source.getHitY(i));
0091 setHitZ(i, source.getHitZ(i));
0092 setHitAdc(i, source.getHitAdc(i));
0093 }
0094
0095
0096 }
0097