def calculate_integral(self, T1, T2, method):
if method == PERRY151:<EOL><INDENT>H2 = (self.PERRY151_const*T2 + <NUM_LIT:0.5>*self.PERRY151_lin*T2**<NUM_LIT:2> <EOL>- self.PERRY151_quadinv/T2 + self.PERRY151_quad*T2**<NUM_LIT:3>/<NUM_LIT>)<EOL>H1 = (self.PERRY151_const*T1 + <NUM_LIT:0.5>*self.PERRY151_lin*T1**<NUM_LIT:2> <EOL>- self.PERRY151_quadinv/T1 + self.PERRY151_quad*T1**<NUM_LIT:3>/<NUM_LIT>)<EOL>return (H2-H1)*calorie<EOL><DEDENT>elif method == CRCSTD:<EOL><INDENT>return (T2-T1)*self.CRCSTD_Cp<EOL><DEDENT>elif method == LASTOVKA_S:<EOL><INDENT>dH = (Lastovka_solid_integral(T2, self.similarity_variable)<EOL>- Lastovka_solid_integral(T1, self.similarity_variable))<EOL>return property_mass_to_molar(dH, self.MW)<EOL><DEDENT>elif method in self.tabular_data:<EOL><INDENT>return float(quad(self.calculate, T1, T2, args=(method))[<NUM_LIT:0>])<EOL><DEDENT>else:<EOL><INDENT>raise Exception('<STR_LIT>')<EOL><DEDENT>
r'''Method to calculate the integral of a property with respect to
        temperature, using a specified method. Implements the analytical
        integrals of all available methods except for tabular data.

        Parameters
        ----------
        T1 : float
            Lower limit of integration, [K]
        T2 : float
            Upper limit of integration, [K]
        method : str
            Method for which to find the integral

        Returns
        -------
        integral : float
            Calculated integral of the property over the given range, 
            [`units*K`]